矩阵奇异值分解(SVD)与主成份分析(PCA)详解

鸣谢
本文引用了如下文章,如有侵权,请联系删除

主成分分析(PCA)原理详解
邹博机器学习教程


矩阵奇异值分解(SVD)

  • 奇异值分解(Singular Value Decomposition)是一种重要的矩阵分解方法,可以看作对称方阵在任意矩阵上的推广。
  • 假设A是一个m*n阶实矩阵,则存在一个分解使得:
    Amn=UmmσmnVTnn

    但这个U和V怎么确定呢?
    有如下公式:
    (ATA)vi=λivi{σi=λiui=1σiAviA=UσV

    因为 ATA 为一个n*n的矩阵,所以它也有自己对应的特征值和特征向量,其中vi为 ATA 的第i个特征向量, λi 为它的第i个特征值,它总共有多少个特征值和特征向量不确定,但是肯定是有的(即使没有,i取0就好了)。
    其中 σ 对角线上的第i个元素称为矩阵A的第i个奇异值
    其中U的第i列称为A的关于 σi 的左奇异向量
    其中V的第i列称为A的关于 σi 的右奇异向量
    通常我们将奇异值由大到小排列。这样 σ 就能由A唯一确定了

下面我们来举个例子:

A=10000004030000002000

那么就能得到:
U=0001010010000010σ=40000300005000000000

VT=000.200.8100040100000010000.800.2

矩阵U和V都可以变换为单位正交方阵(如上述所示),即 UUT=I,VVT=I


说了那么多,我们已经知道了矩阵奇异值分解是在“干什么”了,但是我们还不知道矩阵奇异值分解有“什么用”,或者说我们“为什么”要进行矩阵奇异值分解呢?不要急,俗话说有图有真相,让我们用图说话。


这里写图片描述

光看这个图好像也不是很清晰,其实是这样的,上述公式我们已经说了:
其中 σ 对角线上的第i个元素称为矩阵A的第i个奇异值
其中U的第i列称为A的关于 σi 的左奇异向量
其中V的第i列称为A的关于 σi 的右奇异向量
通常我们将奇异值由大到小排列。
因为矩阵的“奇异值”又叫做“特征值”,顾名思义,这些特征值可以从某种意义上代表矩阵的“特征”。又由于上述所说矩阵A的特征值和矩阵U以及V的列向量存在一一对应关系,那么我们可以选取一部分的特征值,以及它们对应的特征向量,为了保证矩阵的维度不变我们将其它的特征值和特征向量全部变成0就行了。
这样我们就做了一种类似于“特征提取”的操作,就如上图所示。并且显而易见的,我们提取的特征值越多,SVD得到的结果就与原图越相似,如果我们不做任何提取,也就是保留所有的特征值,那么SVD就相当于没有效果,结果与原图完全相同,换句话说我们就是保留了原图的所有特征。


SVD的不足

上面我们举了例子,SVD是很粗暴的将数据的特征值排一个序,然后选取最大的几个特征值来代表原数据的特征,这在图像处理方面确实没有问题,因为图像存储在电脑中说白了就是一堆灰度值点而已,它们之间是没有联系的,单纯的提取最有特点的部分是没有问题的。
但是!但是!但是!
许多的数据集中,每个数据的属性之间是有联系的!如此一来,单纯的提取特征的手段得到的效果必然是不会好的,所以我们得对SVD进行加强!于是我们的PCA闪耀登场!

主成份分析(PCA)

上述说了SVD不能考虑属性间关联的缺陷,所以我们得解决这个问题,如何才能表示属性间的关联呢?回想数理统计的知识,是不是想到了协方差
没错!属性间的协方差就能表达属性间的联系!
如此一来,我们得到数据之后不直接对其进行SVD了,我们要做一些“预处理”,我们先求各个数据的协方差矩阵!
比如我们有个3维的数据(x,y,z),那么协方差矩阵是:

cov(x,x)cov(y,x)cov(z,x)cov(x,y)cov(y,y)cov(z,y)cov(x,z)cov(y,z)cov(z,z)

然后我们通过这个协方差矩阵求得SVD方法中的矩阵U与V,然后再根据求出的U与V去用SVD的原理提取原数据的特征就行了。这样我们的“ 提取规则(也就是矩阵U和V)”是考虑了原数据属性间的联系而制定的,弥补了SVD的缺陷。


很显然,其实PVA就是考虑了原数据的属性间的联系的SVD。


本文仅为我的一家之言,欢迎指出错误。

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值