接下来我们从奇异值分解开始,进一步推出广义逆,再由广义逆推出最小二乘法,这篇笔记将主要讨论其中的几何意义
奇异值分解→广义逆→最小二乘法
奇异值分解(SVD)
设 A 是 m×n 实矩阵, rank A=r, 则存在 m 阶正交矩阵 U 与 n 阶正交矩阵 V, 使得 A=U(ΣOOO)VT, 其中 Σ=diag(σ1,σ2,…,σr), 而 σ1≥σ2≥⋯≥σr>0
证明过程参考矩阵的标准型与分解 > 奇异值分解,方便起见,接下来我们直接记 A=UΣVT
由于 U,V 为正交矩阵,Σ 为对角矩阵,不难看出奇异值分解的几何意义就是:
第一次旋转(VT)→沿坐标轴的拉伸(Σ)→第二次旋转(U)
一个简单的例子是,假设 A 是一个 2×2 满秩矩阵,那么矩阵 A 作用于一个单位圆,必然会将其映射成一个椭圆。
广义逆(Moore-Penrose 逆)
矩阵 A+ 是 A 的 Moore–Penrose 逆,当且仅当满足四个条件:
- AA+A=A
- A+AA+=A+
- (AA+)T=AA+
- (A+A)T=A+A
现在我们用奇异值分解构造广义逆,首先 A 可分解为
A=U(ΣOOO)VT
其中 Σ=diag(σ1,σ2,…,σr)
不难看出对角矩阵 Σ 的广义逆记为
Σ+=[diag(1/σ1,…,1/σr)000]∈Rn×m.
于是定义:
A+=VΣ+UT.
现在来验证上面的4个条件
- AA+A=(UΣVT)(VΣ+UT)(UΣVT)=UΣΣ+ΣVT=UΣVT=A
- A+AA+=VΣ+UTUΣVTVΣ+UT=VΣ+ΣΣ+UT=VΣ+UT=A+
- AA+ 与 A+A 都是正交投影矩阵,因此对称。
在矩阵的Kronecker积下,有如下结论
若 A,B 都是可逆矩阵,则 A⊗B 也是可逆矩阵,并且
(A⊗B)−1=A−1⊗B−1;
而上面的结论对于Moore–Penrose 逆矩阵同样成立
(A⊗B)+=A+⊗B+.
证明: 由奇异值分解
A=UAΣAVA∗,B=UBΣBVB∗,
那么由性质 (A⊗C)(B⊗D)=(AB)⊗(CD),我们有
A⊗B=(UA⊗UB)(ΣA⊗ΣB)(VA⊗VB)∗,
这就是 Kronecker 积的 SVD。
于是其广义逆为
(A⊗B)+=(VA⊗VB)(ΣA⊗ΣB)+(UA⊗UB)∗.
容易计算对角奇异值矩阵的广义逆满足
(ΣA⊗ΣB)+=ΣA+⊗ΣB+,
最终得到结论:
(A⊗B)+=A+⊗B+.
实际上由 ABA=A,BAB=B,能推出 AB,BA 均为幂等矩阵
A 为 n 阶矩阵,证明存在矩阵 B,使得 AB,BA 均为幂等矩阵
有了上面的结论后,这里的 B 就是 A 的广义逆矩阵 A+,而且我们能通过奇异值分解直接计算出来 B
现在来看一下Moore–Penrose广义逆的几何意义
将 A,B 看作线性映射,A:Rn→Rm,B 为 A 的广义逆。那么 BA 是 Rn 到 (KerA)⊥ 上的正交投影算子,AB 是 Rm 到 ImA 上的正交投影算子
证明:
由奇异值分解
AB=(UΣVT)(VΣ+UT)=U(ΣΣ+)UT
其中,ΣΣ+ 是一个对角线上前 r 个元素为 1、其余全为 0 的对角矩阵,设 U=(u1,...,um),于是
U(Ir000)UT=i=1∑ruiuiT
现在 ∀x∈Rm,∑i=1ruiuiTx=∑i=1r⟨x,ui⟩ui∈ImA
同理,有
BA=(VΣ+UT)(UΣVT)=V(Σ+Σ)VT
其中,Σ+Σ=(Ir000) ,现在 ∀y∈Rm ,V(Ir000)VTy=∑i=1r⟨y,vi⟩vi ,也就是 BA 将 y 变为了在由 {v1,v2,…,vr} 张成的子空间上的正交投影,我们记这个子空间为 W=span(v1,v2,…,vr)
另一方面,设 x∈KerA,于是 UΣVTx=0→ΣVTx=0,我们将 VTx 写成内积的形式,即 VTx=⟨v1,x⟩⟨v2,x⟩⋮⟨vn,x⟩。代入上式并展开矩阵乘法:
σ1⋱σr0⋱⟨v1,x⟩⋮⟨vr,x⟩⟨vr+1,x⟩⋮⟨vn,x⟩=0⋮00⋮0
要使得这个等式成立,必须满足:
σi⟨vi,x⟩=0⟹⟨vi,x⟩=0(对于 i=1,2,…,r)
这意味着 KerA 只能由后面 n−r 个基向量张成,即 KerA=span(vr+1,…,vn),那么根据正交补的定义,KerA 的正交补 (KerA)⊥ 自然就是由前面 r 个基向量张成的空间,从而
(KerA)⊥=span(v1,v2,…,vr)=W
因此 BA 是 Rm 到 (KerA)⊥ 上的正交投影算子
最小二乘法
x∈Rnmin∥Ax−b∥2
其中 A 为 m×n 阶矩阵,b∈Rm
方法1: 投影的视角
要最小化 ∥Ax−b∥2,也就是 b 到 ImA 的距离要尽可能小,换言之就是计算 b 到 ImA 的正交投影,这意味着 b−Ax 必然与 ImA 中的所有向量垂直,也就是与 A 的所有列向量垂直,于是我们得到
AT(b−Ax)=0
即
ATAx=ATb
case1: 此时若 ATA 可逆,那么 x=(ATA)−1ATb
case2: 若 ATA 不可逆,此时我们可以借助广义逆矩阵来表示。设 ATA的广义逆为 (ATA)+,因为
ATb∈ImAT=Im(ATA),因此 ATAx=ATb 有解,方便起见,记 ATA=M,c=ATb,原方程变为
Mx=c
现在令 x=M+c,代入等式左边为 MM+c,由上一题的结论,MM+ 是到 ImM 的正交投影算子,而 c 本来就在 ImM 里面,因此 MM+c=c,这就说明 x=M+c 是原方程的一个特解,现在我们继续求原方程的通解,考虑
Mx=0
也就是求 x∈KerM,继续由上一题的结论,M+M 是到 (KerM)⊥ 的正交投影算子,那么 I−M+M 就是到 KerM 的正交投影算子,事实上,∀x∈V,可以分解为
x=xr+xn
其中 xr∈(KerM)⊥,xn∈KerM。因为 M+M 是到 (KerM)⊥ 的正交投影算子,从而
M+Mx=xr
另一方面,考虑
(I−M+M)x=x−M+Mx=xn
这就证明了 I−M+M 就是到 KerM 的正交投影算子。因此原方程的所有解为
x=M+c+(I−M+M)z,z∈Rn
现在代回 M=ATA,c=ATb,就有
x=(ATA)+ATb+(I−(ATA)+(ATA))z=A+b+(I−A+A)z
要推出最后一个等式需要重新将 A 进行奇异值分解,然后代入计算
于是 Ax=AA+b+A(I−A+A)z=AA+b,此时代入元函数就得到
x∈Rnmin∥Ax−b∥2=∥b−AA+b∥2=bT(I−AA+)T(I−AA+)b
如果不计算 x 的具体表达式,只是计算最小值的话,也可以这样做:
由上一题结论,此时 AA+b 就是 b 在 ImA 上的正交投影,所以
x∈Rnmin∥Ax−b∥2=∥b−AA+b∥2=bT(I−AA+)T(I−AA+)b
利用奇异值分解不难证明
(I−AA+)T(I−AA+)=I−AA+
因此最终我们得到
x∈Rnmin∥Ax−b∥2=bT(I−AA+)b
方法2: 直接计算梯度
将范数展开,记作 f(x), 得到
f(x)=(Ax−b)T(Ax−b)=xTATAx−xTATb−bTAx+bTb=xTATAx−2bTAx+bTb
计算 f(x) 的梯度,使其为 0
∇f(x)=2ATAx−2ATb=0
此时也能得到
ATAx=ATb
因为 ∇2f(x)=2ATA 为半正定矩阵,于是此时的 x 就是全局最小值点
剩下的流程就与方法1一样了
评论
支持 Markdown 和 LaTeX 数学公式。