stubs Kas ir KNN (K-tuvākie kaimiņi)? - Apvienojieties.AI
Savienoties ar mums
AI meistarklase:

AI 101

Kas ir KNN (K-tuvākie kaimiņi)?

mm
Atjaunināts on

Kas ir K tuvākie kaimiņi (KNN)?

K-Nearest Neighbors ir mašīnmācīšanās tehnika un algoritms, kas var izmantot gan regresijas, gan klasifikācijas uzdevumiem. K-Tuvākie kaimiņi pārbaudīt izvēlētā datu punktu skaita etiķetes kas aptver mērķa datu punktu, lai veiktu prognozi par klasi, kurā ietilpst datu punkts. K-Nearest Neighbors (KNN) ir konceptuāli vienkāršs, taču ļoti spēcīgs algoritms, un šo iemeslu dēļ tas ir viens no populārākajiem mašīnmācīšanās algoritmiem. Iedziļināsimies KNN algoritmā un redzēsim, kā tieši tas darbojas. Labi izprotot KNN darbību, varēsit novērtēt labākos un sliktākos KNN lietošanas gadījumus.

Pārskats par K tuvākajiem kaimiņiem (KNN)

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

Vizualizēsim datu kopu 2D plaknē. Diagrammā attēlojiet datu punktu kopumu, kas sadalīti pa diagrammu mazos klasteros. KNN pārbauda datu punktu sadalījumu un atkarībā no modelim sniegtajiem argumentiem sadala datu punktus grupās. Pēc tam šīm grupām tiek piešķirta etiķete. Galvenais KNN modeļa pieņēmums ir tāds, ka datu punkti/gadījumi, kas atrodas tuvu viens otram, ir ļoti līdzīgi, savukārt, ja datu punkts atrodas tālu no citas grupas, tas atšķiras no šiem datu punktiem.

KNN modelis aprēķina līdzību, izmantojot attālumu starp diviem diagrammas punktiem. Jo lielāks attālums starp punktiem, jo ​​mazāk līdzīgi tie ir. Ir vairāki veidi, kā aprēķināt attālumu starp punktiem, taču visizplatītākā attāluma metrika ir tikai Eiklīda attālums (attālums starp diviem punktiem taisnā līnijā).

KNN ir uzraudzīts mācību algoritms, kas nozīmē, ka piemēriem datu kopā ir jābūt tiem piešķirtām etiķetēm/ir jāzina to klases. Ir vēl divas svarīgas lietas, kas jāzina par KNN. Pirmkārt, KNN ir neparametrisks algoritms. Tas nozīmē, ka, izmantojot modeli, netiek veikti pieņēmumi par datu kopu. Drīzāk modelis ir pilnībā izveidots no sniegtajiem datiem. Otrkārt, izmantojot KNN, datu kopa netiek sadalīta apmācības un testa kopās. KNN neveic nekādus vispārinājumus starp apmācības un testēšanas kopu, tāpēc visi apmācības dati tiek izmantoti arī tad, kad modelim tiek lūgts veikt prognozes.

Kā darbojas KNN algoritms

Veicot KNN algoritmu, tas iziet trīs galvenās fāzes:

  1. K iestatīšana uz izvēlēto kaimiņu skaitu.
  2. Attāluma aprēķināšana starp sniegto/pārbaudes piemēru un datu kopas piemēriem.
  3. Aprēķināto attālumu šķirošana.
  4. Labāko K ierakstu etiķešu iegūšana.
  5. Prognozes atgriešana par testa piemēru.

Pirmajā solī lietotājs izvēlas K, un tas algoritmam norāda, cik kaimiņu (cik apkārtējo datu punktu) jāņem vērā, pieņemot spriedumu par grupu, kurai pieder mērķa piemērs. Otrajā darbībā ņemiet vērā, ka modelis pārbauda attālumu starp mērķa piemēru un katru piemēru datu kopā. Pēc tam attālumi tiek pievienoti sarakstā un sakārtoti. Pēc tam tiek pārbaudīts sakārtotais saraksts un tiek atgrieztas augstāko K elementu etiķetes. Citiem vārdiem sakot, ja K ir iestatīts uz 5, modelis pārbauda mērķa datu punktam tuvāko 5 labāko datu punktu etiķetes. Renderējot prognozi par mērķa datu punktu, ir svarīgi, vai uzdevums ir a regress or klasifikācija uzdevums. Regresijas uzdevumam tiek izmantots augstāko K etiķešu vidējais lielums, savukārt klasifikācijas gadījumā tiek izmantots augšējo K etiķešu režīms.

Precīzas matemātiskās darbības, ko izmanto KNN veikšanai, atšķiras atkarībā no izvēlētās attāluma metrikas. Ja vēlaties uzzināt vairāk par to, kā metrika tiek aprēķināta, varat lasīt par dažiem visbiežāk izmantotajiem attāluma rādītājiem, piemēram, Eiklīda, Manhetena, un Minkovskis.

Kāpēc K vērtība ir svarīga

Galvenais ierobežojums, izmantojot KNN, ir tas, ka var tikt izvēlēta nepareiza K vērtība (jāņem vērā nepareizs kaimiņu skaits). Ja tas notiek, prognozes, kas tiek atgrieztas, var ievērojami samazināties. Ir ļoti svarīgi, lai, izmantojot KNN algoritmu, tiktu izvēlēta pareizā K vērtība. Jūs vēlaties izvēlēties K vērtību, kas maksimāli palielina modeļa spēju veikt prognozes par neredzētiem datiem, vienlaikus samazinot tā pieļaujamo kļūdu skaitu.

Fotoattēls: Agor153, izmantojot Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)

Zemākas K vērtības nozīmē, ka KNN sniegtās prognozes ir mazāk stabilas un uzticamas. Lai iegūtu intuīciju, kāpēc tas tā ir, apsveriet gadījumu, kad mums ir 7 kaimiņi ap mērķa datu punktu. Pieņemsim, ka KNN modelis darbojas ar K vērtību 2 (lai prognozētu, mēs to lūdzam aplūkot divus tuvākos kaimiņus). Ja lielākā daļa kaimiņu (pieci no septiņiem) pieder zilajai klasei, bet divi tuvākie kaimiņi vienkārši ir sarkani, modelis prognozēs, ka vaicājuma piemērs ir sarkans. Neskatoties uz modeļa minējumu, šādā scenārijā Blue būtu labāks minējums.

Ja tas tā ir, kāpēc gan neizvēlēties augstāko K vērtību? Tas ir tāpēc, ka, liekot modelim ņemt vērā pārāk daudz kaimiņu, tiks samazināta arī precizitāte. Palielinoties rādiusam, ko uzskata KNN modelis, tas galu galā sāks ņemt vērā datu punktus, kas ir tuvāk citām grupām nekā mērķa datu punkts, un sāksies nepareiza klasifikācija. Piemēram, pat ja sākotnēji izvēlētais punkts atrastos vienā no iepriekš minētajiem sarkanajiem apgabaliem, ja K ir iestatīts pārāk augsts, modelis iesniegs citus reģionus, lai ņemtu vērā punktus. Izmantojot KNN modeli, tiek izmēģinātas dažādas K vērtības, lai noskaidrotu, kura vērtība nodrošina modelim vislabāko veiktspēju.

KNN plusi un mīnusi

Apskatīsim dažus KNN modeļa plusus un mīnusus.

Pros:

KNN var izmantot gan regresijas, gan klasifikācijas uzdevumiem, atšķirībā no dažiem citiem uzraudzītiem mācību algoritmiem.

KNN ir ļoti precīzs un vienkārši lietojams. To ir viegli interpretēt, saprast un īstenot.

KNN neizdara nekādus pieņēmumus par datiem, kas nozīmē, ka tos var izmantot visdažādākajām problēmām.

Mīnusi:

KNN saglabā lielāko daļu vai visus datus, kas nozīmē, ka modelim ir nepieciešams daudz atmiņas un tas ir skaitļošanas ziņā dārgs. Lielas datu kopas var arī izraisīt prognozēšanu ilgu laiku.

KNN izrādās ļoti jutīgs pret datu kopas mērogu, un salīdzinājumā ar citiem modeļiem to var diezgan viegli novērst neatbilstošu funkciju dēļ.

Kopsavilkums par K tuvākajiem kaimiņiem (KNN)

K-Nearest Neighbors ir viens no vienkāršākajiem mašīnmācīšanās algoritmiem. Neskatoties uz to, cik vienkāršs ir KNN, tas ir arī spēcīgs algoritms, kas nodrošina diezgan augstu precizitāti lielākajā daļā problēmu. Kad izmantojat KNN, noteikti eksperimentējiet ar dažādām K vērtībām, lai atrastu skaitli, kas nodrošina visaugstāko precizitāti.

Emuāru autors un programmētājs ar specialitātēm Mašīnu mācīšana un Dziļa mācīšanās tēmas. Daniels cer palīdzēt citiem izmantot mākslīgā intelekta spēku sociālā labuma gūšanai.