taló Què és un KNN (K-Nearest Neighbors)? - Unite.AI
Connecteu-vos amb nosaltres
Classe magistral d'IA:

IA 101

Què és un KNN (K-Nearest Neighbors)?

mm
actualitzat on

Què és K-Nearest Neighbours (KNN)?

K-Nearest Neighbors és una tècnica i algorisme d'aprenentatge automàtic que es pot utilitzar tant per a tasques de regressió com de classificació. K-Veïns més propers examinar les etiquetes d'un nombre escollit de punts de dades al voltant d'un punt de dades objectiu, per tal de fer una predicció sobre la classe en què es troba el punt de dades. K-Nearest Neighbors (KNN) és un algorisme conceptualment senzill però molt potent i, per aquests motius, és un dels algorismes d'aprenentatge automàtic més populars. Fem una immersió profunda en l'algorisme KNN i veiem exactament com funciona. Tenir una bona comprensió de com funciona KNN us permetrà apreciar els millors i pitjors casos d'ús de KNN.

Visió general dels K-Nearest Neighbours (KNN)

Foto: Antti Ajanki AnAj via Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)

Visualitzem un conjunt de dades en un pla 2D. Imagineu un munt de punts de dades en un gràfic, distribuïts al llarg del gràfic en petits grups. KNN examina la distribució dels punts de dades i, en funció dels arguments donats al model, separa els punts de dades en grups. A aquests grups se'ls assigna una etiqueta. El supòsit principal que fa un model KNN és ​​que els punts/instàncies de dades que existeixen molt a prop els uns dels altres són molt similars, mentre que si un punt de dades està lluny d'un altre grup és diferent d'aquests punts de dades.

Un model KNN calcula la similitud utilitzant la distància entre dos punts d'un gràfic. Com més gran sigui la distància entre els punts, menys semblants són. Hi ha diverses maneres de calcular la distància entre punts, però la mètrica de distància més comuna és només la distància euclidiana (la distància entre dos punts en línia recta).

KNN és ​​un algorisme d'aprenentatge supervisat, el que significa que els exemples del conjunt de dades han de tenir etiquetes assignades/les seves classes s'han de conèixer. Hi ha altres dues coses importants que cal saber sobre KNN. En primer lloc, KNN és ​​un algorisme no paramètric. Això vol dir que no es fan suposicions sobre el conjunt de dades quan s'utilitza el model. Més aviat, el model es construeix completament a partir de les dades proporcionades. En segon lloc, no hi ha cap divisió del conjunt de dades en conjunts d'entrenament i de prova quan s'utilitza KNN. KNN no fa generalitzacions entre un conjunt d'entrenament i de prova, de manera que totes les dades d'entrenament també s'utilitzen quan se li demana al model que faci prediccions.

Com funciona un algorisme KNN

Un algorisme KNN passa per tres fases principals a mesura que es porta a terme:

  1. Establint K al nombre de veïns escollit.
  2. Càlcul de la distància entre un exemple proporcionat/de prova i els exemples de conjunt de dades.
  3. Ordenant les distàncies calculades.
  4. Obtenció de les etiquetes de les K entrades principals.
  5. Devolució d'una predicció sobre l'exemple de prova.

En el primer pas, l'usuari tria K i indica a l'algorisme quants veïns (quants punts de dades circumdants) s'han de tenir en compte a l'hora de fer un judici sobre el grup al qual pertany l'exemple objectiu. En el segon pas, tingueu en compte que el model comprova la distància entre l'exemple objectiu i tots els exemples del conjunt de dades. Les distàncies s'afegeixen a una llista i s'ordenen. Després, es verifica la llista ordenada i es retornen les etiquetes dels K elements superiors. En altres paraules, si K s'estableix en 5, el model verifica les etiquetes dels 5 punts de dades més propers al punt de dades objectiu. Quan es fa una predicció sobre el punt de dades objectiu, importa si la tasca és a regressió or classificació tasca. Per a una tasca de regressió, s'utilitza la mitjana de les K etiquetes superiors, mentre que el mode de les K etiquetes superiors s'utilitza en el cas de la classificació.

Les operacions matemàtiques exactes utilitzades per dur a terme KNN difereixen en funció de la mètrica de distància escollida. Si voleu obtenir més informació sobre com es calculen les mètriques, podeu llegir sobre algunes de les mètriques de distància més habituals, com ara Euclidià, Manhattani Minkowski.

Per què importa el valor de K

La principal limitació a l'hora d'utilitzar KNN és ​​que en un valor inadequat de K (el nombre incorrecte de veïns a considerar) es podria triar. Si això succeeix, les prediccions que es retornen poden desactivar-se substancialment. És molt important que, quan s'utilitza un algorisme KNN, es tria el valor adequat per a K. Voleu triar un valor per a K que maximitzi la capacitat del model de fer prediccions sobre dades no vistes alhora que redueix el nombre d'errors que comet.

Foto: Agor153 via Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)

Valors més baixos de K signifiquen que les prediccions realitzades pel KNN són menys estables i fiables. Per tenir una intuïció de per què això és així, considereu un cas en què tenim 7 veïns al voltant d'un punt de dades objectiu. Suposem que el model KNN funciona amb un valor K de 2 (li demanem que miri els dos veïns més propers per fer una predicció). Si la gran majoria dels veïns (cinc de set) pertanyen a la classe Blava, però els dos veïns més propers només són vermells, el model predirà que l'exemple de consulta és vermell. Malgrat la conjectura del model, en un escenari així, el blau seria una millor suposició.

Si aquest és el cas, per què no triar el valor K més alt que podem? Això es deu al fet que dir-li al model que tingui en compte massa veïns també reduirà la precisió. A mesura que augmenta el radi que el model KNN considera, finalment començarà a considerar punts de dades que estiguin més a prop d'altres grups del que són el punt de dades objectiu i començarà a produir-se una classificació errònia. Per exemple, fins i tot si el punt que es va triar inicialment es trobava en una de les regions vermelles anteriors, si K s'establia massa alt, el model arribaria a les altres regions per considerar els punts. Quan s'utilitza un model KNN, s'intenten diferents valors de K per veure quin valor dóna al model el millor rendiment.

Pros i contres de KNN

Examinem alguns dels pros i contres del model KNN.

Pros:

KNN es pot utilitzar tant per a tasques de regressió com de classificació, a diferència d'altres algorismes d'aprenentatge supervisat.

KNN és ​​molt precís i senzill d'utilitzar. És fàcil d'interpretar, comprendre i implementar.

KNN no fa cap hipòtesi sobre les dades, és a dir, es pot utilitzar per a una gran varietat de problemes.

Contres:

KNN emmagatzema la majoria o totes les dades, la qual cosa significa que el model requereix molta memòria i és car computacionalment. Els grans conjunts de dades també poden fer que les prediccions triguin molt de temps.

KNN demostra ser molt sensible a l'escala del conjunt de dades i pot ser rebutjat per funcions irrellevants amb força facilitat en comparació amb altres models.

Resum de K-Nearest Neighbors (KNN)

K-Nearest Neighbors és un dels algorismes d'aprenentatge automàtic més senzills. Malgrat el simple que és KNN, en concepte, també és un algorisme potent que ofereix una precisió bastant alta en la majoria dels problemes. Quan utilitzeu KNN, assegureu-vos d'experimentar amb diversos valors de K per trobar el nombre que proporcioni la major precisió.