Bootstrap

解超定方程Ax=b,用SVD分解为什么说在||x||=1时,最小奇异值对应的右奇异向量为最优解?

1、什么是超定方程组?

对于方程组Ax=b,A为m x n矩阵(m>n),x为n维列向量未知数。如果A列满秩,则方程组没有精确解,此时称方程组为超定方程组。这种方程一般来说无解,但可求其最小二乘解,即所谓的最小二乘问题
了解线性方程组的类型以及求解方法可见:链接

1.1、什么是SVD分解?其性质是什么?

这一部分可以直接看这个链接,讲的非常明白。我在这把对我们便于理解下一个问题的重要结论摘取出来。

SVD分解的定义:SVD也是对矩阵进行分解,但是和特征分解不同,SVD并不要求要分解的矩阵为方阵。假设我们的矩阵A是一个m×n的矩阵,那么我们定义矩阵A的SVD为:
在这里插入图片描述
其中 U 是一个 m x m 的矩阵, ∑ \sum 是一个 m x n 的矩阵,除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值,V 是一个 n x n 的矩阵。

性质1:U 和 V 都是酉矩阵,即满足: UTU = I, VTV = I
性质2:U 和 V 都是正交矩阵,即满足: ||U||=||V||=1,||uiuj||=0, ||uiUi||=1
也就是三轴两两内积都为零,自己和自己内积为1

1.2、一直疑惑的问题:为何其最小奇异值对应的右奇异向量为最优解?

例如我们求解 Anx4X4x1 = 0的解,可见A矩阵的行数大于列数,所以用SVD分解的方法求其最小二乘解是一个不错的方法。

设 A = U D VT,则此时问题转化为: argmin||U D VT x||

由上面性质2可以将上式转化为: argmin||D VTx ||

接着设,VTx = Y,同时更新上式:argmin||D Y ||
即求: Dnx4Y4x1=min

在这里插入图片描述
注意由于四个奇异值是从大到小排列的,所以很容易得出,当Y=[0,0,0,1]T时,使得求解方程最小!


来到这里我们就可以求解x了
我们得到了这样一个式子:Y=VTx=[0,0,0,1]T
这里我们同样要用到性质2
在这里插入图片描述
解得 x = v4T。正是最小奇异值对应的右奇异向量
!!!

结论: Anx4X4x1 = 0的最小二乘解为最小奇异值对应的右奇异向量
在这里插入图片描述

2 非常感谢您的阅读!

3 期待您加入

也非常期待您能关注我的微信公众号–“过千帆”,里面不仅有技术文章还有我的读书分享,希望您在那里也有收获。我们一起进步。

;