Decomposizione SVD

Indice dei contenuti

    La Singular Value Decomposition (SVD) è la fattorizzazione più generale e informativa dell’algebra lineare numerica: si applica a qualsiasi matrice rettangolare e rivela la struttura geometrica fondamentale della trasformazione lineare associata.

    Vedi anche: Decomposizione Polare, Teorema Spettrale, Numero di Condizionamento, Fattorizzazione QR.

    Enunciato

    Teorema (SVD): per ogni AMm×n(R)A \in M_{m \times n}(\mathbb{R}) esistono:

    • UMm×m(R)U \in M_{m \times m}(\mathbb{R}) ortogonale (UUT=ImUU^T = I_m)
    • ΣMm×n(R)\Sigma \in M_{m \times n}(\mathbb{R}) con Σii=σi0\Sigma_{ii} = \sigma_i \geq 0 e tutti gli altri elementi nulli
    • VMn×n(R)V \in M_{n \times n}(\mathbb{R}) ortogonale (VVT=InVV^T = I_n)

    tali che:

    A=UΣVTA = U \Sigma V^T

    I valori σ1σ2σmin(m,n)0\sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_{\min(m,n)} \geq 0 si chiamano valori singolari di AA. Le colonne di UU sono i vettori singolari sinistri, le colonne di VV i vettori singolari destri.

    Interpretazione Geometrica

    La SVD decompone ogni trasformazione lineare AA in tre operazioni:

    1. Rotazione/riflessione VTV^T nello spazio sorgente
    2. Scalatura Σ\Sigma lungo assi coordinati (con fattori σi\sigma_i)
    3. Rotazione/riflessione UU nello spazio immagine

    L’immagine della sfera unitaria è un ellissoide con semiassi di lunghezza σ1,σ2,\sigma_1, \sigma_2, \ldots

    Relazione con Autovalori

    I valori singolari di AA sono le radici quadrate degli autovalori di ATAA^T A (o equivalentemente di AATAA^T):

    ATA=VΣTΣVT,AAT=UΣΣTUTA^T A = V \Sigma^T \Sigma V^T, \quad AA^T = U \Sigma \Sigma^T U^T

    Per una matrice simmetrica definita positiva AA: i valori singolari coincidono con gli autovalori.

    Pseudoinversa di Moore-Penrose

    La pseudoinversa A+A^+ di AA si definisce come:

    A+=VΣ+UTA^+ = V \Sigma^+ U^T

    dove Σ+\Sigma^+ è ottenuta invertendo i valori singolari non nulli: (Σ+)ii=1/σi(\Sigma^+)_{ii} = 1/\sigma_i se σi>0\sigma_i > 0, altrimenti 00.

    La pseudoinversa soddisfa le quattro condizioni di Moore-Penrose:

    1. AA+A=AAA^+A = A
    2. A+AA+=A+A^+AA^+ = A^+
    3. (AA+)T=AA+(AA^+)^T = AA^+
    4. (A+A)T=A+A(A^+A)^T = A^+A

    Per sistemi lineari Ax=bA\vec{x} = \vec{b}: la soluzione ai minimi quadrati di norma minima è x+=A+b\vec{x}^+ = A^+\vec{b}.

    Rango, Nucleo e Immagine

    • Il rango di AA è il numero di valori singolari non nulli.
    • Le colonne di UU corrispondenti a σi>0\sigma_i > 0 formano una base dell’immagine di AA.
    • Le colonne di VV corrispondenti a σi=0\sigma_i = 0 formano una base del nucleo di AA.

    Approssimazione a Basso Rango

    Teorema di Eckart-Young-Mirsky: la migliore approssimazione di rango kk a AA in norma spettrale (o di Frobenius) è:

    Ak=i=1kσiuiviTA_k = \sum_{i=1}^k \sigma_i \vec{u}_i \vec{v}_i^T

    con errore AAk2=σk+1\|A - A_k\|_2 = \sigma_{k+1}.

    Questa proprietà è alla base della compressione dati: conservando solo i primi kk valori singolari si ottiene un’approssimazione di AA con k(m+n)k(m+n) numeri invece di mnmn.

    Applicazioni ingegneristiche

    • Compressione di immagini: la SVD applicata a una matrice immagine AA permette di approssimarla con una matrice a basso rango; conservando kk valori singolari si riduce la dimensione dei dati mantenendo le caratteristiche visive principali.
    • Analisi delle componenti principali (PCA): la PCA è equivalente alla SVD della matrice dei dati centrata; i valori singolari danno la varianza spiegata da ciascuna componente principale.
    • Sistemi di raccomandazione: Netflix, Spotify e simili usano la fattorizzazione a basso rango (variante SVD) per stimare le preferenze degli utenti su item non ancora valutati.
    • Controllo robusto: la norma HH_\infty di un sistema di controllo è il massimo valore singolare della matrice di trasferimento; la sintesi HH_\infty minimizza questa norma.
    • Visione artificiale: la stima della matrice fondamentale (geometria epipolare) impone il vincolo di rango 2, ottenuto azzerando il terzo valore singolare della matrice 3×33 \times 3 stimata.

    Ultimo aggiornamento: