tunggul Naon ari KNN (K-Nearest Neighbors)? - Ngahiji.AI
Connect with kami

AI 101

Naon ari KNN (K-Nearest Neighbors)?

mm
diropéa on

Naon ari K-Nearest Neighbors (KNN)?

K-Nearest Neighbors mangrupikeun téknik pembelajaran mesin sareng algoritma éta tiasa dianggo pikeun tugas régrési sareng klasifikasi. K-tatangga pangdeukeutna nguji labél sajumlah titik data anu dipilih sabudeureun hiji titik data target, dina urutan nyieun prediksi ngeunaan kelas nu titik data ragrag kana. K-Nearest Neighbors (KNN) mangrupikeun algoritma anu saderhana sacara konseptual tapi pohara kuat, sareng ku sabab éta, éta mangrupikeun salah sahiji algoritma pembelajaran mesin anu pang populerna. Hayu urang nyandak hiji beuleum jero kana algoritma KNN tur tingal kumaha gawéna. Ngabogaan pamahaman alus ngeunaan kumaha KNN beroperasi bakal ngantep anjeun ngaapresiasi kasus pamakéan pangalusna sarta awon pikeun KNN.

Tinjauan K-Nearest Neighbors (KNN)

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

Hayu urang visualize dataset dina pesawat 2D. Gambar sakumpulan titik data dina grafik, nyebarkeun sapanjang grafik dina klaster leutik. KNN examines sebaran titik data sarta, gumantung kana argumen dibikeun ka model, éta misahkeun titik data kana grup. Grup ieu lajeng ditugaskeun labél a. Anggapan primér anu dilakukeun ku modél KNN nyaéta yén titik data/instansi anu caket sareng anu sanés sami pisan, sedengkeun upami hiji titik data jauh ti grup sanés éta henteu sami sareng titik data éta.

Modél KNN ngitung kasaruaan ngagunakeun jarak antara dua titik dina grafik. Nu leuwih gede jarak antara titik, nu kirang sarupa aranjeunna. Aya sababaraha cara pikeun ngitung jarak antara titik, tapi métrik jarak anu paling umum nyaéta jarak Euclidean (jarak antara dua titik dina garis lempeng).

KNN mangrupakeun algoritma learning diawasan, hartina conto dina dataset kudu boga labél ditugaskeun ka aranjeunna / kelas maranéhanana kudu dipikawanoh. Aya dua hal anu penting pikeun terang ngeunaan KNN. Kahiji, KNN mangrupakeun algoritma non-paramétrik. Ieu ngandung harti yén euweuh asumsi ngeunaan dataset dijieun nalika model dipaké. Sabalikna, modél diwangun sagemblengna tina data anu disayogikeun. Kadua, henteu aya pamisahan set data kana set latihan sareng tés nalika nganggo KNN. KNN henteu ngadamel generalisasi antara set latihan sareng uji, ku kituna sadaya data latihan ogé dianggo nalika modél dipénta ngadamel prediksi.

Kumaha a KNN Algoritma Beroperasi

Algoritma KNN ngalangkungan tilu fase utama nalika dilaksanakeun:

  1. Netepkeun K kana jumlah dipilih tatanggana.
  2. Ngitung jarak antara conto anu disayogikeun/tés sareng conto set data.
  3. Nyortir jarak diitung.
  4. Meunangkeun labél tina éntri K luhur.
  5. Ngabalikeun prediksi ngeunaan conto tés.

Dina lengkah kahiji, K dipilih ku pamaké sarta ngabejaan algoritma sabaraha tatanggana (sabaraha titik data sabudeureun) kudu dianggap nalika Rendering judgment ngeunaan grup nu conto udagan milik. Dina léngkah kadua, perhatikeun yén modél mariksa jarak antara conto udagan sareng unggal conto dina set data. Jarak lajeng ditambahkeun kana daptar tur diurutkeun. Saatos éta, daptar anu diurutkeun dipariksa sareng labél pikeun elemen K luhur dipulangkeun. Dina basa sejen, lamun K disetel ka 5, modél mariksa labél tina luhureun 5 titik data pangdeukeutna ka titik data target. Nalika ngajadikeun prediksi ngeunaan titik data udagan, éta penting lamun tugas a regression or carana ngumpulan tugas. Pikeun tugas régrési, rata-rata labél K luhur dipaké, sedengkeun modus labél K luhur dipaké dina kasus klasifikasi.

Operasi matematik pasti anu digunakeun pikeun ngalaksanakeun KNN béda-béda gumantung kana métrik jarak anu dipilih. Upami anjeun hoyong langkung jéntré ngeunaan cara ngitung métrik, anjeun tiasa maca ngeunaan sababaraha métrik jarak anu paling umum, sapertos Euclidean, Manhattan, sarta Minkowski.

Naha The Ajén K Perkara

Watesan utama nalika ngagunakeun KNN nyaéta yén dina nilai K anu salah (jumlah tatangga anu salah anu dianggap) tiasa dipilih. Upami ieu kajantenan, prediksi anu dipulangkeun tiasa pareum pisan. Penting pisan yén nalika nganggo algoritma KNN, nilai anu pas pikeun K dipilih. Anjeun hoyong milih nilai pikeun K anu ngamaksimalkeun kamampuan modél pikeun ngaramalkeun data anu teu katingali bari ngirangan jumlah kasalahan anu dilakukeun.

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

Niley handap K hartina prediksi nu dijieun ku KNN kirang stabil sarta dipercaya. Pikeun meunangkeun intuisi naha ieu jadi, mertimbangkeun hiji pasualan dimana urang boga 7 tatanggana sabudeureun hiji titik data target. Hayu urang nganggap yén modél KNN gawéna kalayan nilai K 2 (urang nanya ka kasampak di dua tatanggana pangdeukeutna nyieun prediksi). Lamun seuseueurna tatanggana (lima ti tujuh) milik kelas Blue, tapi dua tatanggana pangdeukeutna ngan lumangsung Beureum, model bakal ngaduga yén conto query nyaeta Beureum. Sanajan duga model, dina skenario sapertos Blue bakal jadi tatarucingan hadé.

Upami ieu masalahna, naha henteu ngan ukur milih nilai K anu paling luhur anu urang tiasa? Ieu kusabab nyarios modél mertimbangkeun seueur teuing tatanggana ogé bakal ngirangan akurasi. Salaku radius nu model KNN tempo naek, eta antukna bakal ngamimitian tempo titik data nu ngadeukeutan ka grup lianna ti aranjeunna titik data target na misclassification bakal mimiti lumangsung. Contona, sanajan titik nu mimitina dipilih aya dina salah sahiji wewengkon beureum di luhur, lamun K diatur teuing tinggi, model bakal ngahontal kana wewengkon séjén mertimbangkeun titik. Lamun make model KNN, nilai K anu béda dicoba pikeun nempo nilai nu masihan model kinerja pangalusna.

KNN Pro Jeung Kontra

Hayu urang nalungtik sababaraha pro jeung kontra model KNN.

Naros:

KNN tiasa dianggo pikeun tugas régrési sareng klasifikasi, teu sapertos sababaraha algoritma diajar anu diawaskeun.

KNN akurat pisan sareng gampang dianggo. Gampang napsirkeun, ngartos, sareng ngalaksanakeun.

KNN henteu nyieun asumsi ngeunaan data, hartina bisa dipaké pikeun rupa-rupa masalah.

kontra:

KNN nyimpen paling atawa sakabéh data, nu hartina model merlukeun loba memori tur komputasi mahal na. Dataset ageung ogé tiasa nyababkeun prediksi janten lami.

KNN kabuktian sénsitip pisan kana skala set data sareng éta tiasa dileungitkeun ku fitur anu teu relevan kalayan gampang dibandingkeun sareng modél sanés.

Ringkesan K-Nearest Neighbors (KNN)

K-Nearest Neighbors mangrupikeun salah sahiji algoritma pembelajaran mesin pangbasajanna. Sanaos saderhana KNN, dina konsép, éta ogé algoritma anu kuat anu masihan akurasi anu cukup luhur dina kalolobaan masalah. Lamun anjeun make KNN, pastikeun pikeun ékspérimén kalawan rupa nilai K pikeun manggihan jumlah nu nyadiakeun akurasi pangluhurna.

Blogger sareng programer kalayan spesialisasi dina mesin Learning jeung jero Learning jejer. Daniel ngaharepkeun ngabantosan batur ngagunakeun kakawasaan AI pikeun kasaéan sosial.