Grunnleggende AI
Hva er K-Nearest Neighbors (KNN)?
Hva er K-Nearest Neighbors (KNN)?
K-Nearest Neighbors er en maskinlÃĶrings-teknikk og algoritme som kan brukes for bÃĨde regresjon og klassifisering . K-Nearest Neighbors undersÃļker etikettene pÃĨ et valgt antall datapunkter rundt et mÃĨlpunkt, for ÃĨ gjÃļre en prediksjon om klassen datapunktet tilhÃļrer. K-Nearest Neighbors (KNN) er et konseptuelt enkelt, men meget kraftig algoritme, og derfor er det en av de mest populÃĶre maskinlÃĶrings-algoritmene. La oss dykke dypt inn i KNN-algoritmen og se hvordan den fungerer. Ã ha en god forstÃĨelse av hvordan KNN opererer, vil la deg verdsette de beste og dÃĨrligste bruksomrÃĨdene for KNN.
Oversikt over K-Nearest Neighbors (KNN)

Foto: Antti Ajanki AnAj via Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)
La oss visualisere en dataset pÃĨ en 2D-plane. Forestill deg en mengde datapunkter pÃĨ en graf, spredt ut langs grafen i smÃĨ kluster. KNN undersÃļker fordelt pÃĨ datapunktene og, avhengig av argumentene gitt til modellen, skiller datapunktene inn i grupper. Disse gruppene blir deretter tildelt en etikett. Den primÃĶre antakelsen en KNN-modell gjÃļr, er at datapunkter/eksempler som eksisterer i nÃĶrheten av hverandre, er svÃĶrt like, mens hvis et datapunkt er langt unna en annen gruppe, er det ulikt datapunktene.
En KNN-modell beregner likhet ved hjelp av avstanden mellom to punkter pÃĨ en graf. Jo stÃļrre avstanden mellom punktene, jo mindre like er de. Det finnes flere mÃĨter ÃĨ beregne avstanden mellom punkter, men den vanligste avstands-mÃĨlet er bare euklidisk avstand (avstanden mellom to punkter i en rett linje).
KNN er en overvÃĨket lÃĶrings-algoritme, hvilket betyr at eksemplene i datasett mÃĨ ha etiketter tilknyttet dem/deres klasser mÃĨ vÃĶre kjent. Det er to andre viktige ting ÃĨ vite om KNN. FÃļrst er KNN en ikke-parametrisk algoritme. Dette betyr at ingen antakelser om datasett gjÃļres nÃĨr modellen brukes. I stedet er modellen konstruert helt fra det tilgjengelige data. For det andre, er det ingen splitting av datasett inn i trenings- og testsett nÃĨr KNN brukes. KNN gjÃļr ingen generaliseringer mellom et trenings- og testsett, sÃĨ all treningsdata brukes ogsÃĨ nÃĨr modellen skal gjÃļre prediksjoner.
Hvordan en KNN-algoritme opererer
En KNN-algoritme gÃĨr gjennom tre hovedfaser mens den utfÃļres:
- Sett K til det valgte antall naboer.
- Beregne avstanden mellom et gitt/test-eksempel og datasett-eksemplene.
- Sorter de beregnede avstandene.
- Hent etikettene pÃĨ de Ãļverste K-innlegg.
- Returner en prediksjon om test-eksemplet.
I den fÃļrste fasen, velges K av brukeren og forteller algoritmen hvor mange naboer (hvor mange omgivende datapunkter) som skal vurderes nÃĨr det gjelder ÃĨ avgjÃļre hvilken gruppe mÃĨlpunktet tilhÃļrer. I den andre fasen, merker man at modellen sjekker avstanden mellom mÃĨlepunktet og hvert eksempel i datasett. Avstandene legges deretter til en liste og sorteres. Deretter sjekkes den sorterte listen og etikettene for de Ãļverste K-elementene returneres. Med andre ord, hvis K er satt til 5, sjekker modellen etikettene pÃĨ de 5 nÃĶrmeste datapunktene til mÃĨlepunktet. NÃĨr det gjelder ÃĨ rendre en prediksjon om mÃĨlepunktet, har det betydning om oppgaven er en regresjon eller klassifisering-oppgave. For en regresjonsoppgave, brukes gjennomsnittet av de Ãļverste K-etikettene, mens modus av de Ãļverste K-etikettene brukes i klassifiseringstilfeller.
De eksakte matematiske operasjonene som brukes for ÃĨ utfÃļre KNN, varierer avhengig av det valgte avstands-mÃĨlet. Hvis du Ãļnsker ÃĨ lÃĶre mer om hvordan mÃĨlene beregnes, kan du lese om noen av de vanligste avstands-mÃĨlene, som euklidisk, Manhattan og Minkowski.
Hvorfor verdien av K betyr noe
Den viktigste begrensningen ved ÃĨ bruke KNN, er at en ugyldig verdi for K (feil antall naboer som skal vurderes) kan velges. Hvis dette skjer, kan prediksjonene som returneres, vÃĶre ganske feil. Det er veldig viktig at, nÃĨr en KNN-algoritme brukes, den riktige verdien for K velges. Du Ãļnsker ÃĨ velge en verdi for K som maksimerer modellens evne til ÃĨ gjÃļre prediksjoner pÃĨ usette data, samtidig som feilene den gjÃļr, reduseres.

Foto: Agor153 via Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)
Lavere verdier for K betyr at prediksjonene som KNN gir, er mindre stabile og pÃĨlitelige. For ÃĨ fÃĨ en forstÃĨelse av hvorfor dette er sÃĨ, kan man tenke pÃĨ et tilfelle der vi har 7 naboer rundt et mÃĨlpunkt. La oss anta at KNN-modellen arbeider med en K-verdi pÃĨ 2 (vi ber den om ÃĨ se pÃĨ de to nÃĶrmeste naboene for ÃĨ gjÃļre en prediksjon). Hvis de fleste naboene (fem av syv) tilhÃļrer BlÃĨ-klassen, men de to nÃĶrmeste naboene tilfeldigvis er RÃļde, vil modellen predikere at mÃĨlepunktet er RÃļdt. Til tross for modellens gjetning, ville BlÃĨ vÃĶre en bedre gjetning i en slik situasjon.
Hvis dette er tilfelle, hvorfor ikke bare velge den hÃļyeste K-verdien vi kan? Dette er fordi ÃĨ fortelle modellen ÃĨ vurdere for mange naboer, ogsÃĨ vil redusere nÃļyaktigheten. Ettersom radiusen som KNN-modellen vurderer, Ãļker, vil den til slutt begynne ÃĨ vurdere datapunkter som er nÃĶrmere andre grupper enn mÃĨlepunktet, og feilklassifisering vil begynne ÃĨ skje. For eksempel, selv om punktet som ble valgt, var i en av de rÃļde regionene ovenfor, hvis K var satt for hÃļyt, ville modellen nÃĨ inn i andre regioner for ÃĨ vurdere punkter. NÃĨr du bruker en KNN-modell, prÃļves forskjellige verdier av K for ÃĨ se hvilken verdi som gir modellen den beste ytelsen.
KNN Fordeler og Ulemper
La oss undersÃļke noen av fordelene og ulemperne med KNN-modellen.
Fordeler:
KNN kan brukes for bÃĨde regresjons- og klassifiseringstasks, i motsetning til noen andre overvÃĨkede lÃĶrings-algoritmer.
KNN er svÃĶrt nÃļyaktig og enkelt ÃĨ bruke. Det er lett ÃĨ forstÃĨ og implementere.
KNN gjÃļr ingen antakelser om data, hvilket betyr at det kan brukes for en rekke problemer.
Ulemper:
KNN lagrer mest eller all data, hvilket betyr at modellen krever mye minne og er komputasjonelt dyrt. Store datasett kan ogsÃĨ fÃļre til at prediksjoner tar lang tid.
KNN viser seg ÃĨ vÃĶre svÃĶrt fÃļlsom for skalaen pÃĨ datasett og kan lett bli feilledet av irrelevante egenskaper i forhold til andre modeller.
Oppsummering av K-Nearest Neighbors (KNN)
K-Nearest Neighbors er en av de enkleste maskinlÃĶrings-algoritmene. Til tross for hvor enkelt KNN er i konsept, er det ogsÃĨ en kraftig algoritme som gir ganske hÃļy nÃļyaktighet pÃĨ de fleste problemer. NÃĨr du bruker KNN, mÃĨ du eksperimentere med forskjellige verdier av K for ÃĨ finne nummeret som gir den hÃļyeste nÃļyaktigheten.












