Dasar-dasar AI

Apa itu KNN (K-Nearest Neighbors)?

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

Apa itu K-Nearest Neighbors (KNN)?

K-Nearest Neighbors adalah teknik dan algoritma pembelajaran mesin yang dapat digunakan untuk tugas regresi dan klasifikasi. K-Nearest Neighbors memeriksa label dari sejumlah titik data yang dipilih di sekitar titik data target, untuk membuat prediksi tentang kelas yang titik data masuk. K-Nearest Neighbors (KNN) adalah konsep yang sederhana namun sangat kuat, dan karena itu, ini adalah salah satu algoritma pembelajaran mesin yang paling populer. Mari kita lihat lebih dalam tentang algoritma KNN dan lihat bagaimana cara kerjanya. Memahami cara kerja KNN dengan baik akan memungkinkan Anda untuk menghargai kasus penggunaan terbaik dan terburuk untuk KNN.

Ikhtisar K-Nearest Neighbors (KNN)

Foto: Antti Ajanki AnAj via Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)

Mari kita visualisasikan dataset pada bidang 2D. Bayangkan sejumlah titik data pada grafik, tersebar di sepanjang grafik dalam kelompok-kelompok kecil. KNN memeriksa distribusi titik data dan, tergantung pada argumen yang diberikan kepada model, memisahkan titik data menjadi kelompok. Kelompok-kelompok ini kemudian diberi label. Asumsi utama yang dilakukan model KNN adalah bahwa titik data/instance yang ada di dekat satu sama lain sangat mirip, sedangkan jika titik data jauh dari kelompok lain, maka tidak mirip dengan titik data tersebut.

Model KNN menghitung kesamaan menggunakan jarak antara dua titik pada grafik. Semakin besar jarak antara titik, semakin tidak mirip mereka. Ada beberapa cara untuk menghitung jarak antara titik, tetapi metrik jarak yang paling umum adalah jarak Euclidean (jarak antara dua titik dalam garis lurus).

KNN adalah algoritma pembelajaran terawasi, yang berarti bahwa contoh dalam dataset harus memiliki label yang ditetapkan. Ada dua hal penting lainnya yang perlu diketahui tentang KNN. Pertama, KNN adalah algoritma non-parametrik. Ini berarti bahwa tidak ada asumsi tentang dataset yang dibuat ketika model digunakan. Sebaliknya, model dibangun sepenuhnya dari data yang disediakan. Kedua, tidak ada pemisahan dataset menjadi set pelatihan dan set pengujian ketika menggunakan KNN. KNN tidak membuat generalisasi antara set pelatihan dan set pengujian, sehingga semua data pelatihan juga digunakan ketika model diminta untuk membuat prediksi.

Cara Kerja Algoritma KNN

Algoritma KNN melalui tiga fase utama saat dilakukan:

  1. Menetapkan K ke jumlah tetangga yang dipilih.
  2. Menghitung jarak antara contoh/uji yang diberikan dan contoh dataset.
  3. Mengurutkan jarak yang dihitung.
  4. Mendapatkan label dari entri atas K.
  5. Mengembalikan prediksi tentang contoh uji.

Pada langkah pertama, K dipilih oleh pengguna dan memberitahu algoritma berapa banyak tetangga (berapa banyak titik data sekitar) yang harus dipertimbangkan saat membuat keputusan tentang kelompok yang contoh target masuk. Pada langkah kedua, perhatikan bahwa model memeriksa jarak antara contoh target dan setiap contoh dalam dataset. Jarak-jarak kemudian ditambahkan ke dalam daftar dan diurutkan. Setelah itu, daftar yang diurutkan diperiksa dan label dari entri atas K dikembalikan. Dengan kata lain, jika K diatur ke 5, model memeriksa label dari 5 titik data terdekat dengan titik data target. Ketika membuat prediksi tentang titik data target, hal ini penting jika tugasnya adalah regresi atau klasifikasi tugas. Untuk tugas regresi, mean dari label atas K digunakan, sedangkan mode dari label atas K digunakan dalam kasus klasifikasi.

Operasi matematika yang tepat yang digunakan untuk melaksanakan KNN berbeda tergantung pada metrik jarak yang dipilih. Jika Anda ingin mempelajari lebih lanjut tentang bagaimana metrik dihitung, Anda dapat membaca tentang beberapa metrik jarak yang paling umum, seperti Euclidean, Manhattan, dan Minkowski.

Mengapa Nilai K Penting

Batasan utama saat menggunakan KNN adalah bahwa nilai K yang tidak tepat (jumlah tetangga yang salah) mungkin dipilih. Jika ini terjadi, prediksi yang dikembalikan dapat salah substansial. Sangat penting bahwa, saat menggunakan algoritma KNN, nilai K yang tepat dipilih. Anda ingin memilih nilai K yang memaksimalkan kemampuan model untuk membuat prediksi pada data yang tidak terlihat sambil mengurangi jumlah kesalahan yang dilakukan.

Foto: Agor153 via Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)

Nilai K yang lebih rendah berarti bahwa prediksi yang diberikan oleh KNN kurang stabil dan kurang dapat diandalkan. Untuk memahami mengapa ini terjadi, pertimbangkan kasus di mana kita memiliki 7 tetangga di sekitar titik data target. Anggaplah model KNN bekerja dengan nilai K 2 (kita meminta model untuk melihat dua tetangga terdekat untuk membuat prediksi). Jika sebagian besar tetangga (lima dari tujuh) milik kelas Biru, tetapi dua tetangga terdekat kebetulan merah, model akan memprediksi bahwa contoh uji adalah merah. Meskipun model membuat tebakan, dalam skenario seperti itu, biru akan menjadi tebakan yang lebih baik.

Jika ini masalahnya, mengapa tidak memilih nilai K tertinggi yang bisa? Ini karena memberitahu model untuk mempertimbangkan terlalu banyak tetangga juga akan mengurangi akurasi. Saat radius yang dipertimbangkan oleh model KNN meningkat, model akan mulai mempertimbangkan titik data yang lebih dekat dengan kelompok lain daripada titik data target dan kesalahan klasifikasi akan mulai terjadi. Misalnya, bahkan jika titik yang dipilih awalnya berada di salah satu wilayah merah di atas, jika K diatur terlalu tinggi, model akan mencapai wilayah lain untuk mempertimbangkan titik. Ketika menggunakan model KNN, nilai K yang berbeda dicoba untuk melihat nilai mana yang memberikan kinerja terbaik model.

Kelebihan dan Kekurangan KNN

Mari kita lihat beberapa kelebihan dan kekurangan model KNN.

Kelebihan:

KNN dapat digunakan untuk tugas regresi dan klasifikasi, tidak seperti beberapa algoritma pembelajaran terawasi lainnya.

KNN sangat akurat dan sederhana untuk digunakan. Mudah untuk diinterpretasikan, dipahami, dan diimplementasikan.

KNN tidak membuat asumsi tentang data, yang berarti dapat digunakan untuk berbagai masalah.

Kekurangan:

KNN menyimpan sebagian besar atau semua data, yang berarti model memerlukan banyak memori dan komputasinya mahal. Dataset besar juga dapat menyebabkan prediksi memakan waktu lama.

KNN terbukti sangat sensitif terhadap skala dataset dan dapat dengan mudah terganggu oleh fitur yang tidak relevan dibandingkan dengan model lain.

Rangkuman K-Nearest Neighbors (KNN)

K-Nearest Neighbors adalah salah satu algoritma pembelajaran mesin yang paling sederhana. Meskipun KNN sederhana dalam konsep, ini juga merupakan algoritma yang sangat kuat yang memberikan akurasi yang cukup tinggi pada sebagian besar masalah. Ketika Anda menggunakan KNN, pastikan untuk bereksperimen dengan berbagai nilai K untuk menemukan nilai yang memberikan akurasi tertinggi.

Blogger dan programmer dengan spesialisasi di Machine Learning dan Deep Learning topik. Daniel berharap untuk membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.