Random Fourier features

Indice dei contenuti

    Le Random Fourier features sono una tecnica per trasformare un kernel non lineare in una mappa di feature esplicita e finito-dimensionale. L’idea è approssimare un kernel invariante per traslazione

    K(x,y)=\kappa(x-y)

    con un prodotto scalare tra vettori casuali

    K(x,y)\approx z(x)^Tz(y), \qquad z(x)\in\mathbb R^m.

    In questo modo un algoritmo kernel può essere sostituito, almeno in parte, da un modello lineare sulle feature z(x), evitando di memorizzare l’intera matrice di Gram.

    Schema concettuale

    OggettoFormulaRuolo
    Kernel stazionario\displaystyle K(x,y)=\kappa(x-y)La similarità dipende solo dalla differenza tra i punti.
    Misura spettrale\displaystyle p(\omega)Distribuzione delle frequenze associata al kernel.
    Frequenze casuali\displaystyle \omega_\ell\sim pCampioni Monte Carlo nello spazio delle frequenze.
    Fasi casuali\displaystyle b_\ell\sim\operatorname{Unif}(0,2\pi)Rendono reale la rappresentazione sinusoidale.
    Feature esplicite\displaystyle z_\ell(x)=\sqrt{\dfrac{2}{m}}\cos(\omega_\ell^T x+b_\ell)Coordinate finite usate dal modello lineare.
    Approssimazione\displaystyle z(x)^Tz(y)\approx K(x,y)Il prodotto scalare sostituisce il kernel.

    La tecnica è quindi una mappa di feature casuale: non costruisce lo spazio RKHS completo, ma produce una rappresentazione finita che ne approssima la geometria.

    Da Bochner alla mappa casuale

    Il teorema di Bochner stabilisce che un kernel continuo, positivo-definito e invariante per traslazione può essere rappresentato come trasformata di Fourier di una misura positiva. Se il kernel è normalizzato, si può scrivere

    \kappa(\delta) = \int_{\mathbb R^d} e^{i\,\omega^T\delta}\,dp(\omega) = \mathbb E_{\omega\sim p} \left[ \cos(\omega^T\delta) \right].

    Per \delta=x-y, questa identità diventa

    K(x,y) = \mathbb E_{\omega\sim p} \left[ \cos\!\left(\omega^T(x-y)\right) \right].

    Le Random Fourier features sostituiscono l’integrale con una media Monte Carlo. Campionando \omega_1,\ldots,\omega_m e b_1,\ldots,b_m, si definisce

    z(x)= \sqrt{\dfrac{2}{m}} \left( \cos(\omega_1^Tx+b_1), \ldots, \cos(\omega_m^Tx+b_m) \right).

    Allora

    z(x)^Tz(y) = \dfrac{2}{m} \sum_{\ell=1}^{m} \cos(\omega_\ell^Tx+b_\ell) \cos(\omega_\ell^Ty+b_\ell) \approx K(x,y).

    Esempio: kernel gaussiano RBF

    Per il kernel gaussiano

    K(x,y)=\exp\!\left(-\gamma\lVert x-y\rVert^2\right),

    la distribuzione spettrale è gaussiana:

    \omega_\ell\sim\mathcal N(0,2\gamma I_d).

    La mappa casuale è quindi ottenuta campionando frequenze gaussiane e fasi uniformi:

    PassaggioFormulaSignificato
    Kernel\displaystyle K(x,y)=\exp(-\gamma\lVert x-y\rVert^2)Similarità locale e liscia.
    Frequenze\displaystyle \omega_\ell\sim\mathcal N(0,2\gamma I_d)Frequenze coerenti con lo spettro RBF.
    Fasi\displaystyle b_\ell\sim\operatorname{Unif}(0,2\pi)Sfasamenti indipendenti.
    Feature\displaystyle z_\ell(x)=\sqrt{\dfrac{2}{m}}\cos(\omega_\ell^Tx+b_\ell)Coordinate esplicite della rappresentazione.
    Gram approssimata\displaystyle \widehat G=ZZ^TApprossima la matrice kernel esatta.

    Il parametro m controlla il compromesso: più feature riducono l’errore di approssimazione, ma aumentano memoria e costo del modello lineare.

    Confronto con kernel trick e Nyström

    MetodoOggetto approssimatoFormula tipicaQuando usarlo
    Kernel trick esattoSpazio di feature implicito\displaystyle G_{ij}=K(x_i,x_j)Dataset piccoli o medi, quando la matrice kernel è gestibile.
    Random Fourier featuresKernel stazionario\displaystyle K(x,y)\approx z(x)^Tz(y)Dataset grandi con kernel RBF o altri kernel invarianti per traslazione.
    Metodo di NyströmMatrice kernel\displaystyle G\approx CW^\dagger C^TQuando si vuole approssimare direttamente la matrice di Gram con landmark.
    Modello lineareFeature osservate\displaystyle K(x,y)=x^TyQuando la non linearità del kernel non è necessaria.

    Le Random Fourier features sono diverse dal metodo di Nyström: approssimano la funzione kernel tramite campionamento nello spazio delle frequenze, mentre Nyström approssima una matrice kernel già valutata su un campione di punti.

    Schema operativo

    PassoAzioneControllo
    1Scegliere un kernel stazionario \displaystyle K(x,y)=\kappa(x-y)Deve essere positivo-definito.
    2Ricavare o conoscere la distribuzione \displaystyle p(\omega)È la misura spettrale indicata da Bochner.
    3Campionare \displaystyle \omega_1,\ldots,\omega_m e \displaystyle b_1,\ldots,b_mI campioni devono essere indipendenti.
    4Costruire la matrice \displaystyle Z con righe \displaystyle z(x_i)^TSi ottiene una rappresentazione esplicita dei dati.
    5Addestrare un modello lineare su \displaystyle ZIl kernel viene sostituito da prodotti scalari ordinari.
    6Validare \displaystyle m e gli iperparametri del kernelTroppo poche feature introducono errore; troppe aumentano costo e overfitting.

    Vantaggi e limiti

    AspettoVantaggioLimite
    MemoriaEvita una matrice kernel \displaystyle n\times nServe memorizzare \displaystyle n\times m feature.
    AddestramentoPermette solutori lineari scalabiliL’approssimazione introduce varianza Monte Carlo.
    GeneralizzazioneMantiene una geometria kernel non lineareIl numero \displaystyle m va scelto con validazione.
    InterpretazioneRende esplicita la mappa usata dal modelloLe singole feature sinusoidali raramente sono interpretabili.

    Errori comuni

    • Usarle per qualunque kernel: la costruzione classica vale per kernel invarianti per traslazione e positivi-definiti.
    • Confondere feature casuali e selezione delle feature: qui si generano nuove coordinate sinusoidali, non si scelgono variabili già presenti.
    • Dimenticare la standardizzazione dei dati: nei kernel basati su distanze, scale diverse cambiano lo spettro effettivo del problema.
    • Scegliere m solo per comodità computazionale: poche feature possono produrre una geometria troppo rumorosa.
    • Credere che l’approssimazione elimini la validazione del kernel: restano da scegliere \gamma, regolarizzazione e numero di feature.

    Vedi anche: mappa di feature, kernel trick, metodo di Nyström, matrice di Gram, teorema di Bochner, funzione positiva-definita, spazio di Hilbert a kernel riproducente, support vector machine.

    Pubblicato: