Ce înseamnă k-NN (cei mai apropiați k vecini)
k-NN (k-Nearest Neighbors) este una dintre cele mai simple metode de machine learning. Ca să decidă ce este un exemplu nou, caută în datele cunoscute cele mai asemănătoare k exemple („vecinii”) și alege categoria cea mai frecventă printre ele. La regresie, face media valorilor vecinilor.
Particularitatea lui: nu are o etapă de antrenare propriu-zisă. Doar păstrează toate exemplele și face calculele abia când primește o întrebare. De aceea este numit uneori „învățare leneșă”.
Cum funcționează
Fiecare exemplu este reprezentat ca un punct într-un spațiu cu atâtea dimensiuni câte caracteristici are. Asemănarea se măsoară prin distanță, de obicei distanța obișnuită dintre două puncte. Valoarea lui k este un hiperparametru: un k prea mic face modelul sensibil la excepții, unul prea mare estompează diferențele.
Două atenționări practice: caracteristicile trebuie aduse la aceeași scară (altfel, venitul în lei domină complet vârsta în ani), iar căutarea vecinilor devine lentă când ai milioane de exemple, motiv pentru care se folosesc structuri de căutare aproximativă, ca în bazele de date vectoriale.
Pe înțelesul tuturor
Te muți într-un cartier nou și vrei să știi dacă e liniștit. Întrebi cei mai apropiați cinci vecini; dacă patru spun „da”, concluzionezi că e liniștit. k-NN face exact asta, cu date.
Exemplu
Un sortator de fructe măsoară greutatea și culoarea unui fruct nou. Printre cele mai apropiate 5 fructe cunoscute (k = 5), 3 sunt pere și 2 mere, deci fructul este clasificat drept pară. Se aleg de obicei valori impare pentru k la două categorii, ca să nu existe egalitate la vot.
De reținut
- k-NN decide după cele mai apropiate k exemple cunoscute.
- Nu are antrenare propriu-zisă, dar predicțiile pot fi lente pe date mari.
- Caracteristicile trebuie normalizate, altfel distanțele sunt înșelătoare.
Nu confunda
- k-NN vs. k-means: k-NN este o metodă supervizată, care clasifică folosind exemple etichetate; k-means este o metodă nesupervizată, care formează k grupuri din date fără etichete.
Termeni înrudiți
- Clasificare: Sarcina de machine learning în care modelul pune fiecare exemplu într-o categorie dintr-o listă fixă, de exemplu „spam” sau „nu e spam”.
- Clustering (grupare): Tehnică de învățare nesupervizată care grupează automat datele asemănătoare, fără etichete date dinainte.
- Embedding: Transformarea unui text, a unei imagini sau a unui sunet într-o listă de numere care îi surprinde sensul; lucrurile asemănătoare ajung apropiate.
- Căutare semantică: Căutare care înțelege sensul întrebării, nu doar cuvintele ei, și găsește rezultate relevante chiar dacă folosesc alte cuvinte.
- Hiperparametri: Setările alese de om înainte de antrenare (rată de învățare, număr de epoci, mărimea rețelei), care nu sunt învățate din date.