Sunteți pe pagina 1din 7

Curs 1 SIA Exemplu

Algoritmul de clasificare al celor mai apropiati K Vecini (K-Nearest


Neighbors)

Un clasificator este definit ca o funcţie care returnează clasa unei entitati caracterizate prin
atribute. Reprezentarea particulara a entitatii respective se face prin vectorul de trăsături
caracteristice.

Clasificatorul k-NN poate fi considerat cel mai simplu clasificator deorece nu are o
etapa de invatare pentru setul de instruire.
Pentru a clasifica sau prezice o noua dată, metoda se bazează pe găsirea altor înregistrări
similare în datele de antrenament. Aceşti “vecini” sunt apoi folosiţi pentru a deriva o clasificare/
predicţie pentru noul obiect prin votare sau printr-o medie.
În recunoaşterea modelelor, algoritmul KNN este o metodă de clasificare a obiectelor
folosindu-se de cele mai apropiate k obiecte din setul de antrenament. KNN foloseşte
învăţarea bazată pe instanţe (sau învaţarea întârziată), unde funcţia este aproximată local
iar calculele efective se fac practic la clasificare.
KNN este unul dintre cei mai simpli algoritmi de învaţare automată: un obiect este
clasificat înfuncţie de media sau votul majoritar al vecinilor săi, de cele mai multe ori
fiind clasat în categorie din care fac parte cei mai multi dintre cei k vecini. K este un
număr întreg, pozitiv, în general mic.

Se consideră reprezentare noului obiect ca fiind


(x1,x2,..xn), unde x1,x2..xn reprezintă valorile
atributelor obiectului. Căutam date în setul de
instruire care sunt similare sau apropiate
înregistrării care urmează să fie clasificată
(datele care au valori apropiate lui x1, x2,.. xn).
Apoi, pe baza claselor din care fac parte datele
găsite, se atribuie o clasă obiectului necatalogat.
Determinarea vecinilor
Algoritmul K-NN este o metodă de clasificare care nu ţine cont de relaţiile dintre membrii
claselor şi a atributelor (X1..Xn), ci se foloseşte de informaţiile extrase din similitudinile dintre
valorile atributelor înregistrărilor. Vecinii sunt aleşi dintr-un set de obiecte pentru care se
cunoaşte clasificarea corectă. Ei pot fi consideraţi ca fiind echivalentul datelor de învăţare, deşi
nu există o etapă specifică de antrenare.
Etapa de instruire pentru algoritmul KNN constă doar în memorarea vectorilor de trăsături și a
etichetelor corespunzătoare claselor pentru exemplele de instruire. În faza de clasificare
propriu-zisă (în etapa de testare), unui element din setul de testare i se atribuie clasa
corespunzătoare ca fiind cea mai frecventă clasă dintre clasele celor k exemple de instruire,
cele mai apropiate de exemplul de testare.

Pentru identificarea vecinilor, obiectele sunt reprezentate ca vectori de poziţie într-un spaţiu
multi-dimensional caracteristic. În momentul actual de clasificare, datele de test (a caror clasă e
necunoscută) sunt reprezentate şi ele ca un vector în spaţiul caracteristic.
Se calculează distanţa de la noul vector la cei existenţi şi se selectează primii k cu cea mai
mică distanţă. Problema care apare în acest moment este modalitatea de determinare a distanţei
dintre obiecte pe baza atributelor lor. Cea mai utilizată metoda de calcul a distanţei este
distanţa Euclidiană. Astfel, distanţa Euclidiană dintre două obiecte, unul din setul de date de
antrenament (x1,..,xn) şi unul nou care trebuie catalogat (x’1,..,x’n) este:

Regula de clasificare
După calcularea distanţei dintre obiectul care trebuie clasificat şi celelate înregistrări, este
necesară o regulă de asociere a acestuia la una din clasele primilor k vecini cu cea mai mică
distanţă. Spaţiul este împărţit în regiuni de locaţie şi etichete pentru datele de instruire. Un punct
în spaţiu este atribuit unei clase c, dacă media clasei c are cea mai mica distanta fata de a tuturor
claselor celor mai apropiate k date de instruire. Există mai multe tehnici de clasificare a noului
vector la o clasă particulară, cea mai utilizată fiind adăugarea acestuia la clasa predominantă a
celor k vecini. Principala problemă este faptul că clasele cu exemplare numeroase influenţează
catalogarea noului vector deoarece apar mai des printre cei k vecini selectaţi.
Alegerea corectă a valorii lui k se face în funcţie de date
De obicei, pentru un k mare se reduce “zgomotul” în procesul de clasificare, însă trasează
bariere clare între clasele asemănătoare. Pentru alegerea unui k potrivit se pot utiliza diferite
metode euristice (de exemplu, cross-validation-validarea încrucişata). Cazul special în care un
obiect este atribuit clasei cu cel mai similar exemplar (k=1) este numit algoritmul “nearest
neighbor“ (cel mai apropiat vecin).

Utilizare KNN pentru Regresie


Avantaje şi dezavantaje ale algoritmului K - NN
Principalul avantaj al K-NN este simplitatea şi lipsa presupunerilor parametrizate. De
asemenea, în cazul unui set de date de antrenament mare, algoritmul are rezultate foarte
bune. Un alt factor care influenţează performanţa algoritmului este caracterizarea unei
clase prin multilple combinaţii de atribute. Dificultăţile observate au în vedere faptul că
precizia algoritmului KNN este afectată de existenţa zgomotului sau a caracteristicilor
irelevante. O alta problemă sesizată se referă la durata găsirii celui mai apropiat vecin,
care este destul de mare, mai ales în cazul unui set de date de instruire voluminos.

S-ar putea să vă placă și