矩阵分解算法--总结
QR分解 LU分解
本篇博客总结一下QR分解和LU分解,这些都是矩阵加速的操作,在slam里面还算是比较常用的内容,这个地方在isam的部分出现过。(当然isam也是一个坑,想要出点创新成果的话 可能是不太现实的 短期来讲 哈哈哈)
假定我们能把矩阵A写成下列两个矩阵相乘的形式:A=LU,其中L为下三角矩阵,U为上三角矩阵。这样我们可以把线性方程组Ax= b写成Ax= (LU)x = L(Ux) = b。令Ux = y,则原线性方程组Ax = b可首先求解向量y 使Ly = b,然后求解 Ux = y,从而达到求解线性方程组Ax= b的目的。(非常熟悉的 数值分析课上学的LU分解的形式)
编辑
添加图片注释,不超过 140 字(可选)
LD(LT)的形式,就是把上面的LU分解中拆出来一个倍数矩阵,然后我觉得没啥必要。在这里也放上。
定理:若对称矩阵A的各阶顺序主子式不为零时,则A可以唯一分解为A= LDLT,这里。
编辑
添加图片注释,不超过 140 字(可选)
下面是cholesky分解 读作乔列斯基分解, 栓Q 这些英文名字要是不会读的话 你在讲相关内容的时候就会显得很尴尬 哈哈哈 笑死。
Cholesky分解是一种分解矩阵的方法, 在线形代数中有重要的应用。Cholesky分解把矩阵分解为一个下三角矩阵以及它的共轭转置矩阵的乘积(那实数界来类比的话,此分解就好像求平方根)。与一般的矩阵分解求解方程的方法比较,Cholesky分解效率很高。
对于上面这段定义,让我认知扩充了。上学期学的数值分析里面我知道是转置矩阵,但是没想到是共轭转置矩阵。也就是说一开始我是不知道他还有个共轭的关系在里面的。行了,现在知道了。可能上学期学的内容都是定义在实数域上面的,那么共轭的概念就逐渐被弱化了。现在记住了,原来是共轭转置矩阵。心里默念三遍 hhh
QR分解
矩阵的QR分解是指,可以将矩阵A分级成一个正交阵Q和一个上三角矩阵R的乘积。实际中,QR分解经常被用来解线性最小二乘问题。
编辑
添加图片注释,不超过 140 字(可选)
上面这个就是QR分解,感觉这些的话 会用就行,知道谁的速度快,然后什么情况下的矩阵适合什么样的方法即可。
SVD分解
编辑切换为居中
添加图片注释,不超过 140 字(可选)
说白了,这里的奇异值就是特征值的含义。那么这个矩阵的话,按照我本科的学习思路来说,就是由特征向量和特征值来共同组成的。就是那一套,莱姆大E - A的行列式,求特征值,特征向量,然后就写出来。现在的话,对特征值也是有一定的理解了。特征值可以反应数据的离散情况,也反映了数据的分布 同时可能也反映了数据的趋势。好了,这个特征值的话还是很有用的。在机器学习的一个面试题里面,特征值大的方向,数据会越离散,反之数据会越集中。当然我们研究的话,应该是研究离散的,因为这样好区分。前面这句话主要针对分类来说,因为你的数据离散了,可区分性好了以后,那么我们做分类的效果才显著,这样的研究才有意义。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
上面这幅图的话 主要说了广义逆矩阵的事情,为啥说是广义呢,因为平时我们定义的逆矩阵一定是一个方阵,这里不是方阵了,那么就称作是广义逆矩阵了。
编辑切换为居中
添加图片注释,不超过 140 字(可选)
本科的时候我们叫他乔丹分解,哈哈哈 就是aj的那个乔丹。笑死。
这个没啥好说的,就是jardon块的构造,这个也是根据特征值的次数来进行构造的。可能再看一看就能想起来相关内容了,所以这里省略。(主要是slam里面好像并不提及这个东西,反正我是没见过 hhh)
编辑
添加图片注释,不超过 140 字(可选)
这里有一个比较。笑死,LU分解最快了。
那在这里对矩阵的分解进行一个总结。也就是说平时我们在解方程组的时候,如果求逆,会加大计算量。我们这时会选择矩阵分解的方法来进行求逆的代替。然后进而求得方程的解。笑死 我想起来上学期的考试,在线LU分解 在线cholesky分解,直接写结果,真的非常方便。如果按照它们的定义一步步地计算的话,我估计最起码20分钟 在不算错的情况下。行了 本篇就讲到这里,这个矩阵分解的内容,opencv也进行了相应地包装。在这里的话不必过多赘述了。栓Q,本篇到此结束。