SVD应用

线性方程组的解

Amnx=bAm∗nx=b

(1)如果n>m,那么未知数的个数大于方程数。解不唯一而且有一个解矢量空间
(2)如果m=n,那么只要A可逆便有唯一解
(3)如果m>n,那么方程数个数大于未知数。方程一般无解,除非b是A的列的线性组合
最小二乘解
  • 满秩:m>=n,且A的秩是n。寻找一个向量xx使得||Axb||最小

    ||Axb||=||UDVTxb||=||DVTxUTb||=||Dyb||||Ax−b||=||UDVTx−b||=||DVTx−UTb||=||Dy−b′||

    d100d20000dn00y1y2yn=b1b2bnbn+1bm[d1d2⋱dn0000⋮⋮⋮⋮0000][y1y2⋮yn]=[b1′b2′⋮bn′bn+1′⋮bm′]

    显然,最小二乘解为:yi=bi/diyi=bi′/dix=Vyx=Vy
  • 降秩方程组:rank(A)<nrank(A)<n
    最小二乘解为:di0di≠0yi=bi/diyi=bi′/di。否则,yi=0yi=0。通解是x=Vy+λr+1vr+1++λnvnx=Vy+λr+1vr+1+⋯+λnvn。(yi>ryi>r不重要,diyidiyi都是0,VyVy是最小范数解

伪逆

Dii={0,D1ii,if Dii=0elseDii={0,if Dii=0Dii−1,else

A+=VD+UTA+=VD+UT


UmnDnnVnnU是m∗n,D是n∗n,V是n∗n
- 秩为n的m×n方程组Ax=bAx=b的最小二乘解由x=A+bx=A+b给出。在降秩方程组情形,x=A+bx=A+b是使得||x||最小化的解,即最小范数解
  • 用正规方程解线性最小二乘
    求最小化范数||Axb||||Ax−b||的向量xx。任务是在A的列空间中寻找最接近b的那个矢量。问题解x满足,差Axb与A的列空间垂直(可以对基进行单位正交化加以证明)。因此,
    AT(Axb)=0AT(Ax−b)=0
    (ATA)x=ATb(ATA)x=ATb

    因为ATbATbATAATA的列空间中,所以xx有解

    ATA的列空间 ATAxATxATAx∈ATx。又rank(A)=rank(ATA)rank(A)=rank(ATA),所以 ATAATA的列空间等于 ATAT的列空间


证明:
(Axb+Ax,Axb+Ax)=(Axb,Axb)+(Ax,Ax)>=(Axb,Axb)(Ax−b+Ax′,Ax−b+Ax′)=(Ax−b,Ax−b)+(Ax′,Ax′)>=(Ax−b,Ax−b)

- 如果m×n矩阵A的秩为n,那么A+=(ATA)1ATA+=(ATA)−1AT
  • 加权线性最小二乘问题:(ATCA)x=ATCb(ATCA)x=ATCb
齐次方程组的最小二乘解
  • 求使||Ax||||x||=1x||Ax||最小化并满足||x||=1的x:
    ||UDVTx||=||DVTx||=||Dy||||UDVTx||=||DVTx||=||Dy||

    在条件||y||=1||y||=1下,最小化||Dy||||Dy||。因为D是降序排列的一个对角矩阵,所以,y=(0,,0,1)y=(0,⋯,0,1)肯定是一个解。x=Vyx=Vy就是V的最后一列。
其他问题
  • 求x,它最小化||Ax||并满足||x||=1和Cx=0

  • 在条件||x||=1和x=Gx’下最下化||Ax||

  • 在条件||Cx||=1下最小化||Ax||

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值