- Terminológia (A až D)
- Kontrola schopností AI
- AIOps
- albumov
- Výkonnosť aktív
- Autokóder
- Spätná propagácia
- Bayesova veta
- Big dát
- Chatbot: Sprievodca pre začiatočníkov
- Výpočtové myslenie
- Počítačové videnie
- Matica zmätku
- Konvolučné neurónové siete
- Kyber ochrana
- Data Fabric
- Rozprávanie dát
- dáta Science
- Skladovanie údajov
- Rozhodovací strom
- Deepfakes
- Deep Learning
- Hlboké posilnenie učenia
- DevOps
- DevSecOps
- Difúzne modely
- Digitálne Twin
- Zníženie rozmerov
- Terminológia (E až K)
- Edge AI
- Emócia AI
- Ensemble Learning
- Etické hackovanie
- ETL
- Vysvetliteľná AI
- Federatívne vzdelávanie
- FinOps
- Generatívna AI
- Generatívna kontradiktórna sieť
- Generatívne vs. diskriminačné
- Zosilnenie gradientu
- Gradientný zostup
- Učenie s niekoľkými výstrelmi
- Klasifikácia obrázkov
- IT operácie (ITOPs)
- Automatizácia incidentov
- Vplyvové inžinierstvo
- Klastrovanie K-Means
- K-Najbližší susedia
- Terminológia (od L po Q)
- Terminológia (od R po Z)
- Posilňovacie učenie
- Zodpovedná AI
- RLHF
- Automatizácia robotických procesov
- Štruktúrované vs neštruktúrované
- Analýza sentimentu
- Pod dohľadom verzus bez dozoru
- Podpora vektorové stroje
- Syntetické údaje
- Syntetické médiá
- Klasifikácia textu
- TinyML
- Transfer Learning
- Transformátorové neurónové siete
- Turingov test
- Vyhľadávanie podobnosti vektorov
AI 101
Čo je to KNN (K-Nearest Neighbors)?
Obsah
Čo je to K-Nearest Neighbors (KNN)?
K-Nearest Neighbors je technika a algoritmus strojového učenia možno použiť pre regresné aj klasifikačné úlohy. K-Najbližší susedia skúmal označenia zvoleného počtu údajových bodov obklopujúce cieľový údajový bod, aby bolo možné predpovedať triedu, do ktorej údajový bod spadá. K-Nearest Neighbors (KNN) je koncepčne jednoduchý, ale veľmi výkonný algoritmus az týchto dôvodov je to jeden z najpopulárnejších algoritmov strojového učenia. Poďme sa hlboko ponoriť do algoritmu KNN a uvidíme, ako presne funguje. Dobré pochopenie toho, ako funguje KNN, vám umožní oceniť najlepšie a najhoršie prípady použitia pre KNN.
Prehľad K-Nearest Neighbors (KNN)
Poďme si predstaviť množinu údajov v 2D rovine. Predstavte si na grafe množstvo údajových bodov, ktoré sú rozložené pozdĺž grafu v malých zhlukoch. KNN skúma distribúciu dátových bodov a v závislosti od argumentov daných modelu rozdeľuje dátové body do skupín. Týmto skupinám sa potom priradí označenie. Primárnym predpokladom modelu KNN je, že dátové body/inštancie, ktoré existujú vo vzájomnej tesnej blízkosti, sú veľmi podobné, zatiaľ čo ak je dátový bod ďaleko od inej skupiny, nie je podobný týmto dátovým bodom.
Model KNN vypočítava podobnosť pomocou vzdialenosti medzi dvoma bodmi v grafe. Čím väčšia je vzdialenosť medzi bodmi, tým sú si menej podobné. Existuje viacero spôsobov, ako vypočítať vzdialenosť medzi bodmi, ale najbežnejšou metrikou vzdialenosti je práve euklidovská vzdialenosť (vzdialenosť medzi dvoma bodmi v priamke).
KNN je algoritmus učenia pod dohľadom, čo znamená, že príklady v súbore údajov musia mať priradené označenia/ich triedy musia byť známe. O KNN treba vedieť ešte dve dôležité veci. Po prvé, KNN je neparametrický algoritmus. To znamená, že pri použití modelu sa nerobia žiadne predpoklady o súbore údajov. Model je skôr vytvorený výlučne z poskytnutých údajov. Po druhé, pri používaní KNN nedochádza k rozdeleniu súboru údajov na tréningové a testovacie súbory. KNN nerobí žiadne zovšeobecňovanie medzi tréningovou a testovacou sadou, takže všetky tréningové dáta sa použijú aj vtedy, keď je model požiadaný o predpovede.
Ako funguje algoritmus KNN
Algoritmus KNN prechádza pri vykonávaní tromi hlavnými fázami:
- Nastavenie K na zvolený počet susedov.
- Výpočet vzdialenosti medzi poskytnutým/testovacím príkladom a príkladmi množiny údajov.
- Triedenie vypočítaných vzdialeností.
- Získanie štítkov prvých K záznamov.
- Vrátenie predpovede o príklade testu.
V prvom kroku si užívateľ vyberie K a povie algoritmu, koľko susedov (koľko okolitých dátových bodov) by sa malo brať do úvahy pri posudzovaní skupiny, do ktorej patrí cieľový príklad. V druhom kroku si všimnite, že model kontroluje vzdialenosť medzi cieľovým príkladom a každým príkladom v množine údajov. Vzdialenosti sa potom pridajú do zoznamu a zoradia sa. Potom sa skontroluje triedený zoznam a vrátia sa označenia pre prvých K prvkov. Inými slovami, ak je K nastavené na 5, model skontroluje označenia prvých 5 údajových bodov najbližších k cieľovému údajovému bodu. Pri vykresľovaní predpovede o cieľovom údajovom bode je dôležité, či je úlohou a regresia or klasifikácia úloha. Pre regresnú úlohu sa používa priemer vrchných K označení, zatiaľ čo v prípade klasifikácie sa používa mód vrchných K označení.
Presné matematické operácie použité na vykonanie KNN sa líšia v závislosti od zvolenej metriky vzdialenosti. Ak by ste sa chceli dozvedieť viac o tom, ako sa metriky počítajú, môžete si prečítať o niektorých najbežnejších metrikách vzdialenosti, ako napr. euklidovský, Manhattana Minkowski.
Prečo na hodnote K záleží
Hlavným obmedzením pri použití KNN je, že môže byť zvolená nesprávna hodnota K (nesprávny počet susedov, ktorí sa majú zvážiť). Ak k tomu dôjde, predpovede, ktoré sa vrátia, môžu byť výrazne mimo. Je veľmi dôležité, aby sa pri použití algoritmu KNN vybrala správna hodnota pre K. Chcete vybrať hodnotu pre K, ktorá maximalizuje schopnosť modelu predpovedať neviditeľné údaje a zároveň znižuje počet chýb, ktoré robí.
Nižšie hodnoty K znamenajú, že predpovede poskytované KNN sú menej stabilné a spoľahlivé. Ak chcete získať intuíciu, prečo je to tak, zvážte prípad, keď máme okolo cieľového dátového bodu 7 susedov. Predpokladajme, že model KNN pracuje s hodnotou K 2 (žiadame ho, aby sa pozrel na dvoch najbližších susedov, aby urobil predpoveď). Ak veľká väčšina susedov (päť zo siedmich) patrí do modrej triedy, ale dvaja najbližší susedia sú náhodou Červení, model predpovedá, že príklad dotazu je Červený. Napriek modelkinmu odhadu by v takomto scenári bola Modrá lepší odhad.
Ak je to tak, prečo jednoducho nezvoliť najvyššiu hodnotu K, akú môžeme? Je to preto, že ak poviete modelu, aby zvážil príliš veľa susedov, zníži to aj presnosť. Keď sa polomer, ktorý model KNN zvažuje, zvyšuje, nakoniec začne zvažovať dátové body, ktoré sú bližšie k iným skupinám, než sú cieľové dátové body, a začne sa vyskytovať nesprávna klasifikácia. Napríklad, aj keď bol pôvodne vybraný bod v jednej z červených oblastí vyššie, ak by bolo K nastavené príliš vysoko, model by zasiahol do iných oblastí, aby zvážil body. Pri použití modelu KNN sa skúšajú rôzne hodnoty K, aby sa zistilo, ktorá hodnota dáva modelu najlepší výkon.
Výhody a nevýhody KNN
Pozrime sa na niektoré výhody a nevýhody modelu KNN.
Pros:
KNN možno použiť na regresné aj klasifikačné úlohy, na rozdiel od niektorých iných algoritmov učenia pod dohľadom.
KNN je vysoko presný a jednoduchý na používanie. Je ľahké ho interpretovať, pochopiť a implementovať.
KNN nevytvára žiadne predpoklady o údajoch, čo znamená, že ich možno použiť na širokú škálu problémov.
Nevýhody:
KNN ukladá väčšinu alebo všetky údaje, čo znamená, že model vyžaduje veľa pamäte a je výpočtovo nákladný. Veľké množiny údajov môžu tiež spôsobiť, že predpovede budú trvať dlho.
Ukázalo sa, že KNN je veľmi citlivý na rozsah súboru údajov a v porovnaní s inými modelmi ho môžu pomerne ľahko zhodiť irelevantné funkcie.
Súhrn K-Nearest Neighbors (KNN)
K-Nearest Neighbors je jedným z najjednoduchších algoritmov strojového učenia. Napriek tomu, aká jednoduchá je koncepcia KNN, je to tiež výkonný algoritmus, ktorý poskytuje pomerne vysokú presnosť pri väčšine problémov. Keď používate KNN, nezabudnite experimentovať s rôznymi hodnotami K, aby ste našli číslo, ktoré poskytuje najvyššiu presnosť.
Bloger a programátor so špecializáciou v Strojové učenie a Deep Learning témy. Daniel dúfa, že pomôže ostatným využívať silu AI pre sociálne dobro.
Možno budete chcieť
Prehodnotenie reprodukovateľnosti ako nová hranica vo výskume AI
Inžinier strojového učenia – zručnosti a kariérny postup
Boj o zastavenie podvádzania AI pri testoch
Umelá inteligencia pravdepodobne zvýši cenu produktov bez regulačných zásahov
Google predpokladá systém dopytov podobný GPT-3 bez výsledkov vyhľadávania
Čo je to učenie sa niekoľkými zábermi?