potongan Apa itu KNN (K-Nearest Neighbors)? - Bersatu.AI
Terhubung dengan kami

AI 101

Apa itu KNN (K-Nearest Neighbors)?

mm
Updated on

Apa itu K-Nearest Neighbors (KNN)?

K-Nearest Neighbors adalah teknik dan algoritma pembelajaran mesin yang dapat digunakan untuk tugas regresi dan klasifikasi. K-Tetangga Terdekat memeriksa label dari sejumlah titik data yang dipilih mengelilingi titik data target, untuk membuat prediksi tentang kelas tempat titik data tersebut berada. K-Nearest Neighbors (KNN) adalah algoritme yang secara konseptual sederhana namun sangat kuat, dan karena alasan itu, ini adalah salah satu algoritme pembelajaran mesin yang paling populer. Mari selami lebih dalam algoritme KNN dan lihat persis cara kerjanya. Memiliki pemahaman yang baik tentang bagaimana KNN beroperasi akan membuat Anda menghargai kasus penggunaan terbaik dan terburuk untuk KNN.

Ikhtisar K-Nearest Neighbors (KNN)

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

Mari memvisualisasikan kumpulan data pada bidang 2D. Bayangkan sekelompok titik data pada grafik, tersebar di sepanjang grafik dalam kelompok kecil. KNN memeriksa distribusi titik data dan, bergantung pada argumen yang diberikan pada model, KNN memisahkan titik data ke dalam kelompok. Grup-grup ini kemudian diberi label. Asumsi utama yang dibuat oleh model KNN adalah bahwa titik/instance data yang ada dalam jarak dekat satu sama lain sangat mirip, sedangkan jika titik data jauh dari grup lain, titik data tersebut berbeda dengan titik data tersebut.

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

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

Bagaimana Algoritma KNN Beroperasi

Algoritma KNN melewati tiga fase utama saat dilakukan:

  1. Mengatur K ke jumlah tetangga yang dipilih.
  2. Menghitung jarak antara contoh yang disediakan/uji dan contoh dataset.
  3. Menyortir jarak yang dihitung.
  4. Mendapatkan label entri K teratas.
  5. Mengembalikan prediksi tentang contoh pengujian.

Pada langkah pertama, K dipilih oleh pengguna dan memberi tahu algoritme berapa banyak tetangga (berapa banyak titik data di sekitarnya) yang harus dipertimbangkan saat memberikan penilaian tentang grup tempat contoh target berada. Pada langkah kedua, perhatikan bahwa model memeriksa jarak antara contoh target dan setiap contoh dalam kumpulan data. Jarak tersebut kemudian ditambahkan ke dalam daftar dan diurutkan. Setelah itu, daftar terurut diperiksa dan label untuk elemen K teratas dikembalikan. Dengan kata lain, jika K diatur ke 5, model akan memeriksa label dari 5 titik data teratas yang terdekat dengan titik data target. Saat membuat prediksi tentang titik data target, penting jika tugasnya adalah a regresi or klasifikasi tugas. Untuk tugas regresi, rata-rata label K teratas digunakan, sedangkan modus label K teratas digunakan dalam kasus klasifikasi.

Operasi matematis yang tepat yang digunakan untuk melakukan 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

Keterbatasan utama saat menggunakan KNN adalah bahwa nilai K yang tidak tepat (jumlah tetangga yang salah untuk dipertimbangkan) dapat dipilih. Jika ini terjadi, prediksi yang dikembalikan bisa meleset secara substansial. Sangat penting bahwa ketika menggunakan algoritma KNN, nilai yang tepat untuk K dipilih. Anda ingin memilih nilai K yang memaksimalkan kemampuan model untuk membuat prediksi pada data yang tidak terlihat sekaligus mengurangi jumlah kesalahan yang dibuatnya.

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

Nilai K yang lebih rendah berarti prediksi yang diberikan oleh KNN kurang stabil dan dapat diandalkan. Untuk mendapatkan intuisi mengapa demikian, pertimbangkan kasus di mana kita memiliki 7 tetangga di sekitar titik data target. Mari kita asumsikan bahwa model KNN bekerja dengan nilai K 2 (kita memintanya untuk melihat dua tetangga terdekat untuk membuat prediksi). Jika sebagian besar tetangga (lima dari tujuh) termasuk dalam kelas Biru, tetapi dua tetangga terdekat kebetulan adalah Merah, model akan memprediksi bahwa contoh kueri adalah Merah. Terlepas dari tebakan model, dalam skenario seperti itu Biru akan menjadi tebakan yang lebih baik.

Jika demikian, mengapa tidak memilih nilai K tertinggi saja yang kita bisa? Ini karena memberi tahu model untuk mempertimbangkan terlalu banyak tetangga juga akan mengurangi akurasi. Karena radius yang dianggap model KNN meningkat, pada akhirnya akan mulai mempertimbangkan titik data yang lebih dekat ke grup lain daripada titik data target dan kesalahan klasifikasi akan mulai terjadi. Misalnya, bahkan jika titik yang awalnya dipilih berada di salah satu wilayah merah di atas, jika K ditetapkan terlalu tinggi, model akan menjangkau wilayah lain untuk mempertimbangkan titik. Saat menggunakan model KNN, nilai K yang berbeda dicoba untuk melihat nilai mana yang memberikan model kinerja terbaik.

Pro dan Kontra KNN

Mari kita periksa beberapa pro dan kontra dari model KNN.

Pro:

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

KNN sangat akurat dan mudah digunakan. Sangat mudah untuk menafsirkan, memahami, dan menerapkan.

KNN tidak membuat asumsi apa pun tentang data, artinya dapat digunakan untuk berbagai macam masalah.

Cons:

KNN menyimpan sebagian besar atau semua data, yang berarti bahwa model membutuhkan banyak memori dan mahal secara komputasi. Dataset yang besar juga dapat menyebabkan prediksi menjadi memakan waktu lama.

KNN terbukti sangat sensitif terhadap skala kumpulan data dan dapat dengan mudah terlempar 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. Terlepas dari betapa sederhananya KNN, secara konsep, ini juga merupakan algoritme yang kuat yang memberikan akurasi yang cukup tinggi pada sebagian besar masalah. Saat Anda menggunakan KNN, pastikan untuk bereksperimen dengan berbagai nilai K untuk menemukan angka yang memberikan akurasi tertinggi.

Blogger dan programmer dengan spesialisasi di Pembelajaran mesin dan Belajar mendalam topik. Daniel berharap dapat membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.