Maledizione della dimensionalità: classificatore kNN


11

Sto leggendo il libro di Kevin Murphy: Machine Learning - Una prospettiva probabilistica. Nel primo capitolo l'autore sta spiegando la maledizione della dimensionalità e c'è una parte che non capisco. Ad esempio, l'autore afferma:

Considerare che gli ingressi sono distribuiti uniformemente lungo un cubo unità D-dimensionale. Supponiamo di stimare la densità delle etichette delle classi facendo crescere un cubo iper attorno a x finché non contiene la frazione desiderata dei punti dati. La lunghezza del bordo prevista di questo cubo è e D ( f ) = f 1f .eD(f)=f1D

È l'ultima formula che non riesco a mettere in testa. sembra che se vuoi coprire diciamo che il 10% dei punti rispetto alla lunghezza del bordo dovrebbe essere 0.1 lungo ogni dimensione? So che il mio ragionamento è sbagliato ma non riesco a capire il perché.


6
Prova a immaginare prima la situazione in due dimensioni. Se ho un 1m * 1m foglio di carta, e ho tagliato un 0.1m * 0.1m quadrato fuori in basso a sinistra, ho non rimosso un decimo della carta, ma solo una centesima .
David Zhang,

Risposte:


13

Questo è precisamente il comportamento inaspettato delle distanze in dimensioni elevate. Per 1 dimensione, hai l'intervallo [0, 1]. Il 10% dei punti si trova in un segmento di lunghezza 0,1. Ma cosa succede quando aumenta la dimensionalità dello spazio delle caratteristiche?

Quell'espressione ti dice che se vuoi avere quel 10% dei punti per 5 dimensioni, devi avere una lunghezza per il cubo di 0,63, in 10 dimensioni di 0,79 e 0,98 per 100 dimensioni.

Come vedi, per aumentare le dimensioni devi guardare più lontano per ottenere lo stesso numero di punti. Ancora di più, ti sta dicendo che la maggior parte dei punti si trova al limite del cubo quando il numero di dimensioni aumenta. Il che è inaspettato.


4

Penso che la cosa principale da notare è che l'espressione

eD(f)=f1D

è davvero ripido all'inizio. Ciò significa che la dimensione del bordo di cui avrete bisogno per racchiudere una certa frazione del volume aumenterà drasticamente, specialmente all'inizio. cioè il bordo di cui hai bisogno diventerà ridicolmente grande all'aumentare di D

Per rendere questo ancora più chiaro, ricorda la trama che Murphy mostra:

inserisci qui la descrizione dell'immagine

se noti, per valori di , la pendenza è molto grande e quindi la funzione cresce molto rapidamente all'inizio. Questo può essere meglio apprezzato se prendi la derivata di e D ( f ) :D>1eD(f)

eD'(f)=1Df1D-1=1Df1-DD

D>11-D<0

eD'(f)=1D(f1-D)1D

fX-1=1Xf<1KNDD

f1-D1D


2

Sì, quindi se hai un cubo di unità, o nel tuo caso una linea di unità, e i dati sono distribuiti uniformemente, devi andare lungo 0,1 per catturare il 10% dei dati. Ora che aumenti le dimensioni, D aumenta, il che diminuisce la potenza e f essendo inferiore a 1, aumenterà, in modo tale che se D va all'infinito devi catturare tutto il cubo, e = 1.


0

Penso che per kNN la distanza abbia un ruolo più importante. Ciò che accade a un (iper) cubo è analogo a ciò che accade alla distanza tra i punti. Man mano che aumenti il ​​numero di dimensioni, aumenta il rapporto tra la distanza più vicina alla distanza media; ciò significa che il punto più vicino è quasi quanto il punto medio, quindi ha solo un potere predittivo leggermente maggiore rispetto al punto medio. Questo articolo lo spiega bene

Joel Grus fa un buon lavoro nel descrivere questo problema in Data Science di Scratch. In quel libro calcola la distanza media e minima tra due punti in uno spazio dimensionale all'aumentare del numero di quote. Ha calcolato 10.000 distanze tra i punti, con un numero di dimensioni compreso tra 0 e 100. Quindi procede a tracciare la distanza media e minima tra due punti, nonché il rapporto tra la distanza più vicina alla distanza media (Distance_Closest / Distance_Average) .

In quei grafici, Joel ha mostrato che il rapporto tra la distanza più vicina alla distanza media è aumentato da 0 a 0 dimensioni, fino a ~ 0,8 a 100 dimensioni. E questo mostra la sfida fondamentale della dimensionalità quando si usa l'algoritmo k-next neighbors; quando il numero di dimensioni aumenta e il rapporto tra la distanza più vicina e la distanza media si avvicina a 1, la potenza predittiva dell'algoritmo diminuisce. Se il punto più vicino è quasi quanto il punto medio, allora ha solo un potere predittivo leggermente maggiore rispetto al punto medio.

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.