PCA è considerato un algoritmo di apprendimento automatico


10

Ho capito che l'analisi dei componenti principali è una tecnica di riduzione della dimensionalità, cioè dato 10 funzioni di input, produrrà un numero minore di funzioni indipendenti che sono trasformazione ortogonale e lineare di caratteristiche originali.

È di PCAper sé considerato un algoritmo di apprendimento o è una fase di pre-elaborazione dei dati.

Risposte:


9

Non è raro per qualcuno etichettarlo come una tecnica senza supervisione. È possibile eseguire alcune analisi sugli autovettori e che aiutano a spiegare il comportamento dei dati. Naturalmente se la tua trasformazione ha ancora molte funzionalità, questo processo può essere piuttosto difficile. Tuttavia è possibile quindi lo considero apprendimento automatico.

Modificare:

Dato che la mia risposta è stata selezionata (non ho idea del perché) ho pensato di aggiungere altri detal.

PCA fa due cose che sono equivalenti. Innanzitutto, e ciò che viene comunemente indicato, massimizza le varianze. In secondo luogo, riduce al minimo l'errore di ricostruzione osservando le distanze a coppie.

Osservando gli autovettori e gli autovalori, diventa piuttosto semplice dedurre quali variabili e caratteristiche contribuiscono alla varianza e anche come le diverse variabili si muovono insieme agli altri.

Alla fine, dipende davvero da come definisci "apprendimento". PCA apprende un nuovo spazio di funzionalità che cattura le caratteristiche dello spazio originale. Tendo a pensare che possa essere significativo.

È complesso? No, non proprio, ma questo lo diminuisce come un algoritmo? No, non la penso così.


3
Sento che questa risposta è puramente opinione e non presenta argomentazioni. Forse elaborare, includere e riconoscere punti sollevati da altri.
Hobbes,

15

PCA è in realtà solo una rotazione. Seriamente, tutto qui: è un modo intelligente per far girare i dati su una nuova base. Questa base ha proprietà che lo rendono utile come fase di pre-elaborazione per diverse procedure.

  1. La base è ortonormale . Questo è incredibilmente utile se le tue caratteristiche mostrano una multicolinearità (due o più funzioni sono linearmente dipendenti): l'applicazione di PCA è garantita per darti una base in cui questo non è più un problema. Questa procedura è nota come regressione del componente principale

  2. I vettori di base sono significativi rispetto alla diffusione dei dati: sono gli autovettori della matrice di covarianza . Questa seconda proprietà dà origine alla famosa utilità di PCA come tecnica di riduzione della dimensionalità: dopo aver ruotato i dati, proiettando i dati su un sottoinsieme dei vettori di base associati a una porzione significativa della varianza totale si ottiene una rappresentazione dimensionale inferiore che (spesso) mantiene ( la maggior parte delle proprietà strutturali (interessanti) dei dati.


Quindi: è un algoritmo di apprendimento? Questa è una specie di domanda filosofica. Cosa rende qualcosa un algoritmo di apprendimento? Certamente la PCA non è un algoritmo di apprendimento "supervisionato" poiché possiamo farlo con o senza una variabile target e generalmente associamo tecniche "non supervisionate" al clustering.

Sì, PCA è una procedura di preelaborazione. Ma prima di scriverlo completamente come non "apprendere" qualcosa, mi piacerebbe che tu considerassi quanto segue: il PCA può essere calcolato prendendo letteralmente gli autovettori della matrice di covarianza, ma non è così che generalmente viene fatto nella pratica. Una procedura numericamente equivalente e più efficiente dal punto di vista computazionale è semplicemente prendere il file SVD dei dati. Pertanto, PCA è solo un'applicazione specifica di SVD, quindi chiedere se PCA è un algoritmo di apprendimento è davvero chiedere se SVD è un algoritmo di apprendimento.

Ora, anche se potresti sentirti a tuo agio a scrivere PCA come non un algoritmo di apprendimento, ecco perché dovresti essere meno a tuo agio nel fare lo stesso con SVD: è un metodo sorprendentemente potente per la modellazione degli argomenti e il filtro collaborativo . Le proprietà di SVD che lo rendono utile per queste applicazioni sono esattamente le stesse proprietà che lo rendono utile per la riduzione della dimensionalità (cioè PCA).

SVD è una generalizzazione della composizione elettronica, e anche questo è estremamente potente anche come versione vincolata di SVD. È possibile eseguire il rilevamento della comunità su un grafico osservando gli autovettori della matrice di adiacenza o determinare le probabilità di stato stazionario di un modello markov osservando gli autovettori della matrice di transizione, che per coincidenza è anche essenzialmente il modo in cui viene calcolato PageRank .

Sotto il cofano, PCA sta eseguendo una semplice operazione di algebra lineare. Ma questa è esattamente la stessa operazione che sta alla base di molte applicazioni a cui la maggior parte delle persone non metterebbe in dubbio l'applicazione dell'etichetta "machine learning". Questa classe di algoritmi si chiama Matrix Factorization e si estende anche a tecniche sofisticate come word2vec : in effetti, puoi effettivamente ottenere risultati simili a word2vec applicando letteralmente PCA a una matrice di co-occrenza di parole . Generalizzando ancora una volta, un'altra parola per i risultati di PCA è un incorporamento . Word2vec è probabilmente l'esempio più famoso di incorporamento, ma la costruzione di incorporamenti (come intermediari) è anche un componente importante dell'architettura encoder-decoder utilizzata nelle RNNe GAN , che in questo momento rappresentano il limite della ricerca ML.


Quindi torniamo alla tua domanda: PCA è un "algoritmo di apprendimento automatico?" Bene, in caso contrario, dovresti essere pronto a dire lo stesso di filtro collaborativo, modellazione di argomenti, rilevamento della comunità, centralità della rete e modelli di incorporamento.

Solo perché è semplice algebra lineare non significa che non sia anche magia.


6

Assolutamente, non è un algoritmo di apprendimento, in quanto non si impara nulla in PCA. Tuttavia, può essere utilizzato in diversi algoritmi di apprendimento per raggiungere prestazioni migliori in realtà, come la maggior parte degli altri metodi di riduzione della dimensione.


4

PCA viene utilizzato per eliminare le funzionalità ridondanti. Trova le direzioni in cui i dati sono altamente distribuiti. Non si preoccupa delle etichette dei dati, perché è una proiezione che rappresenta i dati in senso meno quadrato. Analisi discriminante multipla, MDAcerca di trovare le proiezioni che meglio separano i dati. Quest'ultimo considera l'etichetta e trova le indicazioni per separare al meglio i dati, sebbene abbia alcuni dettagli sul tipo di decisione che trova. Per concludere, PCAnon è un algoritmo di apprendimento. Cerca solo di trovare indicazioni su quali dati sono altamente distribuiti al fine di eliminare funzionalità correlate. Approcci simili come MDAcercare di trovare indicazioni per classificare i dati. Anche se MDAè molto similePCA, ma il primo viene utilizzato per la classificazione, considera le etichette, ma il secondo non viene utilizzato direttamente per la classificazione.

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.