- Terminologija (A do D)
- Kontrola sposobnosti AI
- AI Ops
- albumacije
- Performanse imovine
- Autokoder
- Širenje unatrag
- Bayesov teorem
- Big Podaci
- Chatbot: Vodič za početnike
- Računalno razmišljanje
- računalni vid
- Matrica zabune
- Konvolucionarne neuronske mreže
- Cybersecurity
- Data Fabric
- Pripovijedanje podataka
- Znanost podatke
- Skladištenje podataka
- Stablo odlučivanja
- Deepfakes
- Duboko učenje
- Učenje dubokog pojačanja
- DevOps
- DevSecOps
- Difuzijski modeli
- Digitalni blizanci
- Smanjenje dimenzija
- Terminologija (E do K)
- Edge AI
- Emocija AI
- Učenje ansambla
- Etičko hakiranje
- ETL
- Objašnjiva AI
- Federalno učenje
- FinOps
- Generativna AI
- Generativna savjetodavna mreža
- Generativno protiv diskriminacije
- Pojačavanje gradijenta
- Gradijentni silazak
- Malokratno učenje
- Klasifikacija slika
- IT operacije (ITOPs)
- Automatizacija incidenata
- Inženjering utjecaja
- Klasteriranje K-sredstava
- K-najbliži susjedi
- Terminologija (L do Q)
- Terminologija (R do Z)
- Učenje ojačanja
- Odgovorna umjetna inteligencija
- RLHF
- Robotska automatizacija procesa
- Strukturirani protiv nestrukturiranih
- Analiza osjećaja
- Nadzirani vs nenadzirani
- Podrška vektorskih strojeva
- Sintetički podaci
- Sintetički mediji
- Klasifikacija teksta
- TinyML
- Prijenos učenja
- Transformatorske neuronske mreže
- Turingov test
- Pretraživanje sličnosti vektora
AI 101
Što je KNN (K-najbliži susjedi)?
Sadržaj
Što je K-najbliži susjed (KNN)?
K-Nearest Neighbors tehnika je strojnog učenja i algoritam koji može se koristiti i za regresijske i za klasifikacijske zadatke. K-najbliži susjedi pregledan oznake odabranog broja podatkovnih točaka okružuje ciljanu podatkovnu točku, kako bi se napravilo predviđanje o klasi u koju podatkovna točka spada. K-Nearest Neighbors (KNN) konceptualno je jednostavan, ali vrlo moćan algoritam i iz tih je razloga jedan od najpopularnijih algoritama strojnog učenja. Zaronimo duboko u KNN algoritam i vidimo kako točno radi. Dobro razumijevanje načina na koji KNN funkcionira omogućit će vam da cijenite najbolje i najgore slučajeve upotrebe KNN-a.
Pregled K-najbližih susjeda (KNN)
Vizualizirajmo skup podataka na 2D ravnini. Zamislite hrpu podatkovnih točaka na grafikonu, raširenih duž grafikona u malim skupinama. KNN ispituje distribuciju podatkovnih točaka i, ovisno o argumentima danim modelu, razdvaja podatkovne točke u skupine. Tim grupama se zatim dodjeljuje oznaka. Primarna pretpostavka koju donosi KNN model jest da su podatkovne točke/instance koje postoje u neposrednoj blizini jedna drugoj vrlo slične, dok ako je podatkovna točka daleko od druge skupine, ona je različita od tih podatkovnih točaka.
KNN model izračunava sličnost pomoću udaljenosti između dviju točaka na grafikonu. Što je veća udaljenost između točaka, manje su slične. Postoji više načina za izračunavanje udaljenosti između točaka, ali najčešća metrika udaljenosti je samo Euklidska udaljenost (udaljenost između dviju točaka u ravnoj liniji).
KNN je nadzirani algoritam učenja, što znači da primjeri u skupu podataka moraju imati dodijeljene oznake/njihove klase moraju biti poznate. Postoje još dvije važne stvari koje treba znati o KNN-u. Prvo, KNN je neparametarski algoritam. To znači da se ne donose nikakve pretpostavke o skupu podataka kada se koristi model. Naprotiv, model je u potpunosti konstruiran na temelju dostavljenih podataka. Drugo, nema dijeljenja skupa podataka na skupove za obuku i testove kada se koristi KNN. KNN ne generalizira između skupa za obuku i skupa za testiranje, tako da se svi podaci o obuci također koriste kada se od modela traži da napravi predviđanja.
Kako radi KNN algoritam
KNN algoritam prolazi kroz tri glavne faze dok se provodi:
- Postavljanje K na odabrani broj susjeda.
- Izračunavanje udaljenosti između dostavljenog/testnog primjera i primjera skupa podataka.
- Razvrstavanje izračunatih udaljenosti.
- Dohvaćanje oznaka za najviše K unosa.
- Vraćanje predviđanja o testnom primjeru.
U prvom koraku K odabire korisnik i on govori algoritmu koliko susjeda (koliko okolnih podatkovnih točaka) treba uzeti u obzir pri donošenju suda o skupini kojoj ciljni primjer pripada. U drugom koraku imajte na umu da model provjerava udaljenost između ciljanog primjera i svakog primjera u skupu podataka. Udaljenosti se zatim dodaju na popis i sortiraju. Nakon toga, sortirani popis se provjerava i vraćaju se oznake za gornji K elemenata. Drugim riječima, ako je K postavljen na 5, model provjerava oznake prvih 5 najbližih podatkovnih točaka ciljnoj podatkovnoj točki. Prilikom generiranja predviđanja o ciljnoj podatkovnoj točki, važno je je li zadatak a regresija or klasifikacija zadatak. Za regresijski zadatak koristi se srednja vrijednost gornjih K oznaka, dok se način gornjih K oznaka koristi u slučaju klasifikacije.
Točne matematičke operacije koje se koriste za izvođenje KNN razlikuju se ovisno o odabranoj metrici udaljenosti. Ako želite saznati više o tome kako se metrika izračunava, možete pročitati o nekim od najčešćih metrika udaljenosti, kao što su euklidska, Manhattani Minkowski.
Zašto je vrijednost K važna
Glavno ograničenje pri korištenju KNN je da se može odabrati neodgovarajuća vrijednost K (pogrešan broj susjeda koji treba uzeti u obzir). Ako se to dogodi, vraćena predviđanja mogu biti značajno netočna. Vrlo je važno da se, kada se koristi KNN algoritam, odabere odgovarajuća vrijednost za K. Želite odabrati vrijednost za K koja maksimalno povećava sposobnost modela da daje predviđanja na nevidljivim podacima, a istovremeno smanjuje broj pogrešaka koje čini.
Niže vrijednosti K znače da su predviđanja koja donosi KNN manje stabilna i pouzdana. Da biste dobili intuiciju zašto je to tako, razmotrite slučaj u kojem imamo 7 susjeda oko ciljne podatkovne točke. Pretpostavimo da KNN model radi s K vrijednošću 2 (tražimo od njega da pogleda dva najbliža susjeda kako bi napravio predviđanje). Ako velika većina susjeda (pet od sedam) pripada Blue klasi, ali su dva najbliža susjeda slučajno Red, model će predvidjeti da je primjer upita Red. Unatoč pretpostavkama modela, u takvom scenariju Plava bi bila bolja pretpostavka.
Ako je to slučaj, zašto jednostavno ne bismo odabrali najveću moguću vrijednost K? To je zato što će modelu reći da uzme u obzir previše susjeda također smanjiti točnost. Kako se radijus koji KNN model uzima u obzir povećava, on će na kraju početi razmatrati podatkovne točke koje su bliže drugim grupama nego što su ciljne podatkovne točke i počet će dolaziti do pogrešne klasifikacije. Na primjer, čak i ako je točka koja je inicijalno odabrana bila u jednom od gornjih crvenih područja, ako je K postavljen previsoko, model bi posegnuo u druga područja kako bi razmotrio točke. Kada se koristi KNN model, različite vrijednosti K se pokušavaju vidjeti koja vrijednost daje najbolju izvedbu modela.
KNN za i protiv
Ispitajmo neke prednosti i nedostatke KNN modela.
Pros:
KNN se može koristiti i za zadatke regresije i klasifikacije, za razliku od nekih drugih algoritama za nadzirano učenje.
KNN je vrlo precizan i jednostavan za korištenje. Lako ga je interpretirati, razumjeti i implementirati.
KNN ne donosi nikakve pretpostavke o podacima, što znači da se mogu koristiti za širok raspon problema.
Cons:
KNN pohranjuje većinu ili sve podatke, što znači da model zahtijeva puno memorije i računalno je skup. Veliki skupovi podataka također mogu uzrokovati dugotrajno predviđanje.
KNN se pokazao vrlo osjetljivim na veličinu skupa podataka i može ga se prilično lako odbaciti irelevantnim značajkama u usporedbi s drugim modelima.
Sažetak K-najbližih susjeda (KNN)
K-Nearest Neighbors jedan je od najjednostavnijih algoritama strojnog učenja. Unatoč tome koliko je KNN jednostavan, u konceptu je također moćan algoritam koji daje prilično visoku točnost kod većine problema. Kada koristite KNN, svakako eksperimentirajte s različitim vrijednostima K kako biste pronašli broj koji pruža najveću točnost.
Bloger i programer sa specijalnošću u Strojno učenje i Duboko učenje temama. Daniel se nada pomoći drugima da iskoriste snagu umjetne inteligencije za društveno dobro.
Svibanj vam se sviđa
Ponovno promišljanje ponovljivosti kao nove granice u istraživanju umjetne inteligencije
Inženjer strojnog učenja – vještine i karijera
Borba za sprječavanje AI u varanju na testovima
AI će vjerojatno povećati cijene proizvoda, bez intervencije regulatora
Google predviđa sustav upita sličan GPT-3, bez rezultata pretraživanja
Što je malokratno učenje?