QR分解虽然很有用,而且具有较为稳定的性质,但也有不足之处:QR分解只能提供原矩阵A的列的一组正交基。
现在介绍的SVD分解可以分别提供对应原矩阵的行、列的正交基。

矩阵U、矩阵V的列向量都是奇异向量;
中间的对角矩阵的对角元是奇异值。


上图中的两种表示方法展现了两种SVD,前者为FULL型的,后者为THIN型的(也称经济型的)

% MATLAB函数
[U,S,V]=svd(A) %第一种的SVD分解
[U,S,V]=svd(A,0) %第二种的SVD分解,也就是thin型的SVD

矩阵的二范数保酉不变性:对矩阵A乘上酉矩阵U(也就是正交阵),前后的矩阵二范数不变。
(注:可以利用矩阵二范数||A||22=tr(ATA)+相似变换不改变矩阵的迹,相似变换不改变矩阵特征值来证明。)
于是有了以下结论,彩色笔涂的是重点。

SVD分别给出了原矩阵A的值域、零空间的正交基,如下图。

下面这张图告诉我们:SVD分解出的中间的那个对角矩阵中提供的奇异值可以反映出原矩阵A的秩。

SVD还可以用来给矩阵去噪:
A=A0+N,其中A是我们实际得到的,A0是真实中不加噪声的原数据,N表示噪声,噪声比较小。我们考虑使用SVD的方法除去噪声,取出或者说近似的得出原始矩阵A0。具体方法是对矩阵A进行SVD分解,并舍弃其中较小的奇异值和对应的奇异向量,如下图,又称为”截断SVD“,低秩近似分解,图中AK就是原矩阵A的近似矩阵。

低秩近似的二范数误差是:第k+1个奇异值

低秩近似的F范数的误差是:

下面的引理给出了矩阵内积的定义:

SVD分解出的左右奇异向量证明了,矩阵A可以表示成几个秩为1的矩阵的和。

而且,这里的秩1矩阵相互正交,如下图:

只有当i=k且j=l时,两个秩1矩阵的内积才不为0,是1.
下图是,低秩近似结果的示意图:

SVD解最小二乘问题:

  1. 列满秩的情况

    证明过程,如下图:


  2. 原矩阵A列秩亏(行数>列数)的情况
    此时,没有唯一解,但有最小范数解:


    证明过程如下:
  3. SVD解欠定方程(行数<列数)
    首先,给出欠定方程的定义:

    结论:
%MATLAB程序
[U,S,V]-svds(A,K) %针对大型稀疏矩阵所作的部分SVD分解。
%取前K个奇异值和奇异向量。

SVD的缺点是代价比较高,更新时可复用性比较差(比如,需要在其中添加新矩阵的行、列)
考虑完全正交分解:

如果使用截断SVD方法,那么怎么确认取多少项的奇异值和奇异向量呢(也就是如何确定k)?

采用降秩模型:


使用案例:
根据前文建立的文本词条矩阵,现在寻找距离查询向量q1、q2的各自低秩近似的k.

绿色字体表示使用了上述的降秩模型:


取不同的k值对这两个查询向量的逼近程度(用相对误差来衡量),结果如下:

数据挖掘--矩阵的SVD分解相关推荐

  1. Eigen 矩阵的SVD分解

    矩阵的SVD分解 一.SVD分解原理 二.SVD分解举例 三.用Eigen库实现SVD分解 1.C++代码 2.输出结果 一.SVD分解原理   奇异值分解是将一个非零的实数矩阵Am×nA_{m \t ...

  2. 线性代数(14): 对称矩阵与矩阵的SVD分解

    文章目录 1 完美的对称矩阵 2 正交对角化 3 什么是奇异值 4 奇异值的几何意义 5 矩阵的奇异值分解(SVD) 6 在numpy中使用SVD分解 参考资料 注:转载请标明原文出处链接:https ...

  3. 机器学习的数学基础(6):矩阵的SVD分解与最小二范数解

    其实在上一篇文章中遗留了两个问题.在我们讨论最小二乘回归问题解的时候,当rank(A)<min(M,N)时,问题有二:1. 解的形式为其中为标准方程的解,在非满秩的情况下如何求得此时标准方程的一 ...

  4. 数据挖掘--矩阵的QR分解

    矩阵的QR分解: A=QR,其中Q为正交矩阵,R为上三角矩阵. 具体可以通过HouseHold变换做到,分步进行,如下图: 如果矩阵A是可逆矩阵的话,那么分出的矩阵R一定是列线性无关的.此时,R的对角 ...

  5. AI 数学基础知识-方向导数与梯度、范数矩阵、SVD分解、PCA、凸函数

    原课程链接 自己的课程笔记,方便自己查漏补缺.想补充数学预备知识的友友,建议去看原视频. 相比于考研数学,这里更注重理解,而不是强调计算能力. 数分 方向导数和梯度 之后学梯度下降算法需要,考研时没学 ...

  6. 矩阵分解 SVD分解

    在认识SVD之前,先来学习两个相关的概念:正交矩阵和酉矩阵. 如果,则阶实矩阵称为正交矩阵.而酉矩阵是正交矩阵往复数域上的推广. 判断正交矩阵和酉矩阵的充分必要条件是:.或者说正交矩阵和酉矩阵的共轭转 ...

  7. 几种矩阵分解算法: LU分解,Cholesky分解,QR分解,SVD分解,Jordan分解

    目录 1.LU分解 2. LDLT分解法 3. Cholesky分解的形式 4. QR分解 5.SVD分解 5.1 SVD与广义逆矩阵 6. Jordan 分解 参考文章: ---------我只是搬 ...

  8. 【机器学习中的矩阵分解】LU分解、QR分解、SVD分解

    学习总结 文章目录 学习总结 一.三角分解(LU分解) 1.1 高斯消元 1.2 LU分解原理 1.3 LU分解python代码 1.4 LU分解算法 二.QR分解 2.1 Schmid 正交化 2. ...

  9. matlab中矩阵SVD分解

    SVD分解 matlab中自带矩阵的SVD分解函数 [U,S,V] = svd(A) %返回一个与A同大小的对角矩阵S,两个酉矩阵U和V 其中,svd分解后,得到的是V的转置矩阵V'.分解后的U.S. ...

最新文章

  1. locate和find命令
  2. Django---Mysql数据库链接
  3. Content Compression Resistance和Content Hugging
  4. 怎么获取codeforces的数据_手把手教你学会新媒体运营——如何通过数据分析来优化新媒体运营...
  5. java js隐藏_Javascript匿名函数是否仍然可见? (使用Java applet,这是一种隐藏JS代码的方法)...
  6. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q136-Q138)
  7. C# HttpWebRequest 填充IP代理
  8. notePad++安装及json,xml格式化插件安装
  9. android水下气泡,科学网—水下爆炸气泡的基本现象及规律 - 黄超的博文
  10. TeXmacs 中文输入问题
  11. Android开发之手机震动器
  12. Docker 容器文件拷贝及目录挂载
  13. python写界面文字游戏_Python:pygame游戏编程之旅五(游戏界面文字处理详解)
  14. 尹孝孫 楸溪 門前刺紙欲生毛
  15. 分治法、动态规划、贪心算法区别
  16. 2020华为校招面试机试题与参考答案解析
  17. Kafka入门(一) 概述、部署与API的简单使用
  18. GAN之父Ian Goodfellow回归谷歌!将在DeepMind远程办公
  19. 5G自组网调度指挥系统现场救援人员的千里眼
  20. #3194. 去月球

热门文章

  1. 许士彦:创业不走寻常路 APP最好时间已过
  2. 人体测温 melexis迈来芯 linux 平台mlx90614/mlx90621/mlx90641驱动调试
  3. Quick Reference: telnet 查看 memcached
  4. ThingsBoard审计日志介绍
  5. 蓝屏page fault in nonpaged area解决方法
  6. QQ上线新功能,微信用户要羡慕哭了!
  7. Linux网络 DHCP
  8. 虚拟机CentOS7.0安装万能五笔的方法
  9. jquery给input赋值val(val)
  10. CSS过渡效果、变形效果以及动画