主成分分析法原理及其python实现

主成分分析法原理及其python实现

前言:

这片文章主要参考了Andrew Ng的Machine Learning课程讲义,我进行了翻译,并配上了一个python演示demo加深理解。

本文主要介绍一种降维算法,主成分分析法,Principal Components Analysis,简称PCA,这种方法的目标是找到一个数据近似集中的子空间,至于如何找到这个子空间,下文会给出详细的介绍,PCA比其他降维算法更加直接,只需要进行一次特征向量的计算即可。(在Matlab,python,R中这个可以轻易的用eig()函数来实现)。
假设我们给出这样一个数据集这里写图片描述代表m辆不同种类的汽车,每个数据点各个属性代表该类汽车的最大速度,转弯半径等等,假设对每个i都有这里写图片描述(n << m)但是有一点我们不知道,对于某些Xi和Xj来说,最大时速是用不同的单位给出的,一个是用mile/hour,一个是用kilometers/hour,这两个属性显然是线性相关的,至于有一些不同是因为在mph和kph之间的转换造成的,因此,数据其实是近似集中在一个n-1维的子空间里的,我们如何自动侦测并且移除这些冗余呢?

再举一个更加具体的例子,我们现在拥有一个由对遥控直升机飞行员的问卷调查得出的数据集,第i个数据点的第一个分量这里写图片描述代表该飞行员的飞行技巧,第二个分量这里写图片描述表示TA对飞行过程的享受程度,因为遥控直升机非常难以操控,所以只有那些真正享受这个过程的人才能成为一个好的飞行员,所以,这两个属性具有很强的关联性,,实际上,我们可以假设数据实际集中在看起来像是一个斜的坐标轴附近,我们可以把这个坐标轴直观理解为一个人与飞行的”缘分”,(这样的直观理解可以帮助理解PCA),如下图所示,我们如何自动计算出u1这个方向呢?这里写图片描述

没错,计算u1这个方向的方法就是PCA算法,但是在数据集上运行PCA算法之前,通常我们要首先对数据进行预处理来标准化数据的均值和方差。下面是预处理过程:
这里写图片描述

<
  • 8
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值