机器学习系列-主成分分析

PCA

降维

一些机器学习算法在处理高维数据时,性能会出现明显下降,这就是所谓的“维度灾难”,为此人们开始对算法进行改进。与此同时,对降维的需求催生了降维算法,比如本文要介绍的主成分分析(Principal Component Analysis,PCA)。

在开始本文的主要内容之前,我想先举一个关于降维的例子:

有5个点,坐标如下表所示:

id x y
1 5.0 1.4
2 5.0 2.3
3 5.0 5.6
4 4.9 7.8
5 5.0 11.1

将他们画在图中:

这里写图片描述

虽然是二维空间中的点,但是这些点的横坐标几乎都是5,只有第4个点的横坐标稍稍有些“不合群”,我们不妨将这0.1(5-4.9)的偏差作为噪声略去,这样所有的点横坐标都相同了。

现在我们从坐标的角度去分析这些点的差异性,就会发现,分析横坐标是没有任何意义的,因为所有的点横坐标都相等。忽略了横坐标,分析这些二维空间上点等同于分析一维数轴上的点,过程简单了许多。这就是一个降维的过程。

主成分分析(PCA)

上述的降维方法其实是将二维的点全部投影到y轴上,但这样有个问题,这种投影方式不能将不同的数据的差异性体现出来(有些文档也称为变异性)。而PCA要做的就是将数据沿方差最大方向投影,数据更易于区分。详细的说就是,所选取的第一个维要尽可能多的捕获数据的差异性,第二个维与前面的维正交,使得与第一个维一起变化的程度最小,并尽可能多的捕获剩余的差异性,然后继续下去。接下来我们详细介绍PCA的原理。

概率论中通过计算数据的协方差矩阵 S 汇总多元数据集(例如,具有多个连续属性的数据)的差异性。

给定一个 mn 的数据矩阵 D ,其 m 个行是数据对象,其 n 个列是属性。 D 的协方差矩阵为 S ,其元素 sij 定义为 sij=covariance(di,dj)

换言之, sij 是数据第 i 个和第 j 个属性的协方差。

两个属性的协方差度量两个属性一起变化的程度。如果 i=j (即两个属
性相同),则协方差就是该属性的方差。如果数据矩阵 D 经过预处理,使得每个属性的均值都是 0

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值