teorema di decomposizione spettraleautovalori e autovettori...
TRANSCRIPT
Teorema di Decomposizione SpettraleAnalisi Esplorativa
Aldo Solari
1 / 34
1 Decomposizione Spettrale
2 Matrice dei dati ortogonalizzati
3 Decomposizione in Valori Singolari
4 Appendice
2 / 34
Outline
1 Decomposizione Spettrale
2 Matrice dei dati ortogonalizzati
3 Decomposizione in Valori Singolari
4 Appendice
3 / 34
Direzione e lunghezza di un vettore
Sia ak×1
un vettori a valori reali. Allora ak×1
si può decomporre in duecomponenti,
• Lunghezza
λ = ‖ ak×1‖ =
√a′
1×ka
k×1=
√√√√√ k∑j=1
a2j
• Direzione normalizzatav
k×1=
ak×1λ
con ‖ vk×1‖ = 1
4 / 34
Autovalori e autovettori
• Questa idea si può estendere ad una matrice simmetrica Ak×k
avalori reali, che è un insieme di vettori
• Gli autovalori (eigenvalues) λ e gli autovettori (eigenvectors)normalizzati v
k×1con ‖ v
k×1‖ = 1 sono definiti dall’equazione
Ak×k
vk×1
= λ vk×1
• Ci sono esattamente k coppie (λj , vjk×1
), j = 1, . . . , k che
soddisfano l’equazione• Per convenzione, gli autovalori sono ordinati in manieradecrescente:
λ1 ≥ λ2 ≥ . . . ≥ λk
5 / 34
Autovalori e autovettori
• Ak×k
una matrice simmetrica a valori reali
• Ak×k
definita positiva ⇔ tutti gli autovalori di Ak×k
sono positivi , i.e.λj > 0, j = 1, . . . , k
• Ak×k
semidefinita positiva ⇔ tutti gli autovalori di Ak×k
sono nonnegativi, i.e. λj ≥ 0, j = 1, . . . , k
• Ak×k
con rango( Ak×k
) = r ≤ k. Allora Ak×k
ha r autovalori non nulli,e i rimanenti k − r autovalori nulli
• Autovettori normalizzati vjk×1
e vlk×1
associati ad autovalori distinti
λj 6= λl sono perpendicolari, i.e. v′j1×k
vlk×1
= 0
Per un richiamo su autovalori e autovettori, vedi Appendice;
6 / 34
Teorema di Decomposizione SpettraleSia A
k×kuna matrice simmetrica a valori reali. Allora A
k×ksi può
esprimere come
Ak×k
= Vk×k
Λk×k
V ′k×k
=k∑
j=1λj vj
k×1v′j
1×k
dove
• Λk×k
= diag(λ1, . . . , λk) è una matrice diagonale dove il j-simoelemento diagonale λj è il j-simo autovalore associato ad A
k×k
• Vk×k
=[v1
k×1· · · vk
k×1
], dove la j-sima colonna vj
k×1è il j-simo
autovettore normalizzato (‖ vjk×1‖ = 1) associato all’autovalore λj
• Vk×k
è una matrice ortogonale: Vk×k
V ′k×k
= V ′k×k
Vk×k
= Ik×k
7 / 34
Esempio
A2×2
=[
2.2 0.40.4 2.8
]simmetrica e a valori reali. Otteniamo gli autovalori
λ1 = 3 e λ2 = 2, a cui corrispondono gli autovalori (normalizzati)
v12×1
=[
1/√
52/√
5
]e v2
2×1=[
2/√
5−1/√
5
], quindi
A2×2
= 3[
1/√
52/√
5
] [1/√
5 2/√
5]+2
[2/√
5−1/√
5
] [2/√
5 −1/√
5]
8 / 34
Lemma
Aq
k×k= V
k×kΛq
k×kV ′k×k
dove Λk×k
q = diag(λq1, . . . , λ
qk)
• Se Ak×k
è semidefinita positiva, vale solo per q > 0 razionali,ovvero per q ∈ Q+
• Se Ak×k
è definita positiva, vale anche per q < 0 razionali,
ovvero per q ∈ Q\0
9 / 34
Applicazioni del Lemma
• A−1k×k
= Vk×k
Λ−1k×k
V ′k×k
• A−12
k×k= V
k×kΛ−
12
k×kV ′k×k
• A2k×k
= Vk×k
Λ2k×k
V ′k×k
• A12
k×k= V
k×kΛ
12
k×kV ′k×k
10 / 34
Decomposizione Spettrale di S
La decomposizione spettrale della matrice simmetrica Sp×p
è
Sp×p
= Vp×p
Λp×p
V ′p×p
Ricordando che Vp×p
V ′p×p
= V ′p×p
Vp×p
= Ip×p
, otteniamo
tr( Sp×p
) = tr( Vp×p
Λp×p
V ′p×p
) = tr( Λp×p
V ′p×p
Vp×p
) = tr( Λp×p
) =p∑
j=1λj
det( Sp×p
) = det( Vp×p
Λp×p
V ′p×p
) = det( Vp×p
)det( Λp×p
)det(V ′p×p
)
= det( Λp×p
)det( Vp×p
V ′p×p
) = det( Λp×p
)det( Ip×p
) =p∏
j=1λj
Per le proprietà di traccia e determinante, vedi Appendice della lezione su varianza totale egeneralizzata;
11 / 34
Outline
1 Decomposizione Spettrale
2 Matrice dei dati ortogonalizzati
3 Decomposizione in Valori Singolari
4 Appendice
12 / 34
Matrice dei dati ortogonalizzati Z̃
Sia Sp×p
, la matrice di varianze/covarianze di Xn×p
, definita positiva.Possiamo allora ottenere la matrice dei dati ortogonalizzati
Z̃n×p
= Hn×n
Xn×p
S−12
p×p
tale per cui• Z̃
n×pha vettore delle medie nullo 0
p×1
• Z̃n×p
ha matrice di varianze/covarianze SZ̃
p×p= I
p×p
Questa trasformazione lineare dei dati originali Xn×p
si chiamatrasformazione di Mahalanobis
13 / 34
Dati ortogonalizzati Z̃
Dimostrazione:
Il vettore delle medie di Z̃n×p
è
1nZ̃ ′
p×n1
n×1= 1n
(S−12
p×p)′ X̃ ′
p×n1
n×1= S−
12
p×p0
p×1= 0
p×1
ricordando che
• il vettore delle medie di X̃n×p
è nullo: 1n X̃
′p×n
1n×1
= 0p×1
• la decomposizione spettrale di Sp×p
è Sp×p
= Vp×p
Λp×p
V ′p×p
• per il Lemma, abbiamo S− 12
p×p= V
p×pΛ−
12
p×pV ′p×p
simmetrica:
(S−12
p×p)′ = ( V
p×pΛ−
12
p×pV ′p×p
)′ = Vp×p
Λ−12
p×pV ′p×p
= S−12
p×p
�
14 / 34
Dati ortogonalizzati Z̃
Dimostrazione:La matrice di varianze/covarianze di Z̃
n×pè
SZ̃
p×p= 1nZ̃ ′
n×pH
n×nZ̃
p×n= 1n
(S−12
p×p)′ X̃ ′
n×pX̃
n×pS−
12
p×p= S−
12
p×pS
p×pS−
12
p×p
= ( Vp×p
Λ−12
p×pV ′p×p
)( Vp×p
Λp×p
V ′p×p
)( Vp×p
Λ−12
p×pV ′p×p
) = Vp×p
Λ−12
p×pΛ
p×pΛ−
12
p×pV ′p×p
= Vp×p
Λp×p
Λ−12
p×pΛ−
12
p×pV ′p×p
= Vp×p
Λp×p
Λ−1p×p
V ′p×p
= Vp×p
Ip×p
V ′p×p
= Ip×p
ricordando che
• Vp×p
è una matrice ortogonale: Vp×p
V ′p×p
= V ′p×p
Vp×p
= Ip×p
• diag(a1, . . . , aq)diag(b1, . . . , bq) = diag(a1b1, . . . , aqbq) =diag(b1, . . . , bq)diag(a1, . . . , aq)
15 / 34
Dati ortogonalizzati Z̃
Matrice Vettore delle Matrice di Matrice didei dati medie varianze/covarianze correlazione
Xn×p
x̄p×1
Sp×p
Rp×p
X̃n×p
0p×1
SX̃
p×p= S
p×pRX̃
p×p= R
p×p
Zn×p
0p×1
SZ
p×p= R
p×pRZ
p×p= R
p×p
Z̃n×p
0p×1
SZ̃
p×p= I
p×pRZ̃
p×p= I
p×p
16 / 34
Matrice originale X
●
●
●
●
●
●
●
●
●
●
0 5 10
05
10
x1
x 2
17 / 34
Matrice centrata X̃ (traslazione)
●
●
●
●
●
●
●
●
●
●
0 5 10
05
10
x~1
x~2
18 / 34
Matrice standardizzata Z (compr./dilat.)
●●
●
●
●
●
●●
●●
0 5 10
05
10
z1
z 2
19 / 34
Matrice ortogonalizzata Z̃ (decorrelazione)
●●
●
●
●
●
●●
●●
0 5 10
05
10
z~1
z~2
20 / 34
Outline
1 Decomposizione Spettrale
2 Matrice dei dati ortogonalizzati
3 Decomposizione in Valori Singolari
4 Appendice
21 / 34
Decomposizione in Valori Singolari (SVD)
• Si possono generalizzare le idee della Decomposizione Spettrale perottenere la Decomposizione in Valori Singolari (Singular ValueDecomposition) di una matrice rettangolare A
m×k, dove:
• i vettori vjk×1
e ujm×1
della SVD di Am×k
sono gli autovettori
normalizzati delle matrici simmetriche Kk×k
= A′k×m
Am×k
eM
m×m= A
m×kA′
k×m, rispettivamente
• i valori δj della SVD di Am×k
sono la radice quadrata degli autovalori> 0 della matrice K (o, equivalentemente, della matrice M)
22 / 34
Decomposizione in Valori Singolari (SVD)
Sia Am×k
una matrice rettangolare a valori reali. Allora esiste unamatrice ortogonale U
m×me una matrice ortogonale V
k×ktali che
Am×k
= Um×m
∆m×k
V ′k×k
=min(m,k)∑
j=1δj uj
m×1v′j
1×k
dove la matrice ∆m×k
ha elemento di posizione (j, j) pari a δj ≥ 0 perj = 1, . . . ,min(m, k) e gli altri elementi pari a 0.
Le costanti δ1 ≥ . . . ≥ δmin(m,k) sono dette valori singolari di Am×k
.
23 / 34
Decomposizione in Valori Singolari (SVD)• Sia A
m×kcon rango( A
m×k) = r ≤ min(m, k).
• Le k colonne di Vk×k
sono gli autovettori di K = A′k×m
Am×k
A′k×m
Am×k
= Vk×k
∆′k×m
U ′m×m
Um×m
∆m×k
V ′k×k
= Vk×k
∆′k×m
∆m×k
V ′k×k
= Vk×k
∆2r
r×r0
r×(k−r)0
(k−r)×r0
(k−r)×(k−r)
V ′k×k
= V K
k×kΛK
k×k(V K)′
k×k
• Le m colonne di Um×m
sono gli autovettori di M = Am×k
A′k×m
Am×k
A′k×m
= Um×m
∆m×k
V ′k×k
Vk×k
∆′k×m
U ′m×m
= Um×m
∆m×k
∆′k×m
U ′m×m
= Um×m
∆2r
r×r0
r×(m−r)0
(m−r)×r0
(m−r)×(m−r)
U ′m×m
= V M
m×mΛM
m×m(V M )′m×m
24 / 34
Decomposizione in Valori Singolari (SVD)• Sia A
m×kcon rango( A
m×k) = r ≤ min(m, k).
• ∆2r
r×r= diag(δ2
1 , . . . , δ2r ) i cui elementi diagonali sono gli r autovalori
non nulli λK1 ≥ λK
2 ≥ . . . ≥ λKr > 0 di K = A′
k×mA
m×k(o di
M = Am×k
A′k×m
)
Possiamo scrivere
Am×k
= Um×m
∆m×k
V ′k×k
= Urm×r
∆rr×r
V ′rr×k
=r∑
j=1δj uj
m×1v′j
1×k
con• Ur
m×r=[u1
m×1. . . ur
m×1
]• Vr
k×r=[v1
k×1. . . vr
k×1
]• ∆r
r×r= diag(δ1, . . . , δr) con δj > 0
25 / 34
Matrice di varianze/covarianze S
• Decomposizione spettrale di Sp×p
Sp×p
= Vp×p
Λp×p
V ′p×p
• Decomposizione in valori singolari di X̃n×p
X̃n×p
= Un×n
∆n×p
V ′p×p
• Decomposizione in valori singolari di Sp×p
S = 1nX̃ ′X̃ = 1
nV∆U ′U∆V ′ = V
1n
∆2V ′
26 / 34
Outline
1 Decomposizione Spettrale
2 Matrice dei dati ortogonalizzati
3 Decomposizione in Valori Singolari
4 Appendice
27 / 34
Autovalori e autovettori
Per ogni matrice quadrata Ak×k
, si possono trovare uno scalare λ e unvettore v
k×1tali che
Ak×k
vk×1
= λ vk×1
(1)
λ è detto autovalore (eigenvalue) di Ak×k
e vk×1
è l’autovettore(eigenvector) di A
k×kcorrespondente a λ. Per risolvere l’equazione (1)
scriviamo:
( Ak×k− λ I
k×k) vk×1
= 0k×1
(2)
28 / 34
Autovalori e autovettori• Se det( A
k×k− λ I
k×k) 6= 0, ( A
k×k− λ I
k×k) è invertibile e v
k×1= 0
k×1è
l’unica soluzione. Per escludere le soluzioni banali, imponiamoquindi det( A
k×k− λ I
k×k) = 0 in modo tale da ottenere valori di λ
che possano essere sostituiti in (1) e (2) per ottenere icorrispondenti valori di v
k×1.
• Quindi, affinchè (2) abbia una soluzione, è necessario che lecolonne di A
k×k− λ I
k×ksiano linearmente dipendenti. Concludendo,
Ak×k− λ I
k×kdeve essere singolare (determinate pari a 0) affinchè
esista un vk×16= 0
k×1che sia soluzione di (1).
• L’equazione det( Ak×k− λ I
k×k) è detta equazione caratteristica.
Visto che Ak×k
ha dimensioni k × k, l’equazione caratteristica ha kradici; cioè, A
k×kha k autovalori λ1, λ2, . . . , λk. I valori λj non sono
tutti necessariamente distinti da zero.29 / 34
Autovalori e autovettori• Però, se A
k×kè non singolare, gli autovalori saranno tutti diversi tra
loro. Gli autovettori v1k×1
, v1k×1
, . . . , vkk×1
associati a λ1, λ2, . . . , λk
sono definiti da (2).• Notiamo che se moltiplichiamo entrambi i membri della (1) peruno scalare k (e sfruttiamo la proprietà commutativa), otteniamo
( Ak×k− λ I
k×k)c v
k×1= c0 = 0.
Quindi, se vk×1
è un autovettore di Ak×k
, anche c vk×1
è unautovettore. In generale, ogni autovettore è unico a meno di valoriscalari c 6= 0. Si noti in ogni caso che la direzione indicata dalvettore v
k×1è unica (la moltiplicazione per c mantiene costanti i
rapporti delle coordinate) e quindi la soluzione è essenzialmenteunica.
• Per questo motivo è uso definire l’autovettore normalizzatoe
k×1= v
k×1/‖ v
k×1‖ di lunghezza unitaria, cioè tale che e′
1×ke
k×1= 1.
30 / 34
Autovalori e autovettori: esempio
• Facciamo un esempio, troviamo gli autovalori e autovettori dellamatrice
A2×2
=[
1 2−1 4
]• L’equazione caratteristica è
det( A2×2− λ I
2×2) = det
(1− λ 2−1 4− λ
)= (1− λ)(4− λ) + 2 = 0
λ2 − 5λ+ 6 = (λ− 3)(λ− 2) = 0,
da cui si ricavano λ1 = 3 e λ2 = 2.
31 / 34
Autovalori e autovettori: esempio
• Per trovare l’autovettore e12×1
corrispondente a λ1 = 3, usiamo la
(2):
( A2×2− λ I
2×2) e12×1
= 02×1[
1− 3 2−1 4− 3
] [e11e21
]=[
00
]{−2e11 + 2e21 = 0−e11 + e21 = 0.
32 / 34
Autovalori e autovettori: esempio
• Come atteso, la seconda equazione è ridondante in presenza dellaprima (e viceversa), rimane quindi una sola equazione con dueparametri: e11 = e21. Ora se all’unica equazione aggiungiamo lacondizione di vettore di lunghezza unitaria (‖ e1
2×1‖ = 1 cioè√
e211 + e2
21 = 1) otteniamo
e12×1
=[e11e21
]=[
1/√
21/√
2
]
• In modo analogo, in corrispondenza di λ2 = 2, si ha
e22×1
=[
2/√
51/√
5
].
33 / 34
Autovalori e autovettori: ulteriori risultati• Nonostante gli autovalori di una matrice A
k×knon siano
necessariamente tutti reali, ciò è garantito nel caso Ak×k
siasimmetrica e reale.
• Sia Ak×k
una matrice k × k and Bk×k
una matrice k × k con
rango( Bk×k
) = k. Ak×k
e B−1k×k
Ak×k
Bk×k
hanno gli stessi autovalori.
• una matrice Ak×k
con rango( Ak×k
) < k ha almeno un autovalore paria zero.
• una matrice idempotente ha solo autovalori pari a 1 o 0.• - Se A
k×kè semidefinita positiva, allora λj ≥ 0, j = 1, . . . , k;
- Se Ak×k
è definita positiva, allora λj > 0, j = 1, . . . , k
• Autovettori associati a distinti autovalori sono perpendicolari (seλj 6= λl, e′j
1×k
elk×1
= 0)
34 / 34