一、 SVD的含义
奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,奇异值分解则是特征分解在任意矩阵上的推广,其目的是为了提取一个矩阵最重要的特征。
奇异值分解的公式为:
其中U为m×m的酉矩阵,也是左奇异矩阵; 为V的共轭转置矩阵为n×n的酉矩阵,也是右奇异矩阵。(酉矩阵是正交矩阵往复数域上的推广);Σ是这n个特征值为主对角线的n×n维矩阵,也是奇异值矩阵。
二、 SVD的计算
1、特征值的求法公式
2、 的特征向量组成的是SVD中的V矩阵; 的特征向量组成的是SVD中的U矩阵。证明:
所以的特征向量组成的是SVD中的V矩阵;
同理:
所以的特征向量组成的是SVD中的U矩阵。
3、得到矩阵A时:
(1)首先求出和的值。
(2)其次求出的特征值和特征向量以及特征值和特征向量。
(3)求出奇异值(可以通过对的特征值求平方根来求出奇异值,也可以通过公式可以求得)。
(4)最后可得到奇异值分解
三、 分析SVD的作用
1、 SVD在降维方向上的使用:在所有的SVD介绍中,介绍SVD用于PCA的是最多的,SVD在降维方面的用法有很多,比如数据压缩和去噪等。
2、 可以用来做成推荐列表,通过对客户的浏览,进行特征分解,来了解他们的需求,进行相关推荐。
3、 对图像的压缩和解压,图像的像素大小可以看做是一个矩阵,通过奇异值分解将矩阵分解成若干个秩之和,进行压缩和解压。
四、 学习SVD的总结
1、 在对SVD的学习中,发现对线性代数的知识要有一定的了解,才能够理解SVD的含义,其中对线性代数的特征值、特征向量、对称矩阵等知识的掌握要求很高。
2、 在学习SVD的过程中,学习了关于酉矩阵的知识,Σ的相关知识和PCA(主成分分析原理)以及其他跟SVD相关的知识,有了一个大概的了解。
3、 SVD是很有用的,但是在实际生活中运用时,运算量很大需要和机器语言相结合,来减少计算压力更好的使用SVD。
望各位大神批评指正!