Perché i modelli di processo gaussiani sono chiamati non parametrici?


26

Sono un po 'confuso. Perché i processi gaussiani sono chiamati modelli non parametrici?

Presumono che i valori funzionali, o un loro sottoinsieme, abbiano un prioritario gaussiano con media 0 e funzione di covarianza data come funzione del kernel. Queste stesse funzioni del kernel hanno alcuni parametri (es. Iperparametri).

Quindi perché sono chiamati modelli non parametrici?


1
Conosco diverse definizioni di "processi gaussiani", quindi non è chiaro quale sia la tua domanda. Ma mentre consideri come chiarirlo, chiediti questo: esattamente come parametrizzeresti il ​​processo gaussiano che hai in mente? Se non puoi farlo in modo naturale con un numero finito di parametri reali, allora dovrebbe essere considerato non parametrico.
whuber

@whuber. AFAIK, i parametri principali dei processi gaussiani sono la media e le funzioni di covarianza. Mentre continuiamo ad aggiungere punti dati, continuano ad aumentare. Quindi continua ad aumentare. È per questo che i processi gaussiani sono definiti non parametrici?
user34790

@whuber Se ho milioni di punti dati di allenamento, allora il mio GP f ~ N (m, k) sarà una distribuzione gaussiana multivariata di milioni di dimensioni. Non è troppo grande? Voglio dire, man mano che arrivano nuovi dati di allenamento, questi diventano sempre più grandi. Non dà origine a problemi computazionali?
user34790

1
"Parametrico" contro "non parametrico" sono termini che non si applicano a processi particolari: si applicano a tutta la famiglia di processi che potrebbero essere adatti ai dati. Anche se non so ancora quale famiglia tu abbia in mente, sembra che sebbene il numero di parametri possa essere finito in qualsiasi circostanza, non c'è limite al numero di parametri che possono apparire tra i membri della famiglia : ergo, il problema non è parametrico.
whuber

Risposte:


20

Premetto questo dicendo che non è sempre chiaro cosa si intende per "non parametrico" o "semiparametrico" ecc. Nei commenti, sembra probabile che whuber abbia in mente una definizione formale (forse qualcosa come scegliere un modello da qualche famiglia { M θ : θ Θ } dove Θ è di dimensione infinita), ma sarò abbastanza informale. Alcuni potrebbero sostenere che un metodo non parametrico è quello in cui il numero effettivo di parametri che usi aumenta con i dati. Penso che ci sia un video su videolectures.net in cui (penso) Peter Orbanz fornisce quattro o cinque interpretazioni diverse su come definire "non parametrico".Mθ{Mθ:θΘ}Θ

Dato che penso di sapere che tipo di cose hai in mente, per semplicità suppongo che tu stia parlando dell'uso dei processi gaussiani per la regressione, in un modo tipico: abbiamo dati di allenamento e siamo interessati a modellare la media condizionale E ( Y | X = x ) : = f ( x ) . Scriviamo Y i = f ( X i )(Yio,Xio),io=1,...,nE(Y|X=X): =f(X) e forse siamo così audaci da supporre che ϵ i sia iid e normalmente distribuito, ϵ iN ( 0 , σ 2 ) . X i sarà unidimensionale, ma tutto porta verso dimensioni superiori.

Yio=f(Xio)+εio
εioεio~N(0,σ2)Xio

Se la nostra può assumere valori in un continuum, allora f ( ) può essere considerato un parametro di (infinito) dimensione infinita. Quindi, nel senso che stiamo stimando un parametro di dimensione infinita , il nostro problema è non parametrico. È vero che l'approccio bayesiano ha alcuni parametri che fluttuano qua e là. Ma in realtà, si chiama non parametrico perché stiamo stimando qualcosa di dimensione infinita. I priori GP che utilizziamo assegnano la massa a ogni quartiere di ogni funzione continua, in modo che possano stimare arbitrariamente qualsiasi funzione continua.Xiof()

Le cose nella funzione di covarianza stanno giocando un ruolo simile ai parametri di livellamento nel solito stimatori frequentista - in modo che il problema di non essere assolutamente senza speranza dobbiamo presumere che ci sia qualche struttura che ci aspettiamo di vedere mostre. I bayesiani ottengono questo risultato usando un priorato nello spazio di funzioni continue sotto forma di un processo gaussiano. Da una prospettiva bayesiana, stiamo codificando le convinzioni su f assumendo che f sia tratto da un GP con tale funzione di covarianza. Il precedente penalizza efficacemente le stime di f per essere troppo complicate.ffff

Modifica per problemi computazionali

La maggior parte (tutte?) Di queste cose è nel libro Gaussian Process di Rasmussen e Williams.

O(N2)O(N3)v(K+σ2io)v=YKO(N3)KO(KN2)K

O(N3)O(KN2)Nmm×mYNmO(m2N)

KK=QQTQn×qqK+σ2ioQTQ+σ2io


8

In generale, il "non parametrico" nella non parametrica bayesiana si riferisce a modelli con un numero infinito di (potenziali) parametri. Ci sono molti tutorial e lezioni davvero interessanti sull'argomento su videolectures.net ( come questo ) che offrono una bella panoramica di questa classe di modelli.

In particolare, il processo gaussiano (GP) è considerato non parametrico perché un GP rappresenta una funzione (cioè un vettore di dimensione infinita). All'aumentare del numero di punti dati ((x, f (x)) coppie), aumenta anche il numero di "parametri" del modello (limitando la forma della funzione). A differenza di un modello parametrico, in cui il numero di parametri rimane fisso rispetto alla dimensione dei dati, nei modelli non parametrici, il numero di parametri aumenta con il numero di punti dati.


Questo è esattamente quello che stavo assumendo. Quindi suppongo sia giusto il mio presupposto. Ma la mia domanda è se ho milioni di punti (dati osservati). Quindi anche la mia f sarà di milioni di dimensioni. Quindi non avrei problemi computazionali. Inoltre la mia matrice di covarianza sarà anche di dimensioni 1 milionex1 milioni. Quindi cosa dovrei fare in questo caso?
user34790

@ user34790 sì, avresti problemi di calcolo. Le sfide computazionali sono un grosso problema per i medici di base. Rasmussen e Williams hanno un libro sui medici di medicina con un intero capitolo dedicato a questo, e se vai su Google abbastanza forte puoi trovarlo online gratuitamente. Vedi il mio post aggiornato per alcuni dettagli minimi.
ragazzo,

1

I parametri che hai indicato come iperparametri non sono parametri motivati ​​fisicamente e quindi il nome. Sono usati per parametrizzare esclusivamente la funzione del kernel. Per fare un esempio, in un kernel gaussiano:

K(Xio,Xj)=h2exp(-(Xio-Xj)2λ2)

hλ

Questo problema è stato affrontato anche in questa lezione , potrebbe aiutare a capire meglio.

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.