纯粹直觉地理解主成分分析 (PCA)

引言

写这篇blog只是分享一下个人对于PCA的直观理解,并不涉及严谨的数学推导,懒是一个原因,而且自己对线性代数的SVD那些知识掌握得还不够熟练,这里就不班门弄斧了。

降维的思想

要了解某个物体,我们往往会关注它的多个特性(或者叫多个维度)。假设这里有n个特性,那么对于每一个样本,我们可以用n维空间的某一个点来表示:
( x 1 , x 2 , … , x n ) (x_1, x_2 , \dots, x_n) (x1,x2,,xn)
然而,这些特性中,会存在某一些高度相关的特性,比如在评价一个人时,他/她的总财产和月收入一般是正相关的,那么我们是否可以只用一个数来描述这个人的富有程度呢?显然是可以的。事实上,这样的想法就基本上是降维的思路了。如果按照上述例子的思路,我们就可以把一个n维空间的点,变成一个n-1维空间的点了。

主成分分析

事实上,主成分分析的实质就是坐标轴的变换,然后舍弃掉贡献较小的变量。

在这里提一下,很多教程喜欢把中心化(centralizing)放在前面讲,但事实上这个操作只是把坐标原点进行平移而已,并不涉及PCA的实质,暂且不提。

坐标轴“旋转”
如上图所示,我们用了新的一组变量 ( P C 1 , P C 2 ) (PC_1, PC_2) (PC1,PC2)来代替原来的变量 ( x 1 , x 2 ) (x_1, x_2) (x1,x2)。显然,在新的坐标下,数据点在 P C 2 PC_2 PC2方向上的分散较小,若在误差范围内,可以忽略。这样,我们就可以只用 P C 1 PC_1 PC1一个变量来描述这些数据点了。

根据线性代数的知识,我们可以知道这里其实就涉及到基变换的知识了。同样地,这也是个非常“数学”的过程,等以后有时间再写。简单来说,新的变量组是旧变量组的线性组合。

另一种看法

不难发现,上述对于PCA的理解其实有点类似Linear Regression。现在我们用另外一种角度来考虑PCA。前面提到,新的变量组是旧变量组的线性组合,那就可以写成如下格式:
{ P C 1 = c 11 x 1 + c 12 x 2 + ⋯ + c 1 n x n P C 2 = c 21 x 1 + c 22 x 2 + ⋯ + c 2 n x n ⋮ P C n = c n 1 x 1 + c n 2 x 2 + ⋯ + c n n x n \begin{cases} PC_1 = c_{11}x_1 + c_{12}x_2 + \dots +c_{1n}x_n \\ PC_2 = c_{21}x_1 + c_{22}x_2 + \dots +c_{2n}x_n \\ \vdots \\ PC_n = c_{n1}x_1 + c_{n2}x_2 + \dots +c_{nn}x_n \end{cases} PC1=c11x1+c12x2++c1nxnPC2=c21x1+c22x2++c2nxnPCn=cn1x1+cn2x2++cnnxn
问题是系数 c i i c_{ii} cii的选取,以什么作为原则呢?因为我们最终目的是降维,也就是说要把尽量多的特征保留在前几个主成分中。这意味着什么呢?如果两个点投影到一个轴上之后重合成一个点,那么这两个点的区分度就变小了,也就是说,在降维之后,用于描述这两个点的特征变少了。那么直观上怎么样才算是保留了较多的特征呢?事实上, 这就是要求样本点在新的轴上的分布尽量分散。很容易联想到,描述样本分散程度的数学量就是方差。所以我们要做的事情也就是使 V a r ( P C 1 ) Var(PC_1) Var(PC1)最大化。

这两种看法实际上是一样的,设样本点到新坐标轴的距离为 h h h,点 x ‾ \overline{x} x 的坐标为 ( x 1 ‾ , x 2 ‾ , … , x n ‾ ) (\overline{x_1}, \overline{x_2}, \dots, \overline{x _n}) (x1,x2,,xn),样本点在新坐标轴上的投影到点 x ‾ \overline{x} x 的距离为 d d d。因为样本点到点 x ‾ \overline{x} x 点的距离是一定的,那么根据勾股定理,如果我们要求 h h h尽量小,实际上等价于要求 d d d尽量大。
在这里插入图片描述
上述的证明默认了新的坐标轴是经过点 x ‾ \overline{x} x 的,其实这也就是中心化。

碎碎念

PCA的数学公式推导暂且先留个坑,希望以后会有时间搞一搞。不得不说孔子讲得还真对,温故而知新。线性代数这门学科越是反复看就越是觉得有意思,当然也确实有点难度,等到一切尘埃落定之后会好好整理一下这些知识。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值