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:
Così non serve costruire esplicitamente le coordinate \Phi(x_i): basta lavorare con la matrice di Gram dei kernel.
PCA lineare e Kernel PCA
| Aspetto | PCA lineare | Kernel 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 |
| Geometria | Lineare nello spazio originale | Lineare 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
Poiché la PCA richiede dati centrati, anche nello spazio feature bisogna centrare implicitamente. Si usa la matrice di centratura
e si ottiene la matrice di Gram centrata
| Oggetto | Formula | Ruolo |
|---|---|---|
| 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^T | Sottrae la media nello spazio feature. |
| Gram centrata | \displaystyle \widetilde K=H K H | È la matrice da diagonalizzare. |
| Positiva semidefinitezza | \displaystyle a^T K a\ge0 | Garantisce 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:
La ricerca delle componenti si riduce quindi a un problema agli autovalori sulla matrice di Gram centrata:
La normalizzazione va scelta in modo che \lVert v_\ell\rVert_{\mathcal F}=1. Una forma equivalente è
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:
Il vettore deve essere centrato in modo coerente con il training. Per ogni componente,
Lo score sulla componente \ell è quindi
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
| Kernel | Formula | Effetto tipico |
|---|---|---|
| Lineare | \displaystyle K(x,y)=x^T y | Recupera la PCA lineare, a fattori di scala. |
| Polinomiale | \displaystyle K(x,y)=(x^T y+c)^d | Cattura 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
| Passo | Azione | Controllo |
|---|---|---|
| 1 | Standardizzare o normalizzare i dati | Le scale influenzano distanze e prodotti scalari. |
| 2 | Scegliere un kernel \displaystyle K | Deve essere compatibile con una matrice di Gram semidefinita positiva. |
| 3 | Calcolare \displaystyle K_{ij}=K(x_i,x_j) | Produce la matrice di similarità del training set. |
| 4 | Centrare con \displaystyle \widetilde K=H K H | Replica la centratura richiesta dalla PCA. |
| 5 | Diagonalizzare \displaystyle \widetilde K | Fornisce componenti principali nello spazio feature. |
| 6 | Proiettare i dati con \displaystyle z_{i\ell}=(\widetilde K\alpha_\ell)_i | Ottiene 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.