目录

1. 特征值分解

1.1 特征值与特征向量

2 奇异值分解

3 奇异值的意义

4 奇异值究竟是什么?

引用及参考文献


1. 特征值分解

1.1 特征值与特征向量

特征值与特征向量定义如下:

是一个实对称矩阵,是一个维向量,则是矩阵的一个特征值,而是矩阵的特征值所对应的特征向量。如果这些特征向量是线性无关的,即任意一个特征向量都不能被其他的向量的线性组合所表述出来,那么矩阵就可以特征分解,用以下式子表示:

其中是这n个特征向量做组成的维矩阵,而是以特征向量对应的特征值为对角线的维三角阵。将中的特征向量单位化,使得,即,故特征值分解也可以表达为:

征值分解,对矩阵有着较高的要求,它需要被分解的矩阵为实对称矩阵,对于一般的矩阵,例如:的矩阵,不能用特征值分解,因此引出了奇异值分解。

2 奇异值分解

奇异值分解也是对矩阵进行分解的一种方法,当矩阵不是实对称矩阵时,就不可以使用特征值对矩阵进行分解。假设矩阵的形状是,使用奇异值分解的的表达式就是:

矩阵是待分解矩阵,的左奇异阵,的右奇异阵,是奇异值矩阵,主对角线上的元素叫做奇异值,并且以从大到小排序,奇异值以外的元素均为0。般我们将中的每个特征向量叫做的左奇异向量;的列向量即是的特征向量,一般我们将中的每个特征向量叫做的右奇异向量。

如何对矩阵进行奇异值分解呢?首先对进行操作,A是一个的矩阵,就会得到的对称方阵,因此就可以进行特征值分解,表达式如下:

的特征向量,由构成的就是右奇异阵被称作右奇异向量。同理也是对称方阵,形状是,同样对其特征值分解,表达式如下:

的特征向量,由构成的就是右奇异阵被称作左奇异向量。其中都是酉矩阵,即,则。奇异值阵除了主对角线以外都是0,设奇异值为,因此我们可以根据求出奇异值矩阵,推导如下:

奇异值也可以根据矩阵的特征值是矩阵的奇异值的平方来求:,从直觉上很好理解,因为相当于是矩阵的平方,某种程度上讲奇异值是特殊的特征值,所以的特征值是矩阵的奇异值的平方,可以这么记,但是严格的数学证明我还不知道是如何证明的。

3 奇异值的意义

奇异值与特征值类似,可以使用奇异值或特征值度量矩阵信息,使用一阶范数或者二阶范数的平方度量矩阵信息,也就是奇异值之和或者奇异值的平方和。而奇异值矩阵是列向量是按照奇异值的大到小排列的,且奇异值下降速度很快,往往前几个奇异值就占据了奇异值总和中大部分的权重,也就是说,可以使用前几个列向量近似代表原矩阵,这样损失不会很大,且又节省了大部分空间,也可以起到降维的效果,这就是所说的SVD用于降维的主要思想。

由于这个重要的性质,SVD可以用于PCA降维,来做数据压缩和去噪。也可以用于推荐算法,将用户和喜好对应的矩阵做特征分解,进而得到隐含的用户需求来做推荐。同时也可以用于NLP中的算法,比如潜在语义索引(LSI)。

PCA降维是对于一组特征,计算出他们的协方差矩阵,然后找到出最大的d个特征向量,组成矩阵在进行低维投影降维,但是当特征过多的时候协方差矩阵的计算量很大。刘建平老师的博客中提到SVD的实现算法可以不求先求出协方差矩阵,也能求出右奇异矩阵,这样在特征数很大的时候非常有效。

在降维的时候只用了右奇异阵,来对原矩阵降维,实际上左奇异阵与原矩阵左乘起到的作用是减少行数,右奇异阵与原矩阵右乘的作用是减少列数,也就是减少原矩阵的特征向量,起到降维的效果。

4 奇异值究竟是什么?

在知乎看到一篇文章中的两张图片,这篇文章写的很透彻,我感觉讲的非常好,引用一下,侵删

引用及参考文献

[1] 奇异值分解(SVD)原理与在降维中的应用

[2] 奇异值的物理意义是什么? - whitefang的回答 - 知乎

[3] 降维之奇异值分解(SVD)

奇异值分解SVD与在降维中的应用相关推荐

  1. 二次型、特征值/向量、奇异值、特征值、奇异值分解、奇异值分解(SVD)原理与在降维中的应用

    一.二次型 通过矩阵来研究二次函数(方程),这就是线性代数中二次型的重点. 1 二次函数(方程)的特点 1.1 二次函数 最简单的一元二次函数就是: 给它增加一次项不会改变形状: 增加常数项就更不用说 ...

  2. 降维 ---- 主成分分析 (PCA)、奇异值分解 (SVD)

    降维 在机器学习或数据处理中,经常会碰到一些高维数据,而高维数据情形下经常出现样本稀疏.计算困难等问题,称之为"维度灾难". 对于一个高维数据数 D={X1,X2,...,XN}D ...

  3. 一文读懂机器学习中奇异值分解SVD

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 目录: 矩阵分解 1.1 矩阵分解作用 1.2 矩阵分解的方法一文 ...

  4. 稀疏学习、稀疏表示、稀疏自编码神经网络、字典学习、主成分分析PCA、奇异值分解SVD 等概念的梳理,以及常用的特征降维方法

    稀疏学习.稀疏表示.稀疏自编码神经网络.字典学习.主成分分析PCA.奇异值分解SVD 等概念的梳理,以及常用的特征降维方法 关于稀疏 稀疏编码 Sparse Coding 与字典学习 神经网络的正则化 ...

  5. tf 如何进行svd_一步步教你轻松学奇异值分解SVD降维算法

    摘要:奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分解,在生物信息学.信号处理.金融学.统计学等领域有重要应用,SVD都是提取信息的强度工具.在机器 ...

  6. 奇异值分解(SVD)原理详解及推导 (转)

    很不错的文章,适合入门. 转载出处http://blog.csdn.net/zhongkejingwang/article/details/43053513 在网上看到有很多文章介绍SVD的,讲的也都 ...

  7. 【数学和算法】奇异值分解在【图像压缩】中的应用

    图片压缩 这篇博客奇异值的物理意义是什么有例子分析使用奇异值分解来进行图像压缩与图像去噪,并且对于不是方阵的矩阵也可以分解. 下面这个图像压缩例子是以方阵图像为例,使用暴力分解得到特征值和特征向量.但 ...

  8. 【机器学习】这次终于彻底理解了奇异值分解(SVD)原理及应用

    奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,有相当多的应用与奇异值都可以扯上关系,它不光可以用于降维算法中的特征分解,比如做f ...

  9. 【机器学习基础】数学推导+纯Python实现机器学习算法18:奇异值分解SVD

    Python机器学习算法实现 Author:louwill Machine Learning Lab 奇异值分解(Singular Value Decomposition,SVD)作为一种常用的矩阵分 ...

  10. svd奇异值分解_奇异值分解SVD

    点击上方蓝字关注我们 奇异值分解(SVD)在计算机视觉中有着广泛的应用,如数据降维.推荐系统.自然语言处理等.本文是介绍SVD的数学计算过程,并从SVD的性质说明其应用的原理. 01特征值与特征向量 ...

最新文章

  1. 大满贯!清华学生超算团队获得国际大学生超级计算机竞赛(SC18)总冠军(附现场视频)...
  2. 直接操作游戏对象C#游戏开发
  3. 【BZOJ3242】【UOJ#126】【NOI2013】快餐店
  4. Scala Array sum recursive call
  5. Redis运维和开发学习笔记-全书思维导图
  6. 【linux】linux 安装 protobuf 2.5.0 版本
  7. c语言链表版百度云,链表详解(C语言版)
  8. SSO单点登录学习总结(2)——基于Cookie+fliter单点登录实例
  9. supervisord的安装
  10. 【校内模拟】2048
  11. git常用命令让你几步摆脱图形工具提交项目
  12. strel函数c语言写法,全国计算机等级考试二级C语言题型总结(二)——选择循环结构程序设计部分(5篇范文)...
  13. 真正的卡巴斯基key 教你使用正版KASPERSKY授权到2008年
  14. python表情包合集_python——简单生成表情包
  15. 如何调整硬盘分区大小
  16. 不同手指戴戒指时的清热解毒的清是什么意思?_百度知道
  17. 数字信号处理——有限长离散变换
  18. vue3中进行vuex的分包管理(typescript)
  19. jQuery获取或设置元素的属性值
  20. php命令提示无效,window_Win7系统命令提示符输入指令无效问题的解决办法,Win7系统命令提示符输入指令无 - phpStudy...

热门文章

  1. 高性能WEB开发:DOM编程
  2. 别被数据分析师骗了!用数据说谎的三种办法
  3. ios给控件添加动画效果
  4. 一些面试题目(网易游戏2011.10.15校园招聘会笔试题)
  5. BZOJ1079 [SCOI2008]着色方案 【dp记忆化搜索】
  6. 这些 iOS 面试基础题目,你都深入了解吗?
  7. 文件缓存、内存缓存与静态化页面的取舍
  8. Cocoa中Core Data的简单介绍
  9. 孙鑫VC学习笔记:第二十讲 (二) ado数据库编程
  10. 两台服务器怎么发文件,两台服务器怎么发文件