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