Comprensione dei parametri della funzione di base gaussiana da utilizzare nella regressione lineare


12

Vorrei applicare la funzione di base gaussiana in un'implementazione di regressione lineare. Sfortunatamente non riesco a capire un paio di parametri nella funzione base. In particolare μ e σ .

Il mio set di dati è una matrice 10.000 x 31. 10.000 campioni e 31 funzioni. Ho letto che "Ogni funzione di base converte il vettore di input x in un valore scalare". Quindi suppongo che x sia 1 campione quindi un vettore 1 x 31. Da qui sono confuso. Qual è esattamente il parametro μj ? Ho letto che questo regola le posizioni delle funzioni di base. Quindi questo non è il significato di qualcosa? Sono anche scacciato dal pedice j ( μ e ϕ ), questo mi fa pensare alla jth row. Ma questo non sembra avere senso. È la μj un vettore? Ora per il σche "governa la scala spaziale". Che cos'è esattamente? Ho visto alcune implementazioni che provano valori come .1, .5, 2.5 per questo parametro. Come vengono calcolati questi valori? Ho fatto ricerche e ho cercato esempi da cui imparare, ma al momento non sono riuscito a trovarne. Qualsiasi aiuto o direzione è molto apprezzato! Grazie.

Risposte:


11

Dato che sei confuso, vorrei iniziare affermando il problema e rispondendo alle tue domande una alla volta. Hai una dimensione del campione di 10.000 e ogni campione è descritto da un vettore caratteristica . Se si desidera eseguire la regressione utilizzando le funzioni di base radiale gaussiana, si sta cercando una funzione della forma f ( x ) = j w jg j ( x ; μ j , σ j ) , j = 1 .. m dove il g ixR31

f(x)=jwjgj(x;μj,σj),j=1..m
gisono le tue funzioni di base. Specificamente, è necessario trovare le pesi w j modo che per determinati parametri u j e σ j si minimizzano l'errore tra y ed il corrispondente predizione y = f ( x ) - tipicamente si ridurrà al minimo l'errore minimi quadrati.mwjμjσjyy^f(x^)

Qual è esattamente il parametro j del pedice Mu?

È necessario trovare le funzioni di base g j . (È ancora necessario determinare il numero m ) Ogni funzione di base avrà un μ j e un σ j (anche sconosciuto). Il pedice j varia da 1 a m .mgjmμjσjj1m

È la un vettore?μj

Sì, è un punto in . In altre parole, è un punto da qualche parte nello spazio delle caratteristiche e un μ deve essere determinato per ciascuna delle funzioni di base m .R31μm

Ho letto che questo regola le posizioni delle funzioni di base. Quindi questo non è il significato di qualcosa?

La funzione base è centrata su μ j . Dovrai decidere dove si trovano queste posizioni. Quindi no, non è necessariamente la media di nulla (ma vedi più in basso per i modi per determinarlo)jthμj

Ora per il sigma che "governa la scala spaziale". Che cos'è esattamente?

è più facile da capire se ci rivolgiamo alle funzioni di base stesse.σ

Aiuta a pensare alle funzioni della base radiale gaussiana nei dimensoni inferiori, diciamo o R 2 . In R 1 la funzione di base radiale gaussiana è solo la ben nota curva a campana. Naturalmente la campana può essere stretta o larga. La larghezza è determinata da σ - più grande σ è più stretta la forma della campana. In altre parole, σ ridimensiona la larghezza della forma della campana. Quindi per σ = 1 non abbiamo ridimensionamento. Per σ di grandi dimensioni abbiamo un ridimensionamento sostanziale.R1R2R1σσσσσ

Puoi chiedere qual è lo scopo di questo. Se pensi alla campana che copre una parte dello spazio (una linea in ) - una campana stretta coprirà solo una piccola parte della linea *. I punti x vicini al centro della campana avranno un valore g j ( x ) maggiore . I punti lontani dal centro avranno un valore g j ( x ) più piccolo . Il ridimensionamento ha l'effetto di spingere i punti più lontano dal centro - poiché i punti di campana si restringono saranno posizionati più lontano dal centro - riducendo il valore di g j ( x )R1xgj(x)gj(x)gj(x)

Ogni funzione di base converte il vettore di input x in un valore scalare

Sì, stai valutando le funzioni di base in qualche punto .xR31

exp(xμj222σj2)

Di conseguenza, si ottiene uno scalare. Il risultato scalare dipende dalla distanza del punto dal centro dato dae lo scalare .μ σ jxμjxμjσj

Ho visto alcune implementazioni che provano valori come .1, .5, 2.5 per questo parametro. Come vengono calcolati questi valori?

Questo ovviamente è uno degli aspetti interessanti e difficili dell'uso delle funzioni di base radiale gaussiana. se cerchi nel web troverai molti suggerimenti su come vengono determinati questi parametri. Descriverò in termini molto semplici una possibilità basata sul raggruppamento. Puoi trovare questo e molti altri suggerimenti online.

Inizia raggruppando i tuoi 10000 campioni (puoi prima usare PCA per ridurre le dimensioni seguito dal clustering k-Means). Puoi lasciare che sia il numero di cluster che trovi (tipicamente impiegando la validazione incrociata per determinare la migliore ). Ora, crea una funzione base radiale per ciascun cluster. Per ogni funzione di base radiale, essere il centro (es. Media, centroide, ecc.) Del cluster. Lascia che rifletta la larghezza del cluster (ad es. Raggio ...) Ora vai avanti ed esegui la tua regressione (questa semplice descrizione è solo una panoramica - ha bisogno di molto lavoro ad ogni passo!)m g j μ j σ jmmgjμjσj

* Naturalmente, la curva della campana è definita da - a quindi avrà un valore ovunque sulla linea. Tuttavia, i valori lontani dal centro sono trascurabili


Bella risposta! Tuttavia, cercando , non finiamo con la regressione della macchina vettoriale di supporto (con kernel gaussiano)? μ
O_Devinyak,

@ O_Devinyak- Molti metodi di espansione di base richiedono una sorta di stima dei parametri. Esistono molti modi per trovare quindi non credo che ciò significhi necessariamente ridurre il problema a SVR. Ad essere sincero, non sono un esperto di SVR, ma la funzione di perdita minimizzata è sicuramente diversa e sono sicuro che molte delle funzionalità sono ignorate, questo è il modo Support Vector. Con le funzioni di base utilizziamo tutte le funzioni per la valutazione, ma per fortuna un supporto compatto significa che molte delle funzioni di base restituiscono valori neglible o zero. Comunque, sarebbe una buona domanda su questo forumμ
martino,

Perché abbiamo bisogno di una scala piuttosto che di una matrice di covarianza che renderebbe la funzione base simile alla parte esponenziale di un gaussiano multivariato? σj
Stackunderflow

1

Vorrei provare a dare una spiegazione semplice. In tale notazione può essere il numero di riga ma può anche essere il numero di funzione. Se scriviamo allora indica il numero della funzione, è il vettore-colonna, è scalare e è una colonna -vettore. Se scriviamo allora indica il numero di riga, è scalare, è vettore-colonna e è un vettore riga. La notazione dove denota riga e colonna denota è più comune, così permesso usare la prima variante.jy=β0+j=1:31βjϕj(x)jyβjϕj(x)yj=βϕj(x)jyjβϕj(x)ij

Introducendo la funzione di base gaussiana nella regressione lineare, (scalare) ora dipende non dai valori numerici delle caratteristiche (vettore), ma dalle distanze tra e il centro di tutti gli altri punti . In tal modo non dipende dal fatto che il -esimo valore della caratteristica -esima osservazione sia alto o piccolo, ma dipende dal fatto che il -esimo valore della funzione sia vicino o lontano dalla media per quella caratteristica . Quindi non è un parametro, poiché non può essere regolato. È solo una proprietà di un set di dati. Il parametrox i x i μ i y iyixixiμiyii j j μ i j μ j σ 2 y y σ 2jijjμijμjσ2è un valore scalare, controlla la scorrevolezza e può essere regolato. Se è piccolo, i piccoli cambiamenti di distanza avranno un grande effetto (ricorda il gaussiano ripido: tutti i punti situati già a una piccola distanza dal centro hanno valori minuscoli ). Se è grande, i piccoli cambiamenti di distanza avranno un effetto basso (ricorda il gaussiano piatto: la diminuzione di all'aumentare della distanza dal centro è lenta). È necessario cercare il valore ottimale di (di solito si trova con la convalida incrociata).yyσ2


0

xR31 e ( x - μ j ) Σ - 1 j ( x - μ j ) Σ jR 31 × 31 j j Σ j jμjR31e(xμj)Σj1(xμj)ΣjR31×31jjΣjj

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.