Regressione del processo gaussiano per set di dati ad alta dimensione


10

Volevo solo vedere se qualcuno ha esperienza nell'applicazione della regressione del processo gaussiana (GPR) a set di dati ad alta dimensione. Sto esaminando alcuni dei vari metodi GPR sparsi (ad esempio pseudo-input sparsi GPR) per vedere cosa potrebbe funzionare per insiemi di dati ad alta dimensione in cui idealmente la selezione delle caratteristiche è parte del processo di selezione dei parametri.

Qualsiasi suggerimento su documenti / codice / o vari metodi da provare è sicuramente apprezzato.

Grazie.


2
Come detto, questa domanda è piuttosto vaga. Le domande autonome, concrete e ben motivate tendono a ricevere la maggior attenzione e le migliori risposte qui. (Ad esempio, se hai un problema particolare che stai cercando di risolvere, considera di fornire dettagli sufficienti affinché i lettori possano capire cosa stai cercando di fare.)
cardinale

Risposte:


13

I modelli di processo gaussiani vanno generalmente bene con set di dati ad alta dimensione (li ho usati con dati di microarray ecc.). La chiave è nella scelta di buoni valori per gli iperparametri (che controllano efficacemente la complessità del modello in un modo simile a quello della regolarizzazione).

I metodi sparsi e i metodi pseudo-input sono più per i set di dati con un gran numero di campioni (> circa 4000 per il mio computer) piuttosto che un gran numero di funzionalità. Se hai un computer abbastanza potente da eseguire una decomposizione di Cholesky della matrice di covarianza (n per n dove n è il numero di campioni), probabilmente non hai bisogno di questi metodi.

Se sei un utente MATLAB, consiglio vivamente la cassetta degli attrezzi GPML e il libro di Rasmussen e Williams come buoni punti di partenza.

TUTTAVIA, se sei interessato alla selezione delle funzionalità, eviterei i medici di base. L'approccio standard alla selezione delle funzionalità con i GP è quello di utilizzare un kernel per la determinazione della pertinenza automatica (ad esempio covSEard in GPML), e quindi ottenere la selezione delle funzionalità sintonizzando i parametri del kernel per massimizzare la probabilità marginale. Sfortunatamente è molto probabile che finisca per sovra-adattarsi alla probabilità marginale e finire con un modello che funziona (forse molto) peggio di un modello con una semplice covarianza con funzione di base radiale sferica (covSEiso in GPML).

La mia attuale ricerca si concentra sul sovra-adattamento nella selezione dei modelli al momento e ho scoperto che questo è un problema tanto per la massimizzazione delle prove nei GP quanto per l'ottimizzazione basata su convalida incrociata di iperparametri nei modelli del kernel, per i dettagli vedi questo documento e questo .

La selezione delle funzioni per i modelli non lineari è molto complicata. Spesso si ottengono prestazioni migliori attenendosi a un modello lineare e utilizzando approcci di tipo di regolarizzazione L1 (Lazo / LARS / rete elastica ecc.) Per ottenere metodi di foresta sparsi o casuali.


Grazie Dikran. Ho provato a guardare glmnet in R per i modelli lineari regolarizzati. Sfortunatamente, le mie previsioni finiscono per essere tutte uguali (penso che la media del mio set di allenamento). I modelli lineari sembrano avere difficoltà a estrarre il segnale nei miei dati. Ecco perché ho cercato modelli non lineari in grado di gestire molte funzionalità / potenziali interazioni di funzionalità. Sono abbastanza sicuro che lo stia chiedendo molto però. Qualche suggerimento su quel fronte? Non ho un problema P >> N. Utilizzando 150 funzioni, 1000 esempi.
tomas

Ehi Dikran. Questa era una domanda piuttosto vaga che mi chiedevo scusa nei miei commenti. Ho posto una domanda più specifica nei consigli di amministrazione. Grazie ancora per il vostro aiuto. stats.stackexchange.com/questions/30411/…
tomas

nessun problema, spesso capire quali sono le domande è più difficile che risponderle! Cercherò le altre domande.
Dikran Marsupial,

Grazie per questa risposta Nel caso di funzionalità ad alta dimensione ma non di un set di dati così grande (n ~ 10k d ~ 1k), è possibile utilizzare l'ARD per accelerare il calcolo? Sto usando la toolbox GPML. Potremmo "sparsificare" automaticamente la matrice di covarianza per concentrarci su funzioni rilevanti?
Emile,

1
il link " r.csail.mit.edu/papers/v8/cawley07a.html " non funziona ... È questo? jmlr.org/papers/v8/cawley07a.html . Forse aggiungere citazioni complete anziché solo collegamenti sarebbe utile :-)
Curioso

4

Puoi provare a utilizzare le funzioni di covarianza progettate appositamente per trattare dati ad alta dimensione. Per esempio, guarda il documento sulla funzione di covarianza additiva . Hanno funzionato meglio di altre funzioni di covarianza all'avanguardia nei miei esperimenti numerici con alcuni dati reali di dimensione di input piuttosto grande (circa ).30

Tuttavia, se la dimensione di input è davvero enorme (più di o ) sembra che qualsiasi metodo del kernel fallirà e non vi è esclusione per la regressione dei processi gaussiani.200100200

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.