Spiegazione della maledizione dell'apprendimento automatico della dimensionalità?


14

Ho difficoltà a capire la maledizione della dimensionalità. In particolare, mi sono imbattuto in esso mentre facevo il scikit-learntutorial in Python. Qualcuno può spiegare quanto segue in un modo più semplice? Mi dispiace, sto cercando di capire da molto tempo e non riesco a capire come sono arrivati ​​al calcolo del numero di esempi di allenamento per ottenere uno stimatore KNN efficiente?

Ecco la spiegazione:

Perché uno stimatore sia efficace, è necessario che la distanza tra i punti vicini sia inferiore a un valore d, che dipende dal problema. In una dimensione, ciò richiede in media n ~ 1 / d punti. Nel contesto del precedente esempio KNN, se i dati sono descritti da una sola funzione con valori compresi tra 0 e 1 e con n osservazioni di addestramento, i nuovi dati non saranno più lontani di 1 / n. Pertanto, la regola di decisione del vicino più vicino sarà efficiente non appena 1 / n sarà piccolo rispetto alla scala delle variazioni delle caratteristiche tra le classi.

Se il numero di funzioni è p, ora sono necessari n ~ 1 / d ^ p punti. Diciamo che abbiamo bisogno di 10 punti in una dimensione: ora sono necessari 10 ^ punti p in dimensioni p per aprire lo spazio [0, 1]. Man mano che p diventa grande, il numero di punti di allenamento richiesti per un buon stimatore aumenta esponenzialmente.

link qui

EDIT: anche la tilde ( ~) dovrebbe rappresentare approssimativa in quell'esempio? o l'operatore python tilde?


2
La tilde significa "proporzionale a"
reseter

@mbatchkarov Ha grazie. approssimativamente e proporzionalmente sono conclusioni così diverse lol

Risposte:


11

Traducendo quel paragrafo:

Lascia che ci sia una serie di funzionalità che descrivono un punto dati. Forse stai guardando il tempo. Quel set di funzionalità potrebbe includere cose come temperatura, umidità, ora del giorno, ecc. Quindi ogni punto dati potrebbe avere una funzione (se stai solo osservando la temperatura) o potrebbe avere 2 funzionalità (se stai guardando la temperatura e umidità) e così via. Ciò che questo paragrafo dice è che in base al numero di dimensioni dei tuoi dati (quante funzionalità ha), più è difficile fare uno stimatore. Questo perché se hai semplicemente una caratteristica di dati o dati monodimensionali, quindi quando vai a rappresentare graficamente questi dati, ottieni un grafico a linee e immaginando un grafico a linee tra diciamo 0-50 gradi C, ci vogliono solo 50 punti casuali prima di ogni punto dati si trovano a circa 1 grado da qualsiasi altro punto dati. Adesso molla' s pensa a 2 dimensioni, parlando di umidità e temperatura, ora è più difficile scoprire che d tale che tutti i punti si trovano all'interno di unità "d" tra loro. Immagina che la temperatura sia ancora tra 0-50 ma ora l'umidità è anche tra 0-100%. Quanti punti casuali ci vogliono per ottenere tutti i punti entro 1 o 2 l'uno dall'altro? Ora sono 100 * 50 o ~ 5.000! Ora immagina 3 dimensioni, ecc. Ecc. Inizi a aver bisogno di molti più punti per assicurarti che ogni punto sia entro d da qualche altro punto. Per semplificarti la vita, prova a supporre che "d" sia 1 e vedi cosa succede. Spero possa aiutare! Quanti punti casuali ci vogliono per ottenere tutti i punti entro 1 o 2 l'uno dall'altro? Ora sono 100 * 50 o ~ 5.000! Ora immagina 3 dimensioni, ecc. Ecc. Inizi a aver bisogno di molti più punti per assicurarti che ogni punto sia entro d da qualche altro punto. Per semplificarti la vita, prova a supporre che "d" sia 1 e vedi cosa succede. Spero possa aiutare! Quanti punti casuali ci vogliono per ottenere tutti i punti entro 1 o 2 l'uno dall'altro? Ora sono 100 * 50 o ~ 5.000! Ora immagina 3 dimensioni, ecc. Ecc. Inizi a aver bisogno di molti più punti per assicurarti che ogni punto sia entro d da qualche altro punto. Per semplificarti la vita, prova a supporre che "d" sia 1 e vedi cosa succede. Spero possa aiutare!


2
Questa è una buona spiegazione, ma per quanto riguarda l'equazione che hanno fornito? Nel tuo esempio di 1 caratteristica, dove voglio che lo stimatore sia a 1 grado di distanza, (cioè d = 1), allora la loro equazione n~1/dsignificherebbe che n deve essere approssimativamente 1? Non ha molto senso?

No, stanno dicendo che se la funzione ha un intervallo di 0-1 (il mio aveva un intervallo di 0-50), allora si avrebbero 1 / d punti in modo tale che ciascuno fosse a circa d dall'altro. Funziona per il mio esempio poiché avresti bisogno di circa 50/1 punti dove 1 è "d". Mi dispiace è confuso digitare queste equazioni, ma penso che dovrebbe aiutare

12

matty-d ha già fornito un'ottima risposta, ma ho trovato un'altra risposta che spiega ugualmente questo problema, da un utente di Quora Kevin Lacker:

Diciamo che hai una linea retta lunga 100 iarde e che ci hai lasciato cadere un penny da qualche parte. Non sarebbe troppo difficile da trovare. Cammini lungo la linea e ci vogliono due minuti.

Ora supponiamo che tu abbia un quadrato di 100 iarde su ciascun lato e che tu abbia lasciato cadere un centesimo da qualche parte su di esso. Sarebbe piuttosto difficile, come cercare tra due campi di calcio uniti. Potrebbero volerci giorni.

Ora un cubo lungo 100 iarde. È come cercare un edificio di 30 piani delle dimensioni di uno stadio di calcio. Ugh.

La difficoltà di cercare nello spazio diventa molto più difficile poiché hai più dimensioni. Potresti non rendertene conto intuitivamente quando è appena indicato nelle formule matematiche, poiché hanno tutti la stessa "larghezza". Questa è la maledizione della dimensionalità. Deve avere un nome perché non è intuitivo, utile e tuttavia semplice.


-1

Quell'esempio può dare qualche intuizione del problema, ma in realtà non è affatto una prova rigorosa: è solo un esempio in cui sono necessari molti campioni per ottenere una "buona" copertura dello spazio. Potrebbero esserci (e in effetti ci sono già esagoni in 2D già) coperture molto più efficienti di una griglia normale ... c'è ancora qualche maledizione della dimensionalità è piuttosto un altro problema. In realtà in alcuni spazi funzionali ci sono persino modi per aggirare questo apparente problema.

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.