- Terminologija (A do D)
- Nadzor zmogljivosti AI
- AIOps
- Albumentacije
- Učinkovitost sredstev
- Samodejni kodirnik
- Razmnoževanje
- Bayesov izrek
- Big Podatki
- Chatbot: vodnik za začetnike
- Računalniško razmišljanje
- Računalniška vizija
- Matrica zmede
- Konvolucijsko nevronsko omrežje
- Cybersecurity
- Podatkovna tkanina
- Podatkovno pripovedovanje zgodb
- Znanost podatki
- Skladiščenje podatkov
- Drevo odločitve
- Deepfakes
- Globoko učenje
- Učenje poglobljenega okrepitve
- DevOps
- DevSecOps
- Difuzijski modeli
- Digital Twin
- Zmanjšanje dimenzij
- Terminologija (E do K)
- Edge AI
- AI čustva
- Učenje ansambla
- Etično vdiranje
- ETL
- Razložljiv AI
- Zvezno učenje
- FinOps
- Generativna AI
- Generacijska svetovalna mreža
- Generativno proti diskriminaciji
- Gradient krepitev
- Gradient spust
- Nekajkratno učenje
- Razvrstitev slik
- IT operacije (ITOPs)
- Avtomatizacija incidentov
- Inženiring vpliva
- K-pomeni združevanje v gruče
- K-Najbližji sosedje
- Terminologija (L do Q)
- Terminologija (R do Ž)
- Okrepitveno učenje
- Odgovorni AI
- RLHF
- Robotska procesna avtomatizacija
- Strukturirano proti nestrukturiranemu
- Analiza občutka
- Nadzorovani proti nenadzorovanim
- Podporni vektorski stroji
- Sintetični podatki
- Sintetični mediji
- Razvrstitev besedil
- TinyML
- Prenosno učenje
- Transformatorske nevronske mreže
- Turingov test
- Iskanje podobnosti vektorjev
AI 101
Kaj je KNN (K-najbližji sosedje)?
Kazalo vsebine
Kaj so K-najbližji sosedje (KNN)?
K-Nearest Neighbors je tehnika strojnega učenja in algoritem, ki se lahko uporablja za naloge regresije in klasifikacije. K-Najbližji sosedje preučiti oznake izbranega števila podatkovnih točk ki obkrožajo ciljno podatkovno točko, da bi naredili napoved o razredu, v katerega sodi podatkovna točka. K-Nearest Neighbors (KNN) je konceptualno preprost, a zelo zmogljiv algoritem in je zaradi teh razlogov eden najbolj priljubljenih algoritmov strojnega učenja. Poglobimo se v algoritem KNN in natančno poglejmo, kako deluje. Če boste dobro razumeli, kako deluje KNN, boste lahko cenili najboljše in najslabše primere uporabe KNN.
Pregled K-najbližjih sosedov (KNN)
Vizualizirajmo nabor podatkov na 2D ravnini. Predstavljajte si množico podatkovnih točk na grafu, razporejenih po grafu v majhnih skupinah. KNN preuči porazdelitev podatkovnih točk in glede na argumente, podane modelu, loči podatkovne točke v skupine. Tem skupinam se nato dodeli oznaka. Primarna predpostavka modela KNN je, da so si podatkovne točke/primeri, ki obstajajo v neposredni bližini druga druge, zelo podobni, medtem ko je podatkovna točka daleč od druge skupine drugačna od teh podatkovnih točk.
Model KNN izračuna podobnost z uporabo razdalje med dvema točkama na grafu. Večja kot je razdalja med točkama, manj sta si podobni. Obstaja več načinov za izračun razdalje med točkami, vendar je najpogostejša metrika razdalje le evklidska razdalja (razdalja med dvema točkama v ravni črti).
KNN je algoritem za nadzorovano učenje, kar pomeni, da morajo imeti primeri v naboru podatkov dodeljene oznake/njihovi razredi morajo biti znani. O KNN je treba vedeti še dve pomembni stvari. Prvič, KNN je neparametrični algoritem. To pomeni, da pri uporabi modela ni nobenih predpostavk o naboru podatkov. Namesto tega je model v celoti sestavljen iz posredovanih podatkov. Drugič, pri uporabi KNN nabor podatkov ni razdeljen na nabore za usposabljanje in teste. KNN ne posplošuje med naborom za usposabljanje in testiranjem, zato se vsi podatki o usposabljanju uporabijo tudi, ko se od modela zahteva napovedi.
Kako deluje algoritem KNN
Algoritem KNN gre med izvajanjem skozi tri glavne faze:
- Nastavitev K na izbrano število sosedov.
- Izračun razdalje med podanim/testnim primerom in primeri nabora podatkov.
- Razvrščanje izračunanih razdalj.
- Pridobivanje oznak najboljših K vnosov.
- Vrnitev napovedi o testnem primeru.
V prvem koraku K izbere uporabnik in algoritmu pove, koliko sosedov (koliko okoliških podatkovnih točk) je treba upoštevati pri podajanju presoje o skupini, ki ji ciljni primer pripada. V drugem koraku upoštevajte, da model preveri razdaljo med ciljnim primerom in vsakim primerom v naboru podatkov. Razdalje se nato dodajo na seznam in razvrstijo. Nato se pregleda razvrščeni seznam in vrnejo se oznake za zgornje elemente K. Z drugimi besedami, če je K nastavljen na 5, model preveri oznake prvih 5 podatkovnih točk, ki so najbližje ciljni podatkovni točki. Pri upodabljanju napovedi o ciljni podatkovni točki je pomembno, ali je naloga a regresija or Razvrstitev naloga. Za regresijsko nalogo se uporabi povprečje zgornjih K oznak, medtem ko se v primeru klasifikacije uporabi način zgornjih K oznak.
Natančne matematične operacije, ki se uporabljajo za izvedbo KNN, se razlikujejo glede na izbrano metriko razdalje. Če želite izvedeti več o tem, kako se meritve izračunajo, si lahko preberete o nekaterih najpogostejših meritvah razdalje, kot je npr. evklidsko, Manhattanin Minkowski.
Zakaj je vrednost K pomembna
Glavna omejitev pri uporabi KNN je, da se lahko izbere neustrezna vrednost K (upošteva se napačno število sosedov). Če se to zgodi, so lahko vrnjene napovedi bistveno drugačne. Zelo pomembno je, da je pri uporabi algoritma KNN izbrana pravilna vrednost za K. Izbrati želite vrednost za K, ki maksimira sposobnost modela za napovedovanje nevidnih podatkov, hkrati pa zmanjša število napak, ki jih naredi.
Nižje vrednosti K pomenijo, da so napovedi, ki jih prikaže KNN, manj stabilne in zanesljive. Da bi dobili intuicijo, zakaj je tako, razmislite o primeru, ko imamo 7 sosedov okoli ciljne podatkovne točke. Predpostavimo, da model KNN deluje z vrednostjo K 2 (prosimo ga, da pogleda dva najbližja soseda, da naredi napoved). Če velika večina sosedov (pet od sedmih) pripada modremu razredu, vendar sta dva najbližja soseda po naključju rdeča, bo model predvidel, da je primer poizvedbe rdeč. Kljub ugibanju modela bi bila v takem scenariju modra boljša ugibanje.
Če je temu tako, zakaj ne bi preprosto izbrali najvišje vrednosti K, ki jo lahko? Če naročite modelu, naj upošteva preveč sosedov, se bo namreč zmanjšala tudi natančnost. Ko se polmer, ki ga upošteva model KNN, poveča, bo sčasoma začel upoštevati podatkovne točke, ki so bližje drugim skupinam, kot so ciljne podatkovne točke, in začelo se bo pojavljati napačno razvrščanje. Na primer, tudi če je bila točka, ki je bila prvotno izbrana, v enem od zgornjih rdečih območij, če bi bil K nastavljen previsoko, bi model segel v druga območja in upošteval točke. Pri uporabi modela KNN se poskusijo različne vrednosti K, da se ugotovi, katera vrednost daje modelu najboljšo zmogljivost.
Prednosti in slabosti KNN
Oglejmo si nekaj prednosti in slabosti modela KNN.
Prednosti:
KNN se lahko uporablja tako za naloge regresije kot klasifikacije, za razliko od nekaterih drugih algoritmov za nadzorovano učenje.
KNN je zelo natančen in enostaven za uporabo. Enostaven za interpretacijo, razumevanje in izvajanje.
KNN ne daje nobenih predpostavk o podatkih, kar pomeni, da jih je mogoče uporabiti za najrazličnejše težave.
Slabosti:
KNN shrani večino ali vse podatke, kar pomeni, da model zahteva veliko pomnilnika in je računsko drag. Veliki nabori podatkov lahko tudi povzročijo, da napovedi trajajo dolgo.
Izkazalo se je, da je KNN zelo občutljiv na obseg nabora podatkov in ga lahko v primerjavi z drugimi modeli dokaj enostavno izločijo nepomembne funkcije.
Povzetek K-najbližjih sosedov (KNN)
K-Nearest Neighbors je eden najpreprostejših algoritmov strojnega učenja. Kljub temu, kako preprost je KNN, je v konceptu tudi zmogljiv algoritem, ki zagotavlja dokaj visoko natančnost pri večini problemov. Ko uporabljate KNN, ne pozabite eksperimentirati z različnimi vrednostmi K, da bi našli število, ki zagotavlja največjo natančnost.
Bloger in programer s posebnostmi v strojno učenje in Globoko učenje teme. Daniel upa, da bo drugim pomagal uporabiti moč umetne inteligence za družbeno dobro.
Morda vam bo všeč
Ponovno razmišljanje o ponovljivosti kot novi meji v raziskavah umetne inteligence
Inženir strojnega učenja – spretnosti in poklicna pot
Boj za preprečevanje goljufanja AI pri testih
AI bo izdelke verjetno podražil višje, brez regulativnega posega
Google predvideva sistem poizvedb, podoben GPT-3, brez rezultatov iskanja
Kaj je nekajkratno učenje?