首页 > 其他 > 详细

[数学] 奇异值分解SVD的理解与应用

时间:2018-07-10 23:26:16      阅读:314      评论:0      收藏:0      [点我收藏+]

看一个预测的代码,在预处理数据的时候使用了svd。了解了一下svd相关资料,比较喜欢第一篇文章的解释,不过第二篇也很简单。

https://blog.csdn.net/ab_use/article/details/50433635

https://cosx.org/2014/02/svd-and-image-compression

在论述UDV的维度的时候,两篇文章由不一致的地方。

一种说法是U是一个mxm的矩阵,D是mxn矩阵,V是nxn矩阵。

另一种说法是U是一个mxn矩阵,D是nxn矩阵,V是nxn矩阵。

两种说法其实都对,第二版是第一版的简化。因为D的特性,使得D右下角的行(或列)为0(第一篇文章有显示),所以实际上有效的维度只有min(m, n), 因为有假设m > n, 所以这里取n。同时,U左乘到D,因此 > n 的部分为0。由此可以将UD从mxm %*% mxn 简化成mxn %*% nxn的形式。

SVD的有效的一个重要特征在于,分解得到的D矩阵,其对角线上的值是降序排列的。至于为什么是降序的,这里应该有证明 A singularly valuable decomposition: the SVD of a matrix  (我没看)

将D矩阵尾部贡献量较小的特征值丢弃之后,即可得到对源矩阵的一个近似拟合,这个拟合包含了原矩阵绝大部分的信息。因此SVD可以应用于数据压缩及过滤噪声等。

 

 

s== 分割线  等待整理笔记 ==

[数学] 奇异值分解SVD的理解与应用

原文:https://www.cnblogs.com/oDoraemon/p/9290895.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!