概述
目录
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. 特征值分解2 奇异值分解3 奇异值的意义4 奇异值究竟是什么? 引用及参考文献的全部内容,希望文章能够帮你解决奇异值分解SVD与在降维中的应用1. 特征值分解2 奇异值分解3 奇异值的意义4 奇异值究竟是什么? 引用及参考文献所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复