Errore di addestramento nel classificatore KNN quando K = 1


8

Ho ricevuto questa domanda in un quiz, mi ha chiesto quale sarà l'errore di addestramento per un classificatore KNN quando K = 1. Cosa significa formazione per un classificatore KNN? La mia comprensione del classificatore KNN era che considera l'intero set di dati e assegna a ogni nuova osservazione il valore della maggior parte dei vicini K più vicini. Da dove viene la formazione? Inoltre, la risposta corretta fornita è che l'errore di addestramento sarà zero indipendentemente da qualsiasi set di dati. Com'è possibile?

Risposte:


13

L'errore di allenamento qui è l'errore che avrai quando inserisci il tuo set di allenamento su KNN come set di test. Quando K = 1, sceglierai il campione di allenamento più vicino al tuo campione di prova. Poiché il tuo campione di test si trova nel set di dati di allenamento, sceglierà se stesso come il più vicino e non commetterà mai errori. Per questo motivo, l'errore di addestramento sarà zero quando K = 1, indipendentemente dal set di dati. A proposito, c'è un presupposto logico, e cioè che il tuo set di allenamento non includerà gli stessi campioni di allenamento appartenenti a classi diverse, cioè informazioni contrastanti. Tuttavia, alcuni set di dati del mondo reale potrebbero avere questa proprietà.


3

Per una comprensione visiva, puoi pensare all'addestramento di KNN come a un processo di colorazione delle regioni e di definizione dei confini attorno ai dati di allenamento.

Possiamo prima tracciare i confini attorno a ciascun punto del set di allenamento con l'intersezione delle bisettrici perpendicolari di ogni coppia di punti. (l'animazione bisettrice perpendicolare è mostrata di seguito)

animazione bisettrice perpendicolare

fonte gif

Per scoprire come colorare le regioni all'interno di questi confini, per ogni punto guardiamo al colore del vicino. Quando , per ogni punto dati, , nel nostro set di allenamento, vogliamo trovare un altro punto, , che abbia la minima distanza da . La distanza più breve possibile è sempre , il che significa che il nostro "vicino più vicino" è in realtà il punto dati originale stesso, .K=1xxx0x=x

Per colorare le aree all'interno di questi confini, cerchiamo la categoria corrispondente ad ogni . Diciamo che le nostre scelte sono blu e rosse. Con , coloriamo le regioni che circondano i punti rossi con il rosso e le regioni che circondano il blu con il blu. Il risultato sarebbe simile al seguente:xK=1

k = 1 con tutti i confini

Si noti come sono presenti punti rossi in regioni blu e viceversa. Questo ci dice che c'è un errore di addestramento di 0.

Nota che i confini delle decisioni sono di solito tracciati solo tra le diverse categorie, (elimina tutti i confini blu-blu rosso-rosso) in modo che i tuoi limiti decisionali possano apparire più simili a questo:

inserisci qui la descrizione dell'immagine

Ancora una volta, tutti i punti blu sono all'interno dei confini blu e tutti i punti rossi sono all'interno dei confini rossi; abbiamo ancora un errore di test pari a zero. D'altra parte, se aumentiamo a , abbiamo il diagramma seguente. Notare che ci sono alcuni punti rossi nelle aree blu e punti blu nelle aree rosse. Ecco come appare un errore di allenamento diverso da zero.KK=20

Quando , coloriamo le regioni attorno a un punto in base alla categoria di quel punto (colore in questo caso) e alla categoria di 19 dei suoi vicini più vicini. Se la maggior parte dei vicini è blu, ma il punto originale è rosso, il punto originale viene considerato un valore anomalo e la regione circostante è di colore blu. Ecco perché puoi avere così tanti punti dati rossi in un'area blu e viceversa. K=20

inserisci qui la descrizione dell'immagine

fonte di immagini

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.