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

Posted odoraemon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[数学] 奇异值分解SVD的理解与应用相关的知识,希望对你有一定的参考价值。

看一个预测的代码,在预处理数据的时候使用了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的理解与应用的主要内容,如果未能解决你的问题,请参考以下文章

奇异值分解SVD

机器学习数学基础知识备忘

[机器学习笔记]奇异值分解SVD简介及其在推荐系统中的简单应用

降维-奇异值分解SVD

数学推导+纯Python实现机器学习算法28:奇异值分解SVD

[数学基础]奇异值分解SVD