Lo sbiancamento è sempre buono?


27

Una fase di pre-elaborazione comune per gli algoritmi di apprendimento automatico è lo sbiancamento dei dati.

Sembra che sia sempre bene fare lo sbiancamento poiché de-mette in correlazione i dati, rendendolo più semplice da modellare.

Quando lo sbiancamento non è raccomandato?

Nota: mi riferisco alla de-correlazione dei dati.


1
puoi dare un riferimento per lo sbiancamento?
Atilla Ozgur,

2
Penso che questo thread sia uno stub. Dovrebbe davvero essere ampliato. - - La risposta attualmente accettata contiene così poche informazioni. - - Non lo accetterei e aprirei una taglia qui.
Léo Léopold Hertz

Anche la tua domanda è parziale, avendo "sempre" lì. Certo, lo sbiancamento non è sempre buono. Inoltre, definire i tipi di sbiancamento. Penso che si porti a risposte non così costruttive qui. - - Definire i tipi di dati da utilizzare. - - Penso che una domanda migliore possa essere Come puoi migliorare l'applicazione di questo sbiancamento su questi dati abbastanza carini? . - - @AtillaOzgur Una fonte en.wikipedia.org/wiki/Whitening_transformation se si considera la trasformazione di base dello sbiancamento.
Léo Léopold Hertz

Risposte:


13

Il pre-sbiancamento è una generalizzazione della normalizzazione delle caratteristiche, che rende l'input indipendente trasformandolo in una matrice di covarianza di input trasformata. Non riesco a capire perché questa potrebbe essere una brutta cosa.

Tuttavia, una rapida ricerca ha rivelato "La fattibilità dello sbiancamento dei dati per migliorare le prestazioni del radar meteorologico" ( pdf ) che recita:

In particolare, lo sbiancamento ha funzionato bene nel caso dell'ACF esponenziale (che è in accordo con i risultati di Monakov) ma meno bene nel caso di quello gaussiano. Dopo la sperimentazione numerica, abbiamo scoperto che il caso gaussiano è numericamente mal condizionato, nel senso che il numero di condizione (rapporto tra autovalore massimo e minimo) è estremamente grande per la matrice di covarianza gaussiana.

Non sono abbastanza istruito per commentare questo. Forse la risposta alla tua domanda è che lo sbiancamento è sempre buono ma ci sono alcuni aspetti positivi (ad esempio, con dati casuali non funzionerà bene se eseguito tramite la funzione di autocorrelazione gaussiana).


2
a quanto ho capito, funziona bene se la matrice di covarianza è ben stimata. Qualcuno può commentare questo? Grazie.
Ha funzionato il

3
La citazione sopra non si riferisce a una matrice di covarianza scarsamente stimata (anche se sarebbe anche problematica). Sta dicendo che per una matrice di covarianza perfettamente specificata, può ancora essere difficile eseguire con precisione la fattorizzazione richiesta (e le trasformazioni di dati associate). Ciò è dovuto al mal condizionamento numerico , il che significa che errori di arrotondamento di precisione finita inquinano i calcoli.
GeoMatt22,

2
Questa è una risposta insufficiente. Ha copiato principalmente materiale non così correlato. - - Questa risposta dovrebbe davvero essere ampliata. È un troncone.
Léo Léopold Hertz

20

In primo luogo, penso che la correlazione e lo sbiancamento siano due procedure separate.

Per de-correlare i dati, dobbiamo trasformarli in modo che i dati trasformati abbiano una matrice di covarianza diagonale. Questa trasformazione può essere trovata risolvendo il problema degli autovalori. Troviamo gli autovettori e gli autovalori associati della matrice di covarianza risolvendoΣ=XX

ΣΦ=ΦΛ

dove è una matrice diagonale con gli autovalori come elementi diagonali.Λ

La matrice diagonalizes così la matrice di covarianza di X . Le colonne di Φ sono gli autovettori della matrice di covarianza.ΦXΦ

Possiamo anche scrivere la covarianza diagonale come:

(1)ΦΣΦ=Λ

Quindi per correlare un singolo vettore , facciamo:xi

(2)xi=Φxi

Gli elementi diagonali (autovalori) in possono essere uguali o diversi. Se li facciamo tutti uguali, allora questo si chiama sbiancamento dei dati. Poiché ogni autovalore determina la lunghezza del suo autovettore associato, la covarianza corrisponderà a un'ellisse quando i dati non sono sbiancati e a una sfera (che ha tutte le dimensioni della stessa lunghezza o uniforme) quando i dati sono sbiancati. Lo sbiancamento viene eseguito come segue:Λ

Λ1/2ΛΛ1/2=I

(1)

Λ1/2ΦΣΦΛ1/2=I

xixi

(3)xi=Λ1/2xi=Λ1/2Φxi

xixiE(xixi)=I

Σ

E infine, c'è un "gotcha" comune che le persone dovrebbero fare attenzione. Bisogna fare attenzione a calcolare i fattori di ridimensionamento sui dati di allenamento , quindi utilizzare le equazioni (2) e (3) per applicare gli stessi fattori di ridimensionamento ai dati di test, altrimenti si corre il rischio di overfitting (si utilizzerà informazioni dal set di test nel processo di formazione).

Fonte: http://courses.media.mit.edu/2010fall/mas622j/whiten.pdf


2
Grazie per il chiarimento, hai ragione. Mi riferivo alla de-correlazione. btw: alla fine scrivi che lo sbiancamento viene eseguito solo sui dati di allenamento. per quanto ne so, calcoli la matrice dai dati di allenamento, ma la esegui su entrambi i dati di allenamento e test.
Funzionò il

@Ran sì, è quello che volevo dire ... Aggiornerò la risposta
tdc,

Sarebbe bello se tu potessi offrire anche sezioni nella tua risposta. Avere un'introduzione, un riassunto e le cose matematiche. - - Penso che non approfondisci abbastanza la tua risposta. - - La tua risposta copre proposizioni per lo più banali ma non approfondisce abbastanza l'argomento. Hai solo materiale di base incollato e copiato dagli appunti delle lezioni, ma pochissimo lavoro personale per l'argomento.
Léo Léopold Hertz

quindi, in termini semplici, fai pca per ottenere funzionalità non correlate, quindi cerca nuove funzionalità, dividi per la varianza per ottenere funzionalità sbiancate.
avocado,

1

Da http://cs231n.github.io/neural-networks-2/

Uno dei punti deboli di questa trasformazione è che può esagerare notevolmente il rumore nei dati, poiché allunga tutte le dimensioni (comprese le dimensioni irrilevanti di una piccola varianza che sono per lo più rumore) per avere le stesse dimensioni nell'input. In pratica, ciò può essere mitigato da un livellamento più forte ...

Purtroppo non sono abbastanza istruito per commentare ulteriormente questo.


Per favore, indica quali forme di rumore sono esagerate. Il tuo riferimento è rigoroso. È solo informatica di base sull'argomento, ovvero il rumore bianco con un antico approccio alla rete neurale. - - Anche il lavoro esagerato dovrebbe essere definito.
Léo Léopold Hertz

Mi sembra che questo sia solo correlato al ridimensionamento di tutte le funzionalità per avere la stessa varianza, giusto? Quindi, se ci fosse una caratteristica la cui varianza nel set di allenamento era rumore, potremmo aspettarci che la varianza complessiva di questa funzione sia molto più piccola di un'altra caratteristica; questa trasformazione farebbe in modo che sia la funzione "rumore" che l'altra caratteristica abbiano la stessa varianza e potrebbero essere viste come "amplificazione del rumore".
ijoseph,
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.