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

12 篇文章 0 订阅
4 篇文章 0 订阅

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

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

对于相容方程组:

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

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

对于不相容方程组:

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

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

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

Moore Penrose伪逆

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

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值