Perché è necessario ridimensionare i dati in KNN


15

Qualcuno potrebbe spiegarmi perché è necessario normalizzare i dati quando si utilizzano i vicini K più vicini.

Ho provato a cercarlo, ma non riesco ancora a capirlo.

Ho trovato il seguente link:

https://discuss.analyticsvidhya.com/t/why-it-is-necessary-to-normalize-in-knn/2715

Ma in questa spiegazione, non capisco perché un intervallo più ampio in una delle funzionalità influisca sulle previsioni.


Penso che la normalizzazione debba essere giustificata dal punto di vista dell'argomento. In sostanza, ciò che conta è ciò che definisce la distanza tra i punti. Devi trovare una comoda definizione aritmetica di distanza che rifletta la definizione di distanza della materia. Nella mia esperienza limitata, mi sono normalizzato in alcune ma non in tutte le direzioni sulla base di considerazioni sull'argomento.
Richard Hardy,

1
Per un esempio istruttivo, consultare stats.stackexchange.com/questions/140711 .
whuber

Risposte:


26

L'algoritmo vicino k-più vicino si basa sul voto a maggioranza basato sull'appartenenza alla classe dei campioni 'k' più vicini per un dato punto di prova. La vicinanza dei campioni si basa in genere sulla distanza euclidea.

Considera un semplice problema di classificazione in due classi, in cui viene scelto un campione di Classe 1 (nero) insieme ai suoi 10 vicini più vicini (verde pieno). Nella prima figura, i dati non sono normalizzati, mentre nella seconda lo sono.

Dati senza normalizzazione Dati con normalizzazione

Si noti che, senza normalizzazione, tutti i vicini più vicini sono allineati nella direzione dell'asse con un intervallo più piccolo, ovvero porta a una classificazione errata.x1

La normalizzazione risolve questo problema!


1
Questa risposta è esattamente giusta, ma temo che le illustrazioni possano essere ingannevoli a causa delle distorsioni coinvolte. È possibile chiarire meglio il punto disegnandoli entrambi in modo che i due assi in ciascuno siano alla stessa scala.
whuber

1
Ho trovato difficile adattare tutti i punti dati nella stessa scala per entrambe le figure. Quindi, ho detto in una nota che le scale degli assi sono diverse.
kedarps,

1
Quella difficoltà è in realtà il punto della tua risposta! Un modo per superarlo non è usare una gamma così estrema di scale. Una differenza di 5: 1 nelle scale, piuttosto che una differenza di 1000: 1, farebbe ancora bene il tuo punto. Un altro modo è quello di disegnare l'immagine fedelmente: il grafico a dispersione superiore sembrerà essere una linea verticale di punti.
whuber

2
@whuber, ho frainteso il tuo primo commento. Risolto il problema, spero sia meglio ora!
kedarps,

1
@Undertherainbow Questo è corretto!
kedarps,

5

Supponiamo di avere un set di dati (m "esempi" per n "caratteristiche") e tutte le dimensioni tranne una hanno valori strettamente compresi tra 0 e 1, mentre una singola dimensione caratteristica ha valori che vanno da -1000000 a 1000000. Quando si prende la distanza euclidea tra coppie di "esempi", i valori delle dimensioni della funzione compresi tra 0 e 1 potrebbero diventare non informativi e l'algoritmo si baserebbe essenzialmente sulla singola dimensione i cui valori sono sostanzialmente più grandi. Basta elaborare alcuni esempi di calcoli della distanza euclidea e puoi capire come la scala influisce sul calcolo del vicino più vicino.

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.