Perché utilizziamo PCA per accelerare gli algoritmi di apprendimento quando potremmo semplicemente ridurre il numero di funzionalità?


12

In un corso di apprendimento automatico, ho imparato che un uso comune di PCA ( Principal Component Analysis ) è quello di accelerare altri algoritmi di apprendimento automatico. Ad esempio, immagina di allenare un modello di regressione logistica. Se hai un set di addestramento per i da 1 a n e risulta che la dimensione del tuo vettore x è molto grande (diciamo una dimensione), tu può usare PCA per ottenere una dimensione più piccola (diciamo dimensioni k) caratteristica vettore z. Quindi è possibile addestrare il modello di regressione logistica sul set di addestramento per i da 1 a n. L'addestramento di questo modello sarà più veloce perché il vettore delle caratteristiche ha meno dimensioni.( z ( i ) , y ( i ) )(x(i),y(i))(z(i),y(i))

Tuttavia, non capisco perché non puoi semplicemente ridurre la dimensione del tuo vettore di funzione a k quote semplicemente scegliendo k delle tue caratteristiche a caso ed eliminando il resto.

I vettori z sono combinazioni lineari dei tuoi vettori di funzioni. Poiché i vettori z sono limitati a una superficie k-dimensionale, è possibile scrivere i valori di caratteristica eliminati ak come una funzione lineare dei valori di caratteristica rimanenti di k, e quindi tutte le z possono essere formate da combinazioni lineari di caratteristiche di k. Quindi un modello addestrato su un set di allenamento con caratteristiche eliminate non dovrebbe avere la stessa potenza di un modello addestrato su un set di allenamento la cui dimensione è stata ridotta dal PCA? Dipende solo dal tipo di modello e se si basa su una sorta di combinazione lineare?


1
le colonne di rilascio porteranno a perdere più informazioni rispetto all'utilizzo di PCA
Haitao Du

2
Cosa c'entra la reazione a catena della polimerasi? :-) --- In tutta serietà, dovresti sempre pronunciare un termine prima di usare un'abbreviazione.
Carl Witthoft,

Puoi visualizzare gli autovettori ottenuti da PCA come nuove funzionalità, quindi PCA consente di ridurne le funzionalità, ricombinando quelle che abbiamo in quelle che catturano più varianze rispetto a quelle con cui abbiamo iniziato.
matematico

Risposte:


26

pd<pdXXDD{0,1}p×dXXVVRp×dVXVXXdpp

XX


2
+1. Ha comunque senso chiedersi, perché la variazione in X (che PCA cerca di conservare) dovrebbe essere rilevante per prevedere Y ... Questo è un thread correlato: stats.stackexchange.com/questions/141864 .
ameba dice Ripristina Monica il

4

PCA riduce le funzionalità preservando la varianza / le informazioni nei dati originali. Questo aiuta a consentire il calcolo senza perdere la somiglianza dei dati con la realtà.


2

Soluzione PCA

Innanzitutto, fai attenzione quando usi PCA per questo scopo. Come ho scritto in risposta a una domanda correlata, PCA non conduce necessariamente alla selezione di funzionalità che sono informative per la regressione che intendi fare (vedi anche Jolliffe 1982 ).

OP proposta soluzione

reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest.dimension of your vector x is very largep

pCkkpp=1000k=58.25×1012k=5k=6p

Soluzione suggerita

p

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.