申明: 仅个人小记
前提简要
- A = U Σ V T A=U\Sigma V^T A=UΣVT
- u i ⃗ \vec{u_i} ui为 U U U的列向量, v i ⃗ \vec{v_i} vi为 V V V的列向量, v i ⃗ \vec{v_i} vi和 u i ⃗ \vec{u_i} ui的直接关系为, A v i ⃗ = λ i u i ⃗ = σ i u i ⃗ A\vec{v_i}=\sqrt{\lambda_i}\vec{u_i}=\sigma_i\vec{u_i} Avi=λiui=σiui
- u i ⃗ \vec{u_i} ui称为左奇异向量, v i ⃗ \vec{v_i} vi称为右奇异向量。
- 注意! λ \lambda λ是矩阵 A T A A^TA ATA的特征值,而不是矩阵 A A A的特征值!
- 我们把 λ i \sqrt{\lambda_i} λi记作 σ i \sigma_i σi,并称为奇异值。
- 当A可对角化时,奇异值 σ i \sigma_i σi就是矩阵A的特征值。
既定事实,
- 对于任意规格mXn矩阵 A A A, A T A {A}^{T}A ATA为n*n规格的实对称矩阵。
- 实对称矩阵必然存在n个线性无关的相互正交的单位特征向量
- 正交矩阵的逆矩阵等于正交矩阵的转置
- r ( A T A ) = r ( A ) = k , ( k ≤ m i n { m , n } ) r({A}^{T}A)=r(A)=k,(k\le min\left \{ m,n\right \}) r(ATA)=r(A)=k,(k≤min{m,n}),即 A T A {A}^{T}A ATA的非零特征值的个数为k(重根分开计数)
- 易知恒有 A T A {A}^{T}A ATA的特征值 λ i ≥ 0 \lambda_i\ge0 λi≥0,将特征值按降序排为 λ 1 , λ 2 , , , λ k , λ k + 1 , , , λ n \lambda_1, \lambda_2, ,,\lambda_k,\lambda_{k+1},,,\lambda_n λ1,λ2,,,λk,λk+1,,,λn,其中 λ k , λ k + 1 , , , λ n \lambda_k,\lambda_{k+1},,,\lambda_{n} λk,λk+1,,,λn皆为零值。
推导开始
A
T
A
{A}^{T}A
ATA的n个n维度线性无关的相互正交的单位特征向量,记为
v
1
⃗
,
v
2
⃗
,
.
.
.
,
v
n
⃗
\vec {v _{1}}, \vec {v _{2}},...,{\vec {v _{n}}}
v1,v2,...,vn所以有,
A
T
A
v
i
⃗
=
λ
i
v
i
⃗
=
{
λ
i
v
i
⃗
,
i
≤
k
0
⃗
,
i
>
k
{A}^{T}A\vec {v _{i}} = \lambda _{i} \vec {v _{i}}=\begin {cases} \lambda_i\vec{v_i},&i\le k \cr \vec{0},&i>k\end {cases}
ATAvi=λivi={λivi,0,i≤ki>k
v
i
⃗
⋅
v
j
⃗
=
0
,
(
i
≠
j
)
以及
v
i
⃗
⋅
v
i
⃗
=
1
\vec {v _{i}} \cdot \vec {v_{j}} = 0, (i \neq j)以及\vec {v_{i}} \cdot \vec {v_{i}} = 1
vi⋅vj=0,(i=j)以及vi⋅vi=1所以下面只讨论非零特征值部分,
v
j
⃗
⋅
A
T
A
v
i
⃗
=
v
j
⃗
⋅
λ
i
v
i
⃗
,
(
i
,
j
≤
k
)
\vec {v_j} \cdot {A}^{T}A\vec {v_i} = \vec {v_j} \cdot \lambda _i \vec{v_i},(i, j\le k)
vj⋅ATAvi=vj⋅λivi,(i,j≤k)
进而有,
v
j
⃗
T
A
T
A
v
i
⃗
=
λ
v
j
⃗
⋅
v
i
⃗
,
(
i
,
j
≤
k
)
{\vec{v_j}}^{T}{A}^{T}A\vec{v_i}=\lambda \vec{v_j}\cdot\vec{v_i} ,(i, j\le k)
vjTATAvi=λvj⋅vi,(i,j≤k)显然,
(
A
v
j
⃗
)
T
⋅
(
A
v
i
⃗
)
=
λ
i
⋅
{
0
,
i
≠
j
1
,
i
=
j
{(A\vec{v_j})}^{T}\cdot(A\vec{v_i})=\lambda _i \cdot \begin{cases}0,&i \neq j \cr 1, & i=j\end{cases}
(Avj)T⋅(Avi)=λi⋅{0,1,i=ji=j
即,
(
A
v
j
⃗
)
⋅
(
A
v
i
⃗
)
=
{
0
,
i
≠
j
λ
i
,
i
=
j
,
(
i
,
j
≤
k
)
(A\vec{v_j})\cdot(A\vec{v_i})=\begin{cases} 0,&i\neq j\cr \lambda _i,&i=j\end{cases},(i, j\le k)
(Avj)⋅(Avi)={0,λi,i=ji=j,(i,j≤k)
即得,
∣
A
v
i
⃗
∣
=
λ
i
且
A
v
i
⃗
⊥
A
v
j
⃗
\left | A\vec{v_i}\right | = \sqrt{\lambda}_i且A\vec{v_i}\perp A\vec{v_j}
∣Avi∣=λi且Avi⊥Avj
说明, A v 1 ⃗ , A v 2 ⃗ , . . . , A v k ⃗ A\vec{v_1}, A\vec{v_2},...,A\vec{v_k} Av1,Av2,...,Avk是一组m维度列向量的正交基。其中 λ i \sqrt{\lambda_i} λi称为奇异值,记为 σ i \sigma_i σi。
进而我们将这组正交基正规化,即化为每个向量都变为模为1的向量,即 A v 1 ⃗ ∣ A v 1 ⃗ ∣ , A v 2 ⃗ ∣ A v 2 ⃗ ∣ , . . . , A v k ⃗ ∣ A v k ⃗ ∣ \frac {A\vec{v_1}}{\left | A\vec{v_1} \right |},\frac {A\vec{v_2}}{\left | A\vec{v_2} \right |},...,\frac {A\vec{v_k}}{\left | A\vec{v_k} \right |} ∣Av1∣Av1,∣Av2∣Av2,...,∣Avk∣Avk
即, A v 1 ⃗ λ 1 , A v 2 ⃗ λ 2 , . . . , A v k ⃗ λ k \frac {A\vec{v_1}}{\sqrt{\lambda _1}},\frac {A\vec{v_2}}{\sqrt{\lambda _2}},...,\frac {A\vec{v_k}}{\sqrt{\lambda _k}} λ1Av1,λ2Av2,...,λkAvk
记作(注意 v ⃗ \vec{v} v和 u ⃗ \vec{u} u之间的直接关系), u 1 ⃗ , u 2 ⃗ , . . . , u k ⃗ , ( 注意: u i ⃗ 是 m 维的列向量 ) \vec{u_1},\vec{u_2},...,\vec{u_k},(注意: \vec{u_i}是m维的列向量) u1,u2,...,uk,(注意:ui是m维的列向量)因为 k ≤ m k\le m k≤m,且 u i ⃗ \vec{u_i} ui是m维度的,所以可以补充m维正交向量,使得 u 1 ⃗ , u 2 ⃗ , , , u m ⃗ \vec{u_1},\vec{u_2},,,\vec{u_m} u1,u2,,,um为m个m维度的正交向量组。
此处梳理下,以上的推导结果为 u i ⃗ ⋅ u j ⃗ = { 0 , i ≠ j 1 , i = j , ( i , j ≤ m ) \vec{u_i}\cdot\vec{u_j}=\begin{cases}0,&i \neq j\cr1,&i = j \end{cases},(i,j\le m) ui⋅uj={0,1,i=ji=j,(i,j≤m)
A v i ⃗ = u i ⃗ λ i , ( i , j ≤ k ) A\vec{v_i}=\vec{u_i}\sqrt{\lambda_i},(i, j\le k) Avi=uiλi,(i,j≤k)
所以有,
A
(
v
1
⃗
,
v
1
⃗
,
.
.
.
,
v
n
⃗
)
A(\vec{v_1},\vec{v_1},...,\vec{v_n})
A(v1,v1,...,vn)
=
(
u
1
⃗
,
u
2
⃗
,
.
.
.
,
u
m
⃗
)
[
λ
1
λ
2
.
λ
k
0
.
0
]
=(\vec{u_1},\vec{u_2},...,\vec{u_m})\begin {bmatrix}&\sqrt{\lambda_1} & &&&&&\\&&\sqrt{\lambda_2}&&&&&\\&&&.&&&&\\&&&&\sqrt{\lambda_k}&&&\\&&&&&0 &&\\&&&&&&.&\\&&&&&&&0\end {bmatrix}
=(u1,u2,...,um)
λ1λ2.λk0.0
=
U
Σ
=U\Sigma
=UΣ
其中 Σ \Sigma Σ为m*n的矩阵。又因为, [ v 1 ⃗ , v 1 ⃗ , . . . , v n ⃗ ] [\vec{v_1},\vec{v_1},...,\vec{v_n}] [v1,v1,...,vn] 是正交矩阵,所以必然有 [ v 1 ⃗ , v 1 ⃗ , . . . , v n ⃗ ] − 1 = [ v 1 ⃗ , v 1 ⃗ , . . . , v n ⃗ ] T {[\vec{v_1},\vec{v_1},...,\vec{v_n}]}^{-1}={[\vec{v_1},\vec{v_1},...,\vec{v_n}]}^{T} [v1,v1,...,vn]−1=[v1,v1,...,vn]T
所以, A = ( u 1 ⃗ , u 2 ⃗ , . . . , u m ⃗ ) [ λ 1 λ 2 . λ k 0 . 0 ] [ v 1 ⃗ , v 1 ⃗ , . . . , v n ⃗ ] − 1 A=(\vec{u_1},\vec{u_2},...,\vec{u_m})\begin {bmatrix}&\sqrt{\lambda_1} & &&&&&\\&&\sqrt{\lambda_2}&&&&&\\&&&.&&&&\\&&&&\sqrt{\lambda_k}&&&\\&&&&&0 &&\\&&&&&&.&\\&&&&&&&0\end {bmatrix}{[\vec{v_1},\vec{v_1},...,\vec{v_n}]}^{-1} A=(u1,u2,...,um) λ1λ2.λk0.0 [v1,v1,...,vn]−1
即, A = ( u 1 ⃗ , u 2 ⃗ , . . . , u m ⃗ ) [ λ 1 λ 2 . λ k 0 . 0 ] [ v 1 ⃗ , v 1 ⃗ , . . . , v n ⃗ ] T A=(\vec{u_1},\vec{u_2},...,\vec{u_m})\begin {bmatrix}&\sqrt{\lambda_1} & &&&&&\\&&\sqrt{\lambda_2}&&&&&\\&&&.&&&&\\&&&&\sqrt{\lambda_k}&&&\\&&&&&0 &&\\&&&&&&.&\\&&&&&&&0\end {bmatrix}{[\vec{v_1},\vec{v_1},...,\vec{v_n}]}^{T} A=(u1,u2,...,um) λ1λ2.λk0.0 [v1,v1,...,vn]T
记作,
A
=
U
Σ
V
T
A=U\Sigma {V}^{T}
A=UΣVT
U的规格:mXm,
Σ
\Sigma
Σ 规格:mXn, V规格: nXn
补充
证明矩阵U的列向量是
A
A
T
A{A}^{T}
AAT的单位特征向量
A
A
T
u
i
⃗
=
A
A
T
A
v
i
⃗
λ
i
=
A
A
T
A
v
i
⃗
λ
i
=
A
λ
i
v
i
⃗
λ
i
=
λ
i
A
v
i
⃗
λ
i
=
λ
i
u
i
⃗
A{A}^{T}\vec{u_i}=A{A}^{T}\frac {A\vec{v_i}}{\sqrt{\lambda_i}}=A \frac {{A}^{T}A\vec{v_i}}{\sqrt{\lambda_i}}=A\frac {\lambda_i \vec{v_i}}{\sqrt{\lambda_i}}=\lambda_i\frac {A\vec{v_i}}{\sqrt{\lambda_i}}=\lambda_i\vec{u_i}
AATui=AATλiAvi=AλiATAvi=Aλiλivi=λiλiAvi=λiui
即, A A T u i ⃗ = λ i u i ⃗ A{A}^{T}\vec{u_i}=\lambda_i\vec{u_i} AATui=λiui
又因为, u i ⃗ ⋅ u i ⃗ = 1 \vec{u_i}\cdot\vec{u_i}=1 ui⋅ui=1
所以, u i ⃗ \vec{u_i} ui是 A A T A{A}^{T} AAT的单位特征向量。
再次注意, v ⃗ \vec{v} v和 u ⃗ \vec{u} u之间的直接关系,并利用该关系证明矩阵U的列向量是 A A T A{A}^{T} AAT的单位特征向量,证明如下 A T A v i ⃗ = λ i v i ⃗ A^TA\vec{v_i}=\lambda_i\vec{v_i} ATAvi=λivi A A T A v i ⃗ = λ i A v i ⃗ AA^TA\vec{v_i}=\lambda_iA\vec{v_i} AATAvi=λiAvi因为 v ⃗ \vec{v} v和 u ⃗ \vec{u} u之间的直接关系 A v i ⃗ = λ i u i ⃗ = σ i u i ⃗ A\vec{v_i}=\sqrt{\lambda_i}\vec{u_i}=\sigma_i\vec{u_i} Avi=λiui=σiui,进而 A A T σ i u i ⃗ = λ i σ i u i ⃗ AA^T\sigma_i\vec{u_i}=\lambda_i\sigma_i\vec{u_i} AATσiui=λiσiui即, A A T = λ i u ⃗ AA^T=\lambda_i\vec{u} AAT=λiu证毕。