Bagikan melalui


kNN vs ANN

Dua kategori utama algoritma pencarian vektor adalah k-Tetangga Terdekat (kNN) dan Perkiraan Tetangga Terdekat (ANN, tidak untuk dikacaukan dengan Artificial Neural Network atau Jaringan Neural Buatan). kNN tepat tetapi intensif secara komputasi, membuatnya kurang cocok untuk himpunan data besar. ASN, di sisi lain, menawarkan keseimbangan antara akurasi dan efisiensi, membuatnya lebih cocok untuk aplikasi skala besar.

Cara kerja kNN

  1. Vektorisasi: Setiap titik data dalam himpunan data diwakili sebagai vektor dalam ruang multi-dimensi.
  2. Perhitungan Jarak: Untuk mengklasifikasikan titik data baru (titik kueri), algoritma menghitung jarak antara titik kueri dan semua titik lain dalam himpunan data menggunakan fungsi jarak.
  3. Menemukan Tetangga: Algoritma mengidentifikasi titik data terdekat k (tetangga) ke titik kueri berdasarkan jarak terhitung. Nilai k (jumlah tetangga) sangat penting. K kecil dapat sensitif terhadap kebisingan, sementara k besar dapat memuluskan detail.
  4. Membuat Prediksi:
  • Klasifikasi: Untuk tugas klasifikasi, kNN menetapkan label kelas ke titik kueri yang paling umum di antara tetangga k. Pada dasarnya, itu melakukan "pemungutan suara mayoritas."
  • Regresi: Dalam tugas regresi, kNN memprediksi nilai pada titik kueri sebagai rata-rata (atau dalam beberapa kasus, rata-rata tertimbang) dari nilai-nilai tetangganya yang berjumlah k.

Cara kerja ANN

  1. Vektorisasi: Setiap titik data dalam himpunan data diwakili sebagai vektor dalam ruang multi-dimensi.
  2. Pengindeksan dan Struktur Data: Algoritma ANN menggunakan struktur data tingkat lanjut (misalnya, pohon KD, hash peka lokalitas, atau metode berbasis grafik) untuk mengindeks titik data, memungkinkan pencarian yang lebih cepat.
  3. Perhitungan Jarak: Alih-alih menghitung jarak yang tepat ke setiap titik, algoritma ANN menggunakan heuristik untuk dengan cepat mengidentifikasi wilayah ruang yang kemungkinan berisi tetangga terdekat.
  4. Menemukan Tetangga: Algoritma mengidentifikasi sekumpulan titik data yang kemungkinan dekat dengan titik kueri. Tetangga ini tidak dijamin menjadi titik terdekat yang tepat tetapi cukup dekat untuk tujuan praktis.
  5. Membuat Prediksi:
  • Klasifikasi: Untuk tugas klasifikasi, ANN menetapkan label kelas ke titik kueri yang paling umum di antara tetangga yang diidentifikasi, mirip dengan kNN.
  • Regresi: Untuk tugas regresi, ANN memprediksi nilai untuk titik kueri sebagai rata-rata (atau rata-rata tertimbang) dari nilai tetangga yang diidentifikasi.