Partea 1 a unei serii despre algoritmi introductivi de învățare automată
Dacă sunteți familiarizat cu învățarea automată și algoritmii de bază care sunt folosit pe teren, atunci probabil că ați auzit de algoritmul pentru cei mai apropiați k sau KNN. Acest algoritm este una dintre cele mai simple tehnici utilizate în învățarea automată. Este o metodă preferată de mulți din industrie datorită ușurinței sale de utilizare și a timpului redus de calcul.
Ce este KNN? KNN este un model care clasifică punctele de date pe baza punctelor care sunt cele mai asemănătoare cu acesta. Folosește datele de testare pentru a face o „presupunere educată” cu privire la ceea ce ar trebui clasificat un punct neclasificat.
Pro:
- Ușor de utilizat.
- Timp de calcul rapid.
- Nu face presupuneri cu privire la date.
Contra:
- Precizia depinde de calitatea date.
- Trebuie să găsească o valoare k optimă (numărul celor mai apropiați vecini).
- Slabă la clasificarea punctelor de date într-o limită unde pot fi clasificate într-un fel sau altul.
KNN este un algoritm care este considerat atât parametric, cât și un exemplu de leneș învățare. Ce înseamnă exact acești doi termeni?
- Non-parametric înseamnă că nu face presupuneri. Modelul este alcătuit în întregime din datele care i-au fost date, mai degrabă decât presupunând că structura sa este normală.
- Învățarea leneșă înseamnă că algoritmul nu generează neralizări. Aceasta înseamnă că există puțină pregătire implicată atunci când se utilizează această metodă. Din această cauză, toate datele de instruire sunt utilizate și în testare atunci când se utilizează KNN.
Unde se folosește KNN
KNN este adesea utilizat în sisteme de recomandare simple, imagine tehnologie de recunoaștere și modele de luare a deciziilor. Companiile de algoritmi precum Netflix sau Amazon folosesc pentru a recomanda diferite filme de vizionat sau cărți de cumpărat. Netflix a lansat chiar și competiția pentru Premiul Netflix, acordând 1 milion de dolari echipei care a creat cel mai precis algoritm de recomandare!
S-ar putea să vă întrebați „Dar cum fac aceste companii acest lucru?” Ei bine, aceste companii vor aplica KNN pe un set de date colectat despre filmele pe care le-ați vizionat sau cărțile pe care le-ați cumpărat de pe site-ul lor web. Aceste companii vor introduce datele dvs. disponibile despre clienți și le vor compara cu alți clienți care au vizionat filme similare sau cumpărate cărți similare. Acest punct de date va fi apoi clasificat ca un anumit profil bazat pe trecutul lor folosind KNN. Filmele și cărțile recomandate vor depinde apoi de modul în care algoritmul clasifică acel punct de date.
Imaginea de mai sus afișează modul în care funcționează KNN atunci când încearcă să clasifice un punct de date pe baza unui set de date dat. Este comparat cu cele mai apropiate puncte ale acestuia și clasificat în funcție de ce puncte este cel mai apropiat și cel mai asemănător. Aici puteți vedea punctul Xj va fi clasificat fie ca W1 (roșu), fie ca W3 (verde) pe baza distanței sale față de fiecare grup de puncte.
Ma tematică din spatele KNN
La fel ca aproape orice altceva, KNN funcționează datorită teoriilor matematice adânc înrădăcinate pe care le folosește. La implementarea KNN, primul pas este transformarea punctelor de date în vectori caracteristici, sau valoarea lor matematică. Algoritmul funcționează apoi găsind distanța dintre valorile matematice ale acestor puncte. Cel mai comun mod de a găsi această distanță este distanța euclidiană, așa cum se arată mai jos.
KNN rulează această formulă pentru a calcula distanța dintre fiecare punct de date și datele de testare. Apoi găsește probabilitatea ca aceste puncte să fie similare cu datele testului și le clasifică pe baza punctelor care au cele mai mari probabilități.
Pentru a vizualiza această formulă, ar arăta cam așa:
Concluzie
Acum știți fundamentele unuia dintre cei mai de bază algoritmi de învățare automată .Este un loc minunat pentru a începe când învățați să construiți modele bazate pe diferite seturi de date. Dacă aveți un set de date cu o mulțime de puncte diferite și informații exacte, acesta este un loc minunat pentru a începe explorarea învățării automate cu KNN.
Când doriți să începeți să utilizați acest algoritm, țineți cont de aceste trei puncte:
- Mai întâi, găsiți un set de date care va fi ușor de lucrat, în mod ideal unul cu multe puncte diferite și date etichetate.
- În al doilea rând, aflați ce limbă va fi cel mai ușor de utilizat pentru a rezolva problema. Sunt cel mai familiarizat cu utilizarea KNN în R, dar Python este, de asemenea, un limbaj popular printre profesioniștii din învățarea automată.
- În al treilea rând, faceți-vă cercetările. Este important să învățați practicile corecte pentru utilizarea acestui algoritm, astfel încât să găsiți cele mai precise rezultate din setul dvs. de date.
Au fost efectuate diverse studii cu privire la modul în care acest algoritm poate fi îmbunătățit. Aceste studii își propun să o facă astfel încât să puteți cântări diferit categoriile pentru a face o clasificare mai precisă. Ponderarea acestor categorii variază în funcție de modul în care este calculată distanța.
În concluzie, acesta este un algoritm fundamental de învățare automată, care este de încredere din mai multe motive, cum ar fi ușurința utilizării și timpul de calcul rapid. Este un algoritm bun de utilizat atunci când începeți să explorați lumea învățării automate, dar are încă loc de îmbunătățire și modificare.