Kernel PCA

Indice dei contenuti

    La Kernel PCA è un’estensione non lineare dell’analisi delle componenti principali. Invece di cercare direzioni di massima varianza nello spazio originale, applica implicitamente una mappa di feature \Phi e svolge la PCA nello spazio trasformato.

    Il passaggio chiave è il kernel trick:

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

    Così non serve costruire esplicitamente le coordinate \Phi(x_i): basta lavorare con la matrice di Gram dei kernel.

    PCA lineare e Kernel PCA

    AspettoPCA lineareKernel PCA
    Spazio di lavoro\displaystyle x_i\in\mathbb R^p\displaystyle \Phi(x_i)\in\mathcal F
    Matrice centrale\displaystyle S=\dfrac{1}{n-1}X_c^T X_c\displaystyle \widetilde K=H K H
    Problema spettrale\displaystyle S w=\lambda w\displaystyle \widetilde K\alpha=\mu\alpha
    Score\displaystyle z_i=x_i^T w\displaystyle z_{i\ell}=(\widetilde K\alpha_\ell)_i
    GeometriaLineare nello spazio originaleLineare nello spazio feature, non lineare nello spazio originale

    La Kernel PCA è utile quando la variabilità dominante segue curve, varietà o separazioni non lineari che la PCA ordinaria rappresenterebbe male.

    Matrice di Gram centrata

    Dato un insieme di training x_1,\ldots,x_n, si costruisce la matrice

    K_{ij}=K(x_i,x_j).

    Poiché la PCA richiede dati centrati, anche nello spazio feature bisogna centrare implicitamente. Si usa la matrice di centratura

    H=I_n-\dfrac{1}{n}\mathbf 1\mathbf 1^T

    e si ottiene la matrice di Gram centrata

    \widetilde K=H K H.
    OggettoFormulaRuolo
    Gram non centrata\displaystyle K_{ij}=K(x_i,x_j)Raccoglie i prodotti scalari impliciti.
    Matrice di centratura\displaystyle H=I_n-\dfrac{1}{n}\mathbf 1\mathbf 1^TSottrae la media nello spazio feature.
    Gram centrata\displaystyle \widetilde K=H K HÈ la matrice da diagonalizzare.
    Positiva semidefinitezza\displaystyle a^T K a\ge0Garantisce coerenza con un prodotto scalare.

    Se il kernel non è positivo semidefinito, la decomposizione può produrre risultati numericamente instabili o non interpretabili come PCA in uno spazio di Hilbert.

    Problema agli autovalori

    Gli assi principali nello spazio feature appartengono al sottospazio generato dai punti trasformati:

    v_\ell=\sum_{i=1}^n \alpha_{\ell i}\,\Phi_c(x_i).

    La ricerca delle componenti si riduce quindi a un problema agli autovalori sulla matrice di Gram centrata:

    \widetilde K\alpha_\ell=\mu_\ell\alpha_\ell.

    La normalizzazione va scelta in modo che \lVert v_\ell\rVert_{\mathcal F}=1. Una forma equivalente è

    \alpha_\ell^T\widetilde K\alpha_\ell=1.

    Nei software può comparire un fattore n nella definizione degli autovalori: il contenuto geometrico resta la diagonalizzazione della matrice di Gram centrata.

    Proiezione di nuovi punti

    Per proiettare un nuovo punto x, si calcolano prima i kernel rispetto ai punti di training:

    k(x)_i=K(x_i,x).

    Il vettore deve essere centrato in modo coerente con il training. Per ogni componente,

    k_c(x)_i= K(x_i,x) -\dfrac{1}{n}\sum_{j=1}^n K(x_j,x) -\dfrac{1}{n}\sum_{j=1}^n K(x_i,x_j) +\dfrac{1}{n^2}\sum_{r=1}^n\sum_{s=1}^n K(x_r,x_s).

    Lo score sulla componente \ell è quindi

    z_\ell(x)=\sum_{i=1}^n \alpha_{\ell i}\,k_c(x)_i.

    Questa formula mostra il punto operativo della Kernel PCA: anche la proiezione di un nuovo dato usa solo valutazioni del kernel. Su dataset grandi, il metodo di Nyström può ridurre il costo approssimando la matrice di Gram con un numero limitato di landmark.

    Scelta del kernel

    KernelFormulaEffetto tipico
    Lineare\displaystyle K(x,y)=x^T yRecupera la PCA lineare, a fattori di scala.
    Polinomiale\displaystyle K(x,y)=(x^T y+c)^dCattura interazioni tra variabili fino al grado \displaystyle d.
    Gaussiano RBF\displaystyle K(x,y)=\exp(-\gamma\lVert x-y\rVert^2)Modella strutture locali e curve lisce.
    Coseno normalizzato\displaystyle K(x,y)=\dfrac{x^T y}{\lVert x\rVert\lVert y\rVert}Evidenzia direzioni più che magnitudini.

    La scelta di \gamma, c o d modifica drasticamente la geometria. Parametri troppo estremi possono far collassare la matrice di Gram verso quasi-identità o quasi-costante.

    Procedura operativa

    PassoAzioneControllo
    1Standardizzare o normalizzare i datiLe scale influenzano distanze e prodotti scalari.
    2Scegliere un kernel \displaystyle KDeve essere compatibile con una matrice di Gram semidefinita positiva.
    3Calcolare \displaystyle K_{ij}=K(x_i,x_j)Produce la matrice di similarità del training set.
    4Centrare con \displaystyle \widetilde K=H K HReplica la centratura richiesta dalla PCA.
    5Diagonalizzare \displaystyle \widetilde KFornisce componenti principali nello spazio feature.
    6Proiettare i dati con \displaystyle z_{i\ell}=(\widetilde K\alpha_\ell)_iOttiene coordinate ridotte non lineari.

    Errori comuni

    • Dimenticare la centratura della matrice di Gram: senza centratura, non si sta facendo la PCA corretta nello spazio feature.
    • Confondere Kernel PCA con classificazione: la Kernel PCA è una tecnica non supervisionata di riduzione dimensionale.
    • Usare kernel non validi: una similarità intuitiva non è automaticamente un kernel positivo semidefinito.
    • Interpretare le componenti come variabili originali: gli assi vivono nello spazio feature e spesso non hanno un significato diretto nelle coordinate iniziali.
    • Scegliere parametri senza validazione: con kernel RBF, \gamma controlla la scala locale e può cambiare completamente la struttura proiettata.

    Vedi anche: mappa di feature, matrice di Gram, metodo di Nyström, analisi delle componenti principali, kernel trick, spazio di Hilbert a kernel riproducente, funzione positiva-definita, analisi dei cluster.

    Ultimo aggiornamento: