线性方程组的解
Am∗nx=bAm∗nx=b
(1)如果n>m,那么未知数的个数大于方程数。解不唯一而且有一个解矢量空间
(2)如果m=n,那么只要A可逆便有唯一解
(3)如果m>n,那么方程数个数大于未知数。方程一般无解,除非b是A的列的线性组合
最小二乘解
满秩:m>=n,且A的秩是n。寻找一个向量xx使得最小
||Ax−b||=||UDVTx−b||=||DVTx−UTb||=||Dy−b′||||Ax−b||=||UDVTx−b||=||DVTx−UTb||=||Dy−b′||
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢d10⋮0d20⋮0⋱0⋮0dn0⋮0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢y1y2⋮yn⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢b′1b′2⋮b′nb′n+1⋮b′m⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[d1d2⋱dn0000⋮⋮⋮⋮0000][y1y2⋮yn]=[b1′b2′⋮bn′bn+1′⋮bm′]
显然,最小二乘解为:yi=b′i/diyi=bi′/di,x=Vyx=Vy降秩方程组:rank(A)<nrank(A)<n
最小二乘解为:di≠0di≠0,yi=b′i/diyi=bi′/di。否则,yi=0yi=0。通解是x=Vy+λr+1vr+1+⋯+λnvnx=Vy+λr+1vr+1+⋯+λnvn。(yi>ryi>r不重要,diyidiyi都是0,Vy是最小范数解Vy是最小范数解)
伪逆
Dii={0,D−1ii,if Dii=0elseDii={0,if Dii=0Dii−1,else
A+=VD+UTA+=VD+UT

U是m∗n,D是n∗n,V是n∗nU是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||最小化的解,即最小范数解
- 用正规方程解线性最小二乘
求最小化范数||Ax−b||||Ax−b||的向量xx。任务是在A的列空间中寻找最接近b的那个矢量。问题解x满足,差与A的列空间垂直(可以对基进行单位正交化加以证明)。因此,AT(Ax−b)=0AT(Ax−b)=0(ATA)x=ATb(ATA)x=ATb
因为ATbATb在ATAATA的列空间中,所以xx有解
的列空间 ATAx∈ATxATAx∈ATx。又rank(A)=rank(ATA)rank(A)=rank(ATA),所以 ATAATA的列空间等于 ATAT的列空间
证明:
(Ax−b+Ax′,Ax−b+Ax′)=(Ax−b,Ax−b)+(Ax′,Ax′)>=(Ax−b,Ax−b)(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||=1的x||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||