La scomposizione ai valori singolari, o SVD da singular value decomposition, è una fattorizzazione matriciale che rappresenta una matrice come composizione di rotazioni, dilatazioni lungo assi ortogonali e un’altra rotazione. Per una matrice reale X\in\mathbb{R}^{m\times n} si scrive
dove U e V hanno colonne ortonormali e \Sigma contiene valori singolari non negativi.
È uno degli strumenti più importanti dell’algebra lineare numerica perché esiste per ogni matrice, anche rettangolare e non invertibile.
Forma completa e forma ridotta
Nella forma completa,
con U e V matrici ortogonali. Se il rango di X è r, spesso si usa la forma compatta:
dove
I numeri \sigma_i sono i valori singolari. Le colonne di U_r sono i vettori singolari sinistri, le colonne di V_r quelli destri.
Collegamento con autovalori
I valori singolari sono legati agli autovalori delle matrici simmetriche semidefinite
In particolare,
quindi i valori singolari sono le radici quadrate degli autovalori non negativi di X^TX. Questo spiega perché la SVD è numericamente robusta e perché generalizza la diagonalizzazione anche a matrici rettangolari.
Interpretazione geometrica
La trasformazione x\mapsto Xx può essere letta come:
- rotazione o cambio di coordinate tramite V^T;
- dilatazione lungo assi ortogonali tramite \Sigma;
- rotazione nello spazio di arrivo tramite U.
I valori singolari misurano quanto la matrice amplifica o comprime lungo direzioni principali. Il valore singolare massimo descrive la massima amplificazione euclidea:
Il numero di valori singolari non nulli è il rango della matrice.
Approssimazione a rango basso
Troncando la SVD ai primi k valori singolari si ottiene
Il teorema di Eckart-Young afferma che X_k è la migliore approssimazione di rango k di X in norma spettrale e in norma di Frobenius. Questo risultato è alla base di compressione, denoising, riduzione dimensionale e modelli latenti.
PCA e dati
Nell’analisi delle componenti principali, si applica la SVD alla matrice dati centrata. I vettori singolari destri descrivono le direzioni principali nello spazio delle variabili; i valori singolari determinano la varianza spiegata:
Mantenendo solo le prime componenti, si riduce la dimensionalità conservando la quota più grande possibile di variabilità lineare.
Minimi quadrati e pseudoinversa
La SVD permette di trattare in modo stabile problemi ai minimi quadrati e matrici mal condizionate. Se
la pseudoinversa di Moore-Penrose è
dove \Sigma^+ si ottiene sostituendo ogni valore singolare non nullo \sigma_i con 1/\sigma_i. Valori singolari molto piccoli segnalano direzioni instabili: invertirli amplifica rumore ed errori numerici.
Errori comuni
Il primo errore è pensare che la SVD sia solo una tecnica per PCA: è una fattorizzazione generale, utile anche in condizionamento, compressione, regressione e algebra lineare numerica. Il secondo è ignorare la scala dei valori singolari: valori molto piccoli possono rendere instabile una soluzione. Il terzo è confondere autovalori e valori singolari: coincidono solo in casi particolari, per esempio per matrici simmetriche positive semidefinite.
Per esercizi applicati si vedano PCA: esercizi svolti e minimi quadrati e regressione numerica.