关于这个问题的内容比较多,也整理了相当一段时间,在写内容之前,我需要引用一些牛人的名人名言,以壮士气。
(1)故不积跬步,无以至千里;不积小流,无以成江海-荀子
(2)只收藏,不点赞的同学,人心都是肉长的。。。地主家也没有余粮啊。。。我想说的是。。。不赞不是好码农-马克.wangshuai
(纯粹copy)
内容一
首先直接给出AX=B解的情况:
(1)R(A)< r(A|B),方程组无解
(2)r(A)=r(A|B)=n,方程组有唯一解
(3)r(A)=r(A|B) < n,方程组有无穷解
(4)r(A)>r(A|B),这种情况不存在
其中r()代表矩阵的秩,A|B是增广矩阵,n是X未知数个数。通过下面的例子理解下这个结论,假设x=[x1,x2],其实就便沉了一个二元一次方程组求解问题。
(1)A[1,1;0,0],B=[1,1],AX=B方程组变成了下式,这自然没有解,因为方程组的第二个式子是的0=1,与事实不符。

(2)A[1,1;0,1],B=[1,1],AX=B方程组变成了下式,这自然有唯一解,解为X=[0,1].

(3)A[1,1;0,0],B=[1,0],AX=B方程组变成了下式,这自然有无穷解,因为第二项消掉了,方程只剩下第一项,一个方程式,两个未知量。

这里就引出最小二乘问题,最小二乘问题就是用来解决第二、三种情况求最优解。当出现第二种情况下(也就是A满秩下,称为满秩最小二乘问题),为了提高效率通常使用QR分解、LTLD分解、Cholesky分解和SVD分解(奇异分解)等。当出现第三种情况时(也就是A秩亏,称为亏秩最小二乘问题),只能使用SVD分解方法,其他方法将失效。下面分别介绍QR分解、LTLD分解、cholesky分解和SVD分解的方法,然后探讨其对最小二乘的解法。
内容二:
这里有必要提下线性最小二乘问题

可见一般在视觉SLAM中后端优化就是约束项大于未知数的个数(超定问题),采用最小二乘问题求解
内容三:
为什么需要矩阵分解
个人认为,首先,当数据量很大时,将一个矩阵分解为若干个矩阵的乘积可以大大降低存储空间;其次,可以减少真正进行问题处理时的计算量,毕竟算法扫描的元素越少完成任务的速度越快,这个时候矩阵的分解是对数据的一个预处理;再次,矩阵分解可以高效和有效的解决某些问题;最后,矩阵分解可以提高算法数值稳定性,关于这一点可以有进一步的说明。

本文详细介绍了矩阵分解的基本概念及其在最小二乘问题中的应用。内容涵盖QR分解、LDLT分解、Cholesky分解及SVD分解,并讨论了它们在解决不同条件下线性方程组的能力。
&spm=1001.2101.3001.5002&articleId=80209863&d=1&t=3&u=a0044d250c97435b872902768b89f12c)
1万+

被折叠的 条评论
为什么被折叠?



