从线性方程组求解到最小二乘问题

本文深入探讨了线性方程组的求解方法,包括超定、适定和欠定方程组的解决策略。通过分析矩阵的秩和MoorePenrose逆,阐述了不同情况下方程组的解的存在性和唯一性,并介绍了最小二乘解和极小范数解的概念。

关键词:线性方程组,矩阵,秩,矩阵逆,伪逆,左逆,右逆,

线性方程组求解:
Ax=yAx=yAx=y
已知A∈Rm×nA\in\R^{m\times n}ARm×ny∈Rmy\in\R^myRm,求x∈Rnx\in\R^nxRn
mmm为方程个数(行数),nnn为未知数个数(列数),根据mmm,nnn的大小关系,可以分为3类:
(1)m>nm>nm>n:超定方程组,
(2)m=nm=nm=n:适定方程组,
(3)m<nm<nm<n:欠定(不定)方程组;
三种情况都可能相容(有解)也可能不相容(无解),因此这个关系划分不够本质,最本质的关系应该由秩的概念划分:
(1)相容方程组rank[A]=rank[A,y]rank[A]=rank[A,y]rank[A]=rank[A,y],有解。
(2)不相容方程组:rank[A]<rank[A,y]rank[A]<rank[A,y]rank[A]<rank[A,y],无解。

对于相容方程组:

首先所有的相容方程组都可以由Moore Penrose逆求解:
x=A+y+(I−A+A)cx=A^+y+(I-A^+A)cx=A+y+(IA+A)c
其中A+A^+A+为Moore Penrose逆,c逆,ccRn\R^nRn中任意向量。
其包含三种情况:
(1) rank[A]=nrank[A]=nrank[A]=n, 列满秩:(由于rank[A]≤min(m,n)rank[A]\leq min(m,n)rank[A]min(m,n),暗含n≤mn\leq mnm),此时A+A=IA^+A=IA+A=I,有唯一解:
x=(ATA)−1ATyx=(A^TA)^{-1}A^Tyx=(ATA)1ATy
其中(ATA)−1AT(A^TA)^{-1}A^T(ATA)1AT被标记为左逆AL−1A^{-1}_LAL1
AAA的列为单位正交基时,x=ATyx=A^Tyx=ATy
(2) rank[A]=mrank[A]=mrank[A]=m,行满秩:(由于rank[A]≤min(m,n)rank[A]\leq min(m,n)rank[A]min(m,n),暗含m≤nm\leq nmn),
m=nm=nm=n,与情况(1)相同,有唯一解。
m<nm<nm<n, 有无穷解,一特解x=AT(AAT)−1yx=A^T(AA^T)^{-1}yx=AT(AAT)1y
其中AT(AAT)−1A^T(AA^T)^{-1}AT(AAT)1被标记为右逆AR−1A^{-1}_RAR1
AAA的行为单位正交基时,x=ATyx=A^Tyx=ATy。(卷积转置可视化原理)。
(3) rank[A]<min(m,n)rank[A]<min(m,n)rank[A]<min(m,n), 有无穷解:
x=A+y+(I−A+A)cx=A^+y+(I-A^+A)cx=A+y+(IA+A)c
其中A+A^+A+为Moore Penrose逆,c逆,ccRn\R^nRn中任意向量,解空间维度为n−rank[A]n-rank[A]nrank[A]

对于无穷解的情况,一般取其极小范数解:
∣∣x0∣∣2=min⁡Ax=y∣∣x∣∣2||x_0||_2=\min\limits_{Ax=y}||x||_2x02=Ax=yminx2,
x0=A+y。x_0=A^+y。x0=A+y

对于不相容方程组:

(1)对于不相容方程组,基于最小二乘原则,可以得到最小二乘问题:
min⁡x∣∣Ax−y∣∣2\min\limits_x||Ax-y||_2xminAxy2
则可以取得最小值的全部解为x0=A+y+(I−A+A)cx_0=A^+y+(I-A^+A)cx0=A+y+(IA+A)cccc为任意Rn\R^nRn。注意当A+A=IA^+A=IA+A=I,(rank[A]=nrank[A]=nrank[A]=n)时,有唯一解取得最小值。

因此不相容方程组的最小二乘解一般不唯一,常取最小二范数解x0=A+yx_0=A^+yx0=A+y,称为极小范数最小二乘解。
(2)如果对解加上其他约束,则得到其他形式的解[deep learning. p61]。比如约束xTx≤1x^Tx\leq 1xTx1:
min⁡x12∣∣Ax−y∣∣22\min\limits_x\frac{1}{2}||Ax-y||_2^2xmin21Axy22
s.t.   xTx≤1s.t.~~~x^Tx\leq 1s.t.   xTx1

(3)最小二乘标准形式(带正则项的最小二乘)[PRML,p144]
min⁡x12∣∣Ax−y∣∣22+λ2∣∣x∣∣22\min\limits_x\frac{1}{2}||Ax-y||_2^2+\frac{\lambda}{2}||x||_2^2 xmin21Axy22+2λx22
解析解为x0=(λI+ATA)−1ATyx_0=(\lambda I+A^TA)^{-1}A^Tyx0=(λI+ATA)1ATy

Moore Penrose伪逆

最后我们看Moore Penrose伪逆的求法:
(1) [deep learning,p 28]
A+=lim⁡α→0(ATA+αI)−1ATA^+=\lim\limits_{\alpha\rightarrow0}(A^TA+\alpha I)^{-1}A^TA+=α0lim(ATA+αI)1AT

A+=VD+UTA^+=VD^+U^TA+=VD+UT
其中U,D,VU,D,VU,D,V来自于SVD分解。A=UDVTA=UDV^TA=UDVT
(2)[PRML,p142]
A+=(ATA)−1ATA^+=(A^TA)^{-1}A^TA+=(ATA)1AT
(3)
利用SVD分解[矩阵论简明教程,p142]:
A+=VD+UTA+=V[Σ−1000]UTA^+=VD^+U^T A^+=V \begin{bmatrix} \Sigma^{-1}& 0\\ 0 & 0 \end{bmatrix} U^TA+=VD+UTA+=V[Σ1000]UT
其中A=UDVTA=UDV^TA=UDVT
或者利用满秩[矩阵论简明教程,p148]:
A+=GT(GGT)−1(FTF)−1FTA^+=G^T(GG^T)^{-1}(F^TF)^{-1}F^TA+=GT(GGT)1(FTF)1FT
A=FG,F∈Rrm×r,G∈Rrr×nA=FG,F\in\R_r^{m\times r},G\in\R_{r}^{r\times n}A=FG,FRrm×r,GRrr×n
列满秩时:A+=(ATA)−1ATA^+=(A^TA)^{-1}A^TA+=(ATA)1AT
行满秩时:A+=AT(AAT)−1A^+=A^T(AA^T)^{-1}A+=AT(AAT)1

https://zhuanlan.zhihu.com/p/91859104

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值