机器学习之PCA理论及实战练习

首发地址被屏蔽了。

SVD是奇异值分解

一、一般概念

酉矩阵:设AÎCn×n,C可以是复矩阵,实矩阵,如果A*A=I(单位阵),则称A为酉矩阵;当A是实矩阵时,就是我们常见的实正交矩阵。

Hermite矩阵:如果A*=A,那么A是Hermite矩阵,若A是实矩阵,称A为对称矩阵。

正规矩阵:如果A*A=AA*,那么称A为正规矩阵。酉矩阵和Hermite矩阵均属于正规矩阵。

正定:对于一Hermite矩阵A,如果对任意非零向量xÎCn,都满足x*Ax>0,称A为正定阵,如果是大于等于0,称A为半正定阵。正定矩阵的特征值一定为正。

扫描二维码关注公众号,回复: 8515917 查看本文章

二、奇异值分解(Singular Value Decomposition,SVD)

奇异值:设AÎCm×n,A*A的特征值的非负平方根称A的奇异值,由此定义可知奇异值必然大于等于0。

奇异值分解定理:设image.png,则存在m阶酉矩阵U和n阶酉矩阵V,使得

U*AV=

image.png

其中image.png,s为奇异值,image.png

上面等式两边可以同时乘以U、V*,由于U和V都是酉矩阵,那么必然为正规矩阵,

image.png

,此为我们常见的SVD分解表达式。

关于SVD分解的证明,需用到Schur分解,可参看北京大学徐树方《矩阵计算的理论与方法》。

三、SVD的意义和用途

由SVD分解定理可知,一般矩阵都是可以进行SVD分解的,而常见的特征值分解则需用保证矩阵是方阵,前者分解的奇异值都是大于零的,而特征值不一定。

无论是奇异值还是特征值,都是表征矩阵重要特征的具体指标,这里的特征不妨认为是模式,即事物赖以存在的形式。该值越大表示信息的显著特征,值越小可能是噪声特征。(引申与扩展:过拟合)

如果取A的奇异值中较大的数值,比如取前k个(k<r),那么此时也能恢复A

image.png,但此时A的信息则有缺失。那么此时U和V的维度也减少了(注意维度默认是列数,也称为数据的特征,而行一般称为观测值),这就是降维的一般概念。

SVD可用于机器学习中数据噪声的去除,保留数据的主要特征。由于SVD的结果多样,也不知道哪个是目标结果,所以无需训练算法,这是无监督学习的共性。

四、SVD的实战练习可参考链接

1.手写体(MATLAB)

https://blog.csdn.net/google19890102/article/details/27109235

http://www-users.math.umn.edu/~lerman/math5467/svd.pdf

2.推荐算法提升(SVD竟然也可以,神奇)(Python)

https://blog.csdn.net/sinat_17451213/article/details/51201682

http://www.sohu.com/a/127149396_464826

3.图像压缩(MATLAB)

https://blog.csdn.net/bluecol/article/details/45971423

发布了189 篇原创文章 · 获赞 170 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/SPESEG/article/details/103714451