SVD分解 解齐次线性方程组
SVD分解
- 只有非方阵才能进行奇异值分解
- SVD分解:把矩阵分解为 特征向量矩阵+缩放矩阵+旋转矩阵
定义
设\(A∈R^{m×n}\),且$ rank(A) = r (r > 0) $,则矩阵A的奇异值分解(SVD)可表示为
\(A = UΣV^T = U\begin{bmatrix} \sum &0\\ 0&0 \end{bmatrix}V = σ_1u_1v^T_1+σ_2u_2v^T_2+σ_ru_rv^T_r \qquad s.t.:U 和V都为正交矩阵\)- 几何含义
- A矩阵的作用是将一个向量从V这组正交基向量的空间旋转到U这组正交基向量的空间,并对每个方向进行了一定的缩放(由Σ决定),缩放因子就是各个奇异值。如果V的维度比U 大,则表示还进行了投影。
- 奇异值分解:将一个矩阵原本混合在一起的三种作用效果,分解出来了。
- \(U∈R_{m×m}\) (左奇异向量):U的列为\(AA^T\)的正交特征向量
- \(V∈R_{n×n}\)(右奇异向量):V的列为\(A^TA\)的正交特征向量
- \(AA^T\)与\(A^TA\):是实对称正定矩阵,且其特征值为非负实数
- \(rank(AA^T) = rank(A^TA) = rank(A)\)
- \(AA^T\)与\(A^TA\)的特征值相同:为\(λ_1,λ_2,...,λ_r\),且\(λ_i≥λ_i+1,λ_i≥0\)
- \(Σ∈R_{m×n}:σ_i = Σ_{ii} = \sqrt{λ_i}\),其它元素的值为0
- \(Σ = diag(σ_1,σ_2,...,σ_r)\)
\(σ_i(i=1,2,...,r),σ_1≥...≥σ_r>0\):为矩阵A的全部奇异值
SVD解齐次线性方程组
齐次线性方程组\(Ax=0\) 即为\(||Ax||_2\)的非线性优化问题,我们已经知道了x=0是该方程组的一个特解,为了避免x=0这种情况,增加一个约束,比如\(||x||_2=1\)
\begin{equation}
min||Ax|| \qquad s.t.:||x||=1
\end{equation}
\begin{equation}
min||Ax||=min||UDV^Tx||=min||DV^Tx||
\end{equation}
设
\begin{equation}
y=V^Tx
\end{equation}
则问题变为:
\begin{equation}
min||Dy||
\end{equation}
又因为\(||y||=1\),且D是一个对角矩阵,对角元素按降序排列,因此最优解在y=(0,0,...,1)T时取得,又因为x=Vy, 所以最优解就是V的最小奇异值对应的列向量。
SVD分解 解齐次线性方程组的更多相关文章
- Matlab中利用null函数解齐次线性方程组
摘自:http://blog.csdn.net/masibuaa/article/details/8119032 有齐次线性方程AX=0,且rank(A)=r<n时,该方程有无穷多个解, 可以用 ...
- 奇异值分解(SVD)和最小二乘解在解齐次线性超定方程中的应用
奇异值分解,是在A不为方阵时的对特征值分解的一种拓展.奇异值和特征值的重要意义相似,都是为了提取出矩阵的主要特征. 对于齐次线性方程 A*X =0;当A的秩大于列数时,就需要求解最小二乘解,在||X| ...
- SVD分解技术详解
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...
- SVD分解及线性最小二乘问题
这部分矩阵运算的知识是三维重建的数据基础. 矩阵分解 求解线性方程组:,其解可以表示为. 为了提高运算速度,节约存储空间,通常会采用矩阵分解的方案,常见的矩阵分解有LU分解.QR分解.Cholesky ...
- 投影矩阵、最小二乘法和SVD分解
投影矩阵广泛地应用在数学相关学科的各种证明中,但是由于其概念比较抽象,所以比较难理解.这篇文章主要从最小二乘法的推导导出投影矩阵,并且应用SVD分解,写出常用的几种投影矩阵的形式. 问题的提出 已知有 ...
- opencv2.4中SVD分解的几种调用方法
原帖地址: http://blog.sina.com.cn/s/blog_6109b5d00101ag7a.html 在摄影测量和计算机视觉中,考虑最优解问题时,经常要用到SVD分解.奇异 ...
- SVD分解
首先,有y = AX,将A看作是对X的线性变换 但是,如果有AX = λX,也就是,A对X的线性变换,就是令X的长度为原来的λ倍数. *说起线性变换,A肯定要是方阵,而且各列线性无关.(回想一下,A各 ...
- 【瞎讲】 Cayley-Hamilton 常系数齐次线性递推式第n项的快速计算 (m=1e5,n=1e18)
[背诵瞎讲] Cayley-Hamilton 常系数齐次线性递推式第n项的快速计算 (m=1e5,n=1e18) 看CSP看到一题"线性递推式",不会做,去问了问zsy怎么做,他并 ...
- SVD分解的理解[转载]
http://www.bfcat.com/index.php/2012/03/svd-tutorial/ SVD分解(奇异值分解),本应是本科生就掌握的方法,然而却经常被忽视.实际上,SVD分解不但很 ...
随机推荐
- [MySQL] timestamp和datetime的区别和大坑
1.timestamp占用4个字节;datetime占用8个字节2.timestamp范围1970-01-01 00:00:01.000000 到 2038-01-19 03:14:07.999999 ...
- 关于火狐和IE下href="javascript:void(0)"兼容性的问题
今天在开发中发现,使用如下方式的链接.在Chrome中点击后行为符合预期,但在IE下会新开标签卡(根据参考资料,Firefox中有相同问题). 经过排查,发现是href="javascrip ...
- Belgrade Azure 2019-2-11活动感悟
这是<国外线下技术俱乐部建设>系列文章之一. 活动网址:https://www.meetup.com/Azure-UG-Srbija/events/258673179/ 活动内容:Az ...
- getDimension与getDimensionPixelOffset与getDimensionPixelSize的区别
getDimension() 返回float型px值 精确 getDimensionPixelOffset() 返回int型px值 ...
- 防xss攻击
官方:https://jsxss.com/zh/index.html xss csrf https://www.cnblogs.com/443855539-wind/p/6055816.html 一. ...
- win快捷键
******************键盘快捷键大全****************** 一.常见用法: F1 显示当前程序或者windows的帮助内容. F2 当你选中一个文件的话,这意味着“重命名 ...
- python 实例六
https://www.cnblogs.com/evablogs/p/6783498.html 题目:斐波那契数列. 程序分析:这个数列从第3项开始,每一项都等于前两项之和.故 n=1,2,f=1 n ...
- C#-this关键字的功能之扩展方法
目录 1. 简介 2. 简单实例 3. 细节说明 1. 简介 我们的方法都是与声明他的类的相关联(我们现在写的各个方法都是在类中定义,所以我们调用方法都是用该方法所属类的实体对象调用). 在C#3.0 ...
- python3操作MySQL数据库,一次插入多条记录的方法
这里提供一个思路,使用字符串拼接的方法,将sql语句拼接出来,然后去执行: l = ["] s = '-' print(s.join(l))
- 【记录】Xmind8 Pro 激活
摘要 XMind 是一个全功能的思维导图和头脑风暴软件,为激发灵感和创意而生.作为一款有效提升工作和生活效率的生产力工具,受到全球百千万用户的青睐. [有能力请支持正版] 在xmin下载xmi ...