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分解不但很 ...
随机推荐
- C# 爬虫----Cookies处理(Set-Cookie)
/// <summary> /// Cookie 助手 /// </summary> public class CookieHelper { /// <summary&g ...
- Java开发笔记(五十)几种开放性修饰符
前面介绍子类继承父类的时候,提到了public(公共)和private(私有)两个修饰符,其中public表示它所修饰的实体是允许外部访问的:而private表示它所修饰的实体不允许外部访问,只能在当 ...
- Mybatis框架基础支持层——反射工具箱之实体属性Property工具集(6)
本篇主要介绍mybatis反射工具中用到的三个属性工具类:PropertyTokenizer.PropertyNamer.PropertyCopier. PropertyTokenizer: 主要用来 ...
- Python爬取地图瓦片
由于要在内网开发地图项目,不能访问在线的地图服务了,就想把地图瓦片下载下来,网上找了一些下载器都是需要注册及收费的,否则下载到的图都是打水印的,如下: 因为地图瓦片就是按照层级.行.列规则组织的一张张 ...
- 一种提升连接Dynamics 365性能的方法
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复256或者20170512可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- 通过Excel文件快速创建页面和数据表
在设计一个软件系统,构建过程:需求->数据表->系统开发.实际情况是需求(数据)很多来源于已经存在的文件中,客户会要求把这些数据“电子化”,这就给需求分析产生了很大的工作量: 分析这些原始 ...
- Linux 中使用 firewalld
firewalld 是一种动态防火墙管理解决方案.Centos 7 默认使用 firewalld.firewalld 是对 iptables 的一个封装,可以让你更容易地管理 iptables 规则. ...
- input(type='file')上传多张照片并显示,传到后台
以下内容为网络摘抄和实践修改所得,如有雷同,请谅解!!!! 1.首先是前端页面代码: 其中,<input type="file" id="file_input&qu ...
- BCP SQL导出EXCEL常见问题及解决方法;数据导出存储过程
一.‘xp_cmdshell’的启用 SQL Server阻止了对组件‘xp_cmdshell’的过程‘sys.xp_cmdshell’的访问.因为此组件已作为此服务嚣安全配置的一部分而被关 闭.系统 ...
- c/c++ 重载运算符 关系,下标,递增减,成员访问的重载
重载运算符 关系,下标,递增减,成员访问的重载 为了演示关系,下标,递增减,成员访问的重载,创建了下面2个类. 1,类StrBlob重载了关系,下标运算符 2,类StrBlobPtr重载了递增,抵减, ...