Quali sono le differenze tra PCA e autoencoder?


Risposte:


52

PCA è limitato a una mappa lineare, mentre gli encoder automatici possono avere enoder / decodificatori non lineari.

Un codificatore automatico a strato singolo con funzione di trasferimento lineare è quasi equivalente a PCA, dove quasi significa che la trovata da AE e PCA non sarà la stessa - ma il sottospazio spansionato dalla rispettiva volontà diWWW


Vedo! Quindi ho bisogno di avere due livelli per la trasformazione non lineare. Quindi strati multipli significano non lineari molto complessi?
RockTheStar,

7
@RockTheStar: non è il numero di livelli che conta, ma la funzione di attivazione [funzione di trasferimento]. Con la funzione di trasferimento lineare, nessun numero di strati porterà a un autoencoder non lineare.
ameba dice di reintegrare Monica il

Quindi, con trasformazione non lineare, anche c'è solo 1 strato di unità nascosta. La soluzione è ancora non lineare?
RockTheStar,

Sì. (Potrebbe anche essere lineare in alcuni casi, ad esempio quando le unità nascoste vengono attivate in regioni quasi lineari).
bayerj

"quando le unità nascoste vengono attivate nelle regioni quasi lineari", intendi la parte lineare nella funzione sigmoide, giusto?
RockTheStar,

17

Come sottolinea bayerj, PCA è un metodo che presuppone sistemi lineari in cui non lo sono gli Autoencoder (AE). Se non viene utilizzata alcuna funzione non lineare nell'AE e il numero di neuroni nello strato nascosto è di dimensione inferiore rispetto a quello dell'input, PCA e AE possono produrre lo stesso risultato. Altrimenti l'AE potrebbe trovare un sottospazio diverso.

Una cosa da notare è che il livello nascosto in un AE può avere una dimensionalità maggiore di quella dell'input. In tali casi, gli AE potrebbero non ridurre la dimensionalità. In questo caso li percepiamo come una trasformazione da uno spazio di funzionalità a un altro in cui i dati nel nuovo spazio di funzionalità districano i fattori di variazione.

Per quanto riguarda la tua domanda sul fatto che più livelli significhino non lineari molto complessi nella tua risposta a bayerj. A seconda di cosa si intende per "non lineare molto complesso" questo potrebbe essere vero. Tuttavia la profondità offre davvero una migliore generalizzazione. Molti metodi richiedono un numero uguale di campioni uguale al numero di regioni. Tuttavia risulta che "un numero molto grande di regioni, ad esempio , può essere definito con esempi " secondo Bengio et al . Questo è il risultato della complessità nella rappresentazione che deriva dalla composizione di funzioni inferiori da strati inferiori nella rete.O ( N )O(2N)O(N)


2
grazie per la tua ans!
RockTheStar,

6

Questo è più adatto come commento, ma poiché non ho la reputazione per quello che verrà dato come risposta.

In qualche modo mi sono confuso con l'idea di quasi nella risposta di bayerj: s. Lettura delle reti neurali e analisi delle componenti principali: apprendimento dagli esempi senza minimi locali in cui viene fornita la prova.

'' Nel caso ... e quindi l'unica mappa W localmente e globalmente ottimale è la proiezione ortogonale sullo spazio attraversato dai primi di '' Σ X XpΣXX

Questo non è quindi esattamente lo spazio corrispondente così come attraversato da PCA?


1
La carta che citi utilizza un codificatore automatico lineare, ovvero nessuna funzione di attivazione non lineare. Ecco perché i suoi pesi coprono esattamente lo stesso sottospazio distribuito da PCA.
elliotp,

6

La risposta attualmente accettata da @bayerj afferma che i pesi di un autoencoder lineare coprono lo stesso sottospazio dei principali componenti trovati da PCA, ma non sono gli stessi vettori. In particolare, non sono una base ortogonale. Questo è vero, tuttavia possiamo facilmente recuperare i componenti principali caricando i vettori dai pesi del codificatore automatico. Un po 'di notazione: lasciare che essere un insieme di vettori dimensionali, per la quale si vuole calcolare il PCA e lascia che sia la matrice le cui colonne sono . Quindi, definiamo un autoencoder lineare come la rete neurale a strato nascosto definita dalle seguenti equazioni: N n - X x 1 , , x N{xiRn}i=1NN nXx1,,xN

h1=W1x+b1x^=W2h1+b2

x^W1Rn×mW2Rm×nm<n

mW2mX

W2mXXn×NW2m×nW2O(m2n)XO(n2N)m<n

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.