Mappa di feature

Indice dei contenuti

    Una mappa di feature è una trasformazione che associa a ogni dato originale una rappresentazione in uno spazio di feature:

    \Phi:\mathcal X\to\mathcal F, \qquad x\mapsto \Phi(x).

    L’obiettivo è rendere più semplice una struttura che nello spazio originale può essere non lineare. Un modello lineare in \mathcal F può infatti corrispondere a un modello non lineare nello spazio dei dati.

    Schema concettuale

    LivelloOggettoRuolo
    Dato originale\displaystyle x\in\mathcal XOsservazione nello spazio misurato.
    Mappa di feature\displaystyle \Phi:\mathcal X\to\mathcal FTrasforma il dato in una nuova rappresentazione.
    Feature trasformate\displaystyle \Phi(x)\in\mathcal FCoordinate esplicite o implicite usate dal modello.
    Prodotto scalare\displaystyle \langle\Phi(x),\Phi(y)\rangle_{\mathcal F}Misura geometria e similarità nello spazio feature.
    Kernel associato\displaystyle K(x,y)=\langle\Phi(x),\Phi(y)\rangle_{\mathcal F}Evita di costruire le feature quando basta il prodotto scalare.

    La mappa può essere scritta esplicitamente, come in una trasformazione polinomiale, oppure restare implicita, come nei metodi kernel.

    Esempio polinomiale

    Per dati bidimensionali x=(x_1,x_2), una mappa polinomiale di grado 2 può essere

    \Phi(x)= \left( 1,\sqrt{2}x_1,\sqrt{2}x_2,x_1^2,\sqrt{2}x_1x_2,x_2^2 \right).

    Il prodotto scalare tra feature è

    \langle\Phi(x),\Phi(y)\rangle = (1+x^T y)^2.

    Quindi il kernel polinomiale

    K(x,y)=(1+x^T y)^2

    calcola direttamente il prodotto scalare nello spazio trasformato.

    PassaggioFormulaInterpretazione
    Punto originale\displaystyle x=(x_1,x_2)Due variabili misurate.
    Feature esplicite\displaystyle \Phi(x)\in\mathbb R^6Intercetta, termini lineari e termini quadratici.
    Prodotto scalare\displaystyle \langle\Phi(x),\Phi(y)\rangleGeometria nello spazio trasformato.
    Kernel equivalente\displaystyle K(x,y)=(1+x^T y)^2Calcolo diretto senza elencare tutte le feature.

    Mappe esplicite e implicite

    TipoFormula tipicaUso
    Lineare\displaystyle \Phi(x)=xModelli lineari nello spazio originale.
    Polinomiale esplicita\displaystyle \Phi(x)=(1,x_1,x_2,x_1x_2,\ldots)Interazioni e curvature controllate.
    Random Fourier features\displaystyle \Phi(x)\in\mathbb R^mApprossima kernel stazionari con feature finite.
    Kernel implicito\displaystyle K(x,y)=\langle\Phi(x),\Phi(y)\rangleUsa solo prodotti scalari nello spazio feature.
    RKHS canonico\displaystyle \Phi(x)=K_xPunto visto come funzione in uno spazio di Hilbert.

    La differenza pratica è computazionale: una mappa esplicita produce coordinate da memorizzare, mentre una mappa implicita viene usata attraverso una matrice di Gram.

    Collegamento con i kernel

    Se una mappa di feature è nota, allora

    K(x,y)=\langle\Phi(x),\Phi(y)\rangle_{\mathcal F}

    è automaticamente un kernel positivo semidefinito. Infatti, per punti x_1,\ldots,x_n,

    G_{ij}=K(x_i,x_j) = \langle\Phi(x_i),\Phi(x_j)\rangle_{\mathcal F}

    è una matrice di Gram.

    Il ragionamento inverso è quello usato negli spazi di Hilbert a kernel riproducente: un kernel positivo-definito induce uno spazio di feature, anche quando non lo si costruisce in coordinate finite.

    Differenza da selezione delle feature

    ConcettoChe cosa faEsempio
    Selezione delle featureSceglie alcune variabili già disponibiliTenere pressione e temperatura, scartare una misura ridondante.
    Mappa di featureCrea una nuova rappresentazioneAggiungere \displaystyle x_1x_2 o usare \displaystyle \Phi(x) in uno spazio RKHS.
    Estrazione di featureCostruisce descrittori da dati grezziRicavare componenti spettrali da un segnale.
    Kernel trickEvita di scrivere \displaystyle \Phi esplicitamenteSostituire \displaystyle \langle\Phi(x),\Phi(y)\rangle con \displaystyle K(x,y).

    Questi passaggi possono coesistere, ma rispondono a domande diverse: scegliere variabili, costruire rappresentazioni o calcolare implicitamente prodotti scalari.

    Schema operativo

    PassoAzioneControllo
    1Identificare la struttura non lineare da rappresentareCurvature, interazioni o similarità locali.
    2Scegliere \displaystyle \Phi o un kernel \displaystyle KLa geometria indotta deve essere adatta al problema.
    3Verificare il costo della rappresentazioneFeature esplicite grandi possono essere onerose.
    4Costruire modello o matrice di GramSi lavora con \displaystyle \Phi(x) oppure con \displaystyle K(x,y).
    5Validare la generalizzazioneUna mappa troppo ricca può favorire overfitting.

    Errori comuni

    • Confondere mappa di feature e selezione delle feature: la prima trasforma la rappresentazione, la seconda sceglie variabili esistenti.
    • Pensare che lo spazio feature sia sempre visibile: nei metodi kernel può essere solo implicito.
    • Aggiungere feature senza regolarizzazione: una rappresentazione più ricca aumenta anche il rischio di sovra-adattamento.
    • Ignorare scale e unità di misura: prodotti scalari e distanze nello spazio feature dipendono dal preprocessing.
    • Credere che ogni trasformazione generi un kernel valido: per usare il kernel trick serve coerenza con un prodotto scalare positivo semidefinito.

    Vedi anche: kernel trick, Random Fourier features, matrice di Gram, Kernel PCA, spazio di Hilbert a kernel riproducente, selezione delle feature.

    Pubblicato: