赞
踩
A
=
L
U
A = LU
A=LU(LU分解)
A
=
Q
R
A=QR
A=QR(QR分解)
A
=
X
Λ
X
−
1
A = X\Lambda X^{-1}
A=XΛX−1 (谱分解)
S
=
Q
Λ
Q
T
S=Q\Lambda Q^T
S=QΛQT (正交对角化)
A
=
U
Σ
V
T
A = U\Sigma V^T
A=UΣVT(奇异值分解)
LU分解实际上就是 高斯消元法(Gaussian Elimination) 的矩阵表现形式,其中L指的是下三角矩阵(lower triangular matrix),U指的是一个上三角矩阵(upper triangular matrix)。
QR分解将一个矩阵A,分解成一个正交矩阵Q与上三角矩阵R相乘的形式。可以通过Gram-Schmidt方法构造,先通过Gram-Schmidt构造出正交矩阵Q,然后 R = Q T A R=Q^TA R=QTA,得到R。
所谓的 谱(spectrum) 就是一个矩阵 特征值(eigenvalue) 的集合。那么特征值是什么?特征值是指一个矩阵将一个特殊的向量线性转换的程度,这个特殊的向量称之为特征向量(eigenvector) ,所以对于一个矩阵而言特征向量要比特征值重要一些。
这里详细分析一下特征值和特征向量。首先从定义来看一下:
给定一个 的矩阵 A A A , x x x是非零向量,若存在一个数使 A x = λ x Ax = \lambda x Ax=λx 成立,那么我们称 λ \lambda λ 为矩阵 A A A的特征值,称 x x x为对应于 λ \lambda λ的特征向量。
举个简单的例子,设
A
=
(
3
2
2
0
)
A= \left(
我们怎么理解这个等式呢,先看左边的向量,所以左边乘法的结果必然是还一个 n × 1 n\times 1 n×1 的向量,也就是说一个 n × 1 n\times1 n×1的向量左乘一个 n × n n\times n n×n的方阵的结果依然在这个 R n \mathbb{R}^n Rn 的向量空间内。接下来我们看一下等式的右边, 4 u 4u 4u 相当于对 u u u线性的“拉长”了,却并未更改方向。这样我们就能够对特征向量有个直观的认识了,就是对于方阵 A A A 而言,在 R n \mathbb{R}^n Rn 的向量空间内有些特殊的向量,这些向量能够在左乘 A A A 之后,只做线性大小的伸缩,而方向上不做改变。站在矩阵 A A A 的视角看,这种向量非常的特殊,针对A而言是独特的,因此我们给它起了个名字叫做特征向量。
借助下面的图我们可以直观的感受一下线性转换(linear tranfromation),可以看出 A u Au Au 同 u u u 的方向是一致的,而 A v Av Av 的方向却与 v v v 不同。
考虑一个
n
×
n
n\times n
n×n 的矩阵
A
A
A ,令
A
A
A 的特征向量构成的矩阵为
X
=
[
x
1
,
x
2
,
.
.
.
,
x
n
]
X=[x_1, x_2, ..., x_n]
X=[x1,x2,...,xn] ,
与
X
X
X 中特征向量对应的特征值构成的对角矩阵为
Λ
=
(
λ
1
0
.
.
.
0
0
λ
2
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
λ
n
)
\Lambda = \left(
A
X
=
A
[
x
1
,
x
2
,
.
.
.
,
x
n
]
=
[
A
x
1
,
A
x
2
,
.
.
.
,
A
x
n
]
=
[
λ
1
x
1
,
λ
2
x
2
,
.
.
.
,
λ
n
x
n
]
=
[
x
1
,
x
2
,
.
.
.
,
x
n
]
(
λ
1
0
.
.
.
0
0
λ
2
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
λ
n
)
=
X
Λ
AX=A[x_1, x_2,...,x_n]=[Ax_1,Ax_2,...,Ax_n]=[\lambda_1x_1,\lambda_2x_2,...,\lambda_nx_n] = [x_1, x_2, ...,x_n] \left(
如果X 可逆(invertible) 的话,即 X X X 的列向量线性无关(linearly independent),上式可化简为 A = X Λ X − 1 A=X\Lambda X^{-1} A=XΛX−1。
也就是说对于方阵A ,能够对其谱分解的前提是 A A A 有 n n n 个线性无关的特征向量,这样它们构成的矩阵 X X X 才是一个可逆矩阵(invertible matrix)。
再考虑矩阵向量乘法,如果已知 A x = λ x Ax = \lambda x Ax=λx ,如何求 A n x A^nx Anx :
A n x = A n − 1 ( A x ) = A n − 1 ( λ x ) = λ A n − 1 x = . . . = λ n x A^nx = A^{n-1}(Ax) =A^{n-1}(\lambda x) = \lambda A^{n-1}x =...= \lambda^{n}x Anx=An−1(Ax)=An−1(λx)=λAn−1x=...=λnx
几何上可以理解使用 A A A对 n n n 次的线性转换,每次使 x x x 变成自身的 λ \lambda λ 倍。
对称矩阵(symmetric matrix),即 S T = S S^T = S ST=S,下面首先给出,对称矩阵的谱定理(the Spectral Theorem):
一个对称的 n × n n\times n n×n 矩阵 S S S 具有下面性质:
- S S S 有 n n n 个实数(real)特征值,包含重复的特征值
- 对于每一个特征值,对应特征子空间的维数等于作为特征方程的重数
- 特征空间相互正交,这种正交性是在特征向量对应不同特征值的意义下成立的
- S S S 可正交对角化(orthogonal diagonalization)。
由于对称矩阵有 n n n 个正交的特征向量,用 Q = [ q 1 , q 2 , . . . , q n ] Q = [q_1,q_2,...,q_n] Q=[q1,q2,...,qn] 表示 n n n 个相互正交的特征向量组成的正交矩阵(orthogonal marrix),对称矩阵 S S S 可以谱分解成 S = Q Λ Q − 1 S = Q\Lambda Q^{-1} S=QΛQ−1 ,又因为 Q Q Q 是正交矩阵,即 Q Q T = I QQ^T=I QQT=I ,即 Q T = Q − 1 Q^T=Q^{-1} QT=Q−1 , S = Q Λ Q T S = Q\Lambda Q^{T} S=QΛQT ,所以将矩阵的逆替换成矩阵的转置使得对称矩阵的分解更加简单。
Q Q Q 是一个正交矩阵,可按列向量展开, Q = [ q 1 , q 2 , . . . , q n ] Q=[q_1, q_2, ..., q_n] Q=[q1,q2,...,qn] ,其中 q i ∈ R n , i = { 1 , 2 , . . . , n } q_i\in \mathbb{R}_n, i=\{1, 2, ... , n\} qi∈Rn,i={1,2,...,n} 是**单位正交(orthonormal)**向量,即 ∣ q i ∣ = q i T q i = 1 , q i T q j = 0 , i ≠ j |q_i| = q_i^T q_i = 1 ,q_i^T q_j = 0, i\ne j ∣qi∣=qiTqi=1,qiTqj=0,i=j.
Λ
\Lambda
Λ 是一个对角矩阵(diagonal matrix),
Λ
=
(
λ
1
0
.
.
.
0
0
λ
2
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
λ
n
)
\Lambda = \left(
Q T Q^T QT 是 Q Q Q 的转置(transpose),因为 Q Q Q 是正交矩阵,所以 Q T = Q − 1 Q^T=Q^{-1} QT=Q−1
我们展开一下
S
=
Q
Λ
Q
T
S = Q\Lambda Q^T
S=QΛQT :
S
=
Q
Λ
Q
T
=
[
q
1
,
q
2
,
.
.
.
,
q
n
]
(
λ
1
0
.
.
.
0
0
λ
2
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
λ
n
)
(
q
1
T
q
2
T
.
.
.
q
n
T
)
=
[
λ
1
q
1
,
λ
2
q
2
,
.
.
.
,
λ
n
q
n
]
(
q
1
T
q
2
T
.
.
.
q
n
T
)
=
λ
1
q
1
q
1
T
+
λ
2
q
2
q
2
T
+
.
.
.
+
λ
n
q
n
q
n
T
左右等式同乘一个 S q 1 = λ 1 q 1 q 1 T q 1 + λ 2 q 2 q 2 T q 1 + . . . + λ 1 n q n q n T q 1 Sq_1 = \lambda _1 q_1 q_1^T q_1+\lambda _2 q_2 q_2^T q_1+...+\lambda _1nq_n q_n^T q_1 Sq1=λ1q1q1Tq1+λ2q2q2Tq1+...+λ1nqnqnTq1 ,
因为 q i q_i qi是单位正交向量, q 1 T q 1 = 1 q_1^T q_1=1 q1Tq1=1 , q i T q 1 = 0 , i ≠ 1 q_i^T q_1=0, i\ne 1 qiTq1=0,i=1 ,
所以上式化简为 S q 1 = λ 1 q 1 Sq_1=\lambda_1q_1 Sq1=λ1q1 ,
同样方法可得表达式 S q i = λ i q i , i = { 1 , 2 , . . . , n } Sq_i=\lambda_iq_i, i=\{ 1, 2, ..., n\} Sqi=λiqi,i={1,2,...,n},易见 S S S 对应特征值 λ i \lambda_i λi 的特征向量。
不是所有矩阵都能分解成 A = X Λ X − 1 A=X\Lambda X^{-1} A=XΛX−1 的样子,但是我们可以通过一个小的技巧实现对任意 m × n m\times n m×n 的矩阵分解成 A = U Σ V T A=U\Sigma V^{T} A=UΣVT 的样子,这类分解称之为奇异值分解。
首先给出奇异值的定义,令 m × n m\times n m×n 的矩阵,我们可以通过 A T A A^TA ATA来构造一个对称矩阵,这样就能够对其正交对角化了。( 因为 ( A T A ) T = A T A (A^TA)^T=A^TA (ATA)T=ATA ,所以它是一个对称矩阵)
有对称矩阵的谱定理知, A T A A^TA ATA 对称矩阵有 n n n 个 单位正交(orthonormal) 的特征向量,且其特征值都是非负的实数,令特征值从大到小排列,则有 λ 1 ≥ λ 2 ≥ . . . ≥ λ n ≥ 0 \lambda_1 \geq \lambda_2\geq ...\geq\lambda_n\geq0 λ1≥λ2≥...≥λn≥0 ,对应单位正交的特征向量分别为 q 1 , q 2 , . . . , q n q_1,q_2, ...,q_n q1,q2,...,qn 。
考虑 ∣ ∣ A q i ∣ ∣ 2 = ( A q i ) T ( A q i ) = q i T A T A q i = q i T λ i q i = λ i q i T q i = λ i ||Aq_i||^2 =(Aq_i)^T(Aq_i)= q_i^TA^TAq_i=q_i^T\lambda_iq_i=\lambda_i q_i^Tq_i=\lambda_i ∣∣Aqi∣∣2=(Aqi)T(Aqi)=qiTATAqi=qiTλiqi=λiqiTqi=λi ,
这里定义 σ i = ∣ ∣ A q i ∣ ∣ = λ i \sigma_i=||Aq_i||=\sqrt{\lambda_i} σi=∣∣Aqi∣∣=λi 为矩阵 A A A 的奇异值,可见它是矩阵 A T A A^TA ATA 特征值的平方根,从几何角度理解,奇异值 σ i \sigma_i σi 就是向量 A q i Aq_i Aqi 的长度。
然后看两个对称矩阵,
A
A
T
AA^T
AAT与
A
T
A
A^TA
ATA,令
A
A
T
=
U
Λ
U
T
AA^T=U\Lambda U^T
AAT=UΛUT,令
A
T
A
=
V
Λ
V
T
A^TA=V\Lambda V^T
ATA=VΛVT,关于
A
A
A的奇异值分解就要用到上述的两个正交矩阵:
U
U
U和
V
V
V,下面演示一下为什么
A
A
A可以分解成
A
=
U
Σ
V
T
A=U\Sigma V^{T}
A=UΣVT:
A
T
A
=
V
Λ
V
T
=
V
(
Σ
T
Σ
)
V
T
=
V
Σ
T
(
U
U
T
)
Σ
V
T
=
V
Σ
T
U
U
T
Σ
V
T
=
(
U
T
Σ
V
T
)
T
U
T
Σ
V
T
A^TA = V\Lambda V^T = V(\Sigma^T\Sigma)V^T = V\Sigma^T (U U^T)\Sigma V^T = V\Sigma^T U U^T\Sigma V^T = {(U^T\Sigma V^T)}^TU^T\Sigma V^T
ATA=VΛVT=V(ΣTΣ)VT=VΣT(UUT)ΣVT=VΣTUUTΣVT=(UTΣVT)TUTΣVT
由
A
=
U
Σ
V
T
A=U\Sigma V^{T}
A=UΣVT,变换一下得
A
V
=
U
Σ
AV=U\Sigma
AV=UΣ,展开如下(其中
r
r
r为
A
A
A的rank):
A
⋅
v
1
=
σ
1
u
1
A
⋅
v
2
=
σ
2
u
2
.
.
.
.
.
.
A
⋅
v
r
=
σ
r
u
r
相当于一系列的正交向量(
V
V
V),在乘
A
A
A后仍然还是正交向量(
U
U
U)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。