Letecký slovník

Čo je k-najbližších susedov (kNN)?

Machine Learning · Classification 8 jazyky
Definícia
Algoritmus k-najbližších susedov (kNN) je metóda učenia s učiteľom, ktorá bodu priradí triedu, ktorú má väčšina z jeho k najbližších uložených bodov.

Definícia

Algoritmus k-najbližších susedov (kNN) je metóda učenia s učiteľom, ktorá klasifikuje bod podľa väčšinovej triedy jeho k najbližších uložených bodov.

kNN nemá explicitný krok trénovania. Ukladá označené príklady a výpočet robí, až keď príde dopyt. Scikit-learn to nazýva učenie založené na inštanciách bez zovšeobecňovania.

Ako to funguje

  1. Zvoľte k a mieru vzdialenosti. Najbežnejšou voľbou je euklidovská vzdialenosť.
  2. Nájdite k uložených bodov, ktoré sú najbližšie k dopytovanému bodu.
  3. Dopytovanému bodu priraďte triedu, ktorú má väčšina z týchto k bodov.

Štandardne má každý sused jeden hlas. Pri váženom kNN počítajú bližší susedia viac, napríklad s váhou 1/d, kde d je vzdialenosť k susedovi.

Voľba k

Najlepšia hodnota k závisí od dát. Väčšie k potláča šum, ale robí hranice tried menej zreteľnými. Krížová validácia nájde z dát dobrú hodnotu k. Pri dvoch triedach nepárne k zabráni rovnosti hlasov.

Obmedzenia

  • Ak majú príznaky rôzne jednotky alebo mierky, normalizácia každého príznaku môže presnosť výrazne zlepšiť.
  • Vyhľadávanie hrubou silou porovnáva dopyt s každým uloženým bodom. To sa stane nerealizovateľným, keď počet bodov rastie.
  • Vyhľadávanie v stromoch, napríklad KD strom, je rýchle iba v nízkych dimenziách (pod asi 20). Vo vysokých dimenziách je euklidovská vzdialenosť tiež menej užitočná, pretože všetky vektory sú od dopytu takmer rovnako vzdialené.
  • Knižnice ako Faiss prehľadávajú veľké množiny vektorov. Ponúkajú presné vyhľadávanie a komprimované indexy. Komprimované indexy dávajú menej presné vyhľadávanie.

História

Evelyn Fix a Joseph Hodges metódu prvýkrát rozvinuli v roku 1951 v správe pre USAF School of Aviation Medicine. Thomas Cover a Hart publikovali „Nearest neighbor pattern classification“ v roku 1967. Pri neobmedzenom množstve trénovacích dát nie je chybovosť pravidla 1-najbližšieho suseda horšia ako dvojnásobok Bayesovej chybovosti.

Často kladené otázky

Ako zvoliť k v kNN?
Vyskúšajte viac hodnôt k pomocou krížovej validácie a ponechajte tú, ktorá dáva najlepší výsledok na odložených dátach. Najlepšia hodnota k závisí od dát. Väčšie k potláča šum, ale robí hranice tried menej zreteľnými. Pri dvoch triedach nepárne k zabráni rovnosti hlasov.
Potrebuje kNN trénovanie?
Nie, kNN nemá explicitný krok trénovania. Ukladá označené príklady a všetky výpočty robí až vtedy, keď príde dopyt. Scikit-learn to nazýva učenie založené na inštanciách bez zovšeobecňovania.
Čo je vážené kNN?
Vážené kNN nechá bližších susedov počítať vo hlasovaní viac ako vzdialenejších. Bežnou voľbou je váha 1/d, kde d je vzdialenosť k susedovi. V scikit-learn je predvolená rovnomerná váha a weights = 'distance' dáva váhy úmerné inverznej hodnote vzdialenosti.

Referencie

wikipedia-knn
k-nearest neighbors algorithm Wikipedia
faiss-readme
Faiss: a library for efficient similarity search and clustering of dense vectors Meta Research (facebookresearch/faiss on GitHub)
faiss-getting-started
Faiss wiki: Getting started Meta Research (facebookresearch/faiss on GitHub)

Toto je referenčný záznam. TarmacView poskytuje služby dronovej inšpekcie a nepredáva vybavenie ani materiály opísané v tomto slovníku.

Začať Potrebujete overiť svetelnú navigáciu vášho letiska? TarmacView kontroluje PAPI, dráhu a približovacie svetlá pomocou dronu medzi pohybmi lietadiel a poskytuje správu o zhode určenú pre vášho regulátora. Kontrola povrchu vozovky a prekážok je vo vývoji.