首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习数据预处理:数据降维之PCA

机器学习数据预处理:数据降维之PCA

作者头像
double
发布2018-04-02 14:48:29
1.2K0
发布2018-04-02 14:48:29
举报
文章被收录于专栏:算法channel算法channel算法channel

《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!

01

回顾

到现在,已经总结了机器学习的:

  1. 回归算法之最小二乘方,脊回归,套索回归;
  2. 分类算法之逻辑回归,决策树分类,朴素贝叶斯决策,半朴素贝叶斯决策
  3. 聚类算法之高斯混合模型,解决这个模型选择了期望最大算法(EM算法)
  4. 介绍的以上算法都带有详细的原理介绍,例子阐述,代码实现(大部分都是自己编写不掉sklearn的包)

体会了机器学习的基本回归,分类,聚类到底是怎么回事后,该到了分析喂给这些算法的数据了,我们在之前介绍这些算法时,往往用到的数据都是已经预处理过的,比如做了归一化处理,做了降维处理等等。数据预处理做的好与坏,对我们最终问题的求解也是至关重要的,因此也是机器学习学习中的重要一个环节。

废话少说,下面介绍一个数据预处理常用的方法:数据主成分分析,简称PCA。

02

数据主成分分析的背景

现实中,我们要研究某个问题,比如预测一只股票的价格时,我们不想忽略每一个可能的影响因素,所以初步划定了100个影响股票价格的特征,再分析最近五年的这只股票的价格数据。这样多维度,大样本,会为预测股票的价格增加更多的筹码。

但是,这么多的维度一来给分析带来不便,二来某些维度可能存在相关性,从而增加了问题分析的复杂性。

为了解决这个问题,想到以下几种办法:

  1. 分别对每个指标进行分析。但是这种分析是孤立的,不能看到全貌。
  2. 减少维度。但是如果是盲目的减少,会损失很多有用的信息,进而产生错误的结论。
  3. 抓住主要成分。既避免了方法1的孤立分析,也解决了方法2的损失有用信息的问题,可以说它是最好的,这就是PCA做的事情。

03

什么是数据的主成分

要做主成分分析(PCA分析),首先要弄明白什么是主成分吧,什么又不算是主成分,即次要成分。

为了说明什么是数据的主成分,我们看下面的这个表格,它是某校高一101班期中考试三门主科的考试成绩单,显示了前3位学生的分数,可以看到语文都是110分,数学和外语三位同学的考试分数差距比较大。现在要根据这三门课程对这三位同学排名次,显然影响名次的特征有3个,那么这3个特征中哪些是主要影响排名的特征,哪些不是主要影响排名的特征呢?

我们几乎一眼就能看出,语文不是影响排名的主要特征,因为他们考得一样多,所以语文分数这个特征对最终排名的影响可以忽略;可以看出数学和外语分数才是拉开差距的特征。

因此,数学和外语分数,这两个特征,便构成了影响排名的主要成分,而另外一个特征:语文分数,是可以忽略掉的成分。

为了最直观的说明什么是数据的主成分,我们列举了这个有些极端的例子,因为3位同学的语文成绩是一样的,所以是可以忽略掉这个特征的。但是实际上后面几十位同学的语文成绩的差距还是有一些的,所以还是要考虑一下语文成绩。

在这里说到了一个概念:差距,如何定义这个差距变量,其实它就是数据的方差,可以看到这3位同学的语文成绩平均值为110分,方差为0,我们说这个特征可以忽略,相对的,数学和外语能拉开差距,不是因为平均值高或低,而是因为差距即方差大,成绩分布的相对散开,所以选取数学和外语作为主成分、主特征。

04

如何选择主成分

承上,我们先从一个很容易理解例子开始,阐述了主成分选取的一个考量指标:某个特征的方差,方差越大,我们越会倾向于这个特征;相对的,方差越小越不可能趋向它。

但是,这种理解有一点偏差,好像根据这个例子给我们一种感觉:主成分分析是一种简单的从 n 个特征中,根据特征的方差从大到小选择 k 个特征的过程。这样理解是不准确的,其实PCA分析后选择的 k 个特征很可能不是原来的 n 个特征中的几个。

那么到底如何确定最终的几个特征呢? 根据以上的分析,主要还是得从特征的方差下手,经过数据去均值,得到数据的协方差矩阵(方差和两两特征间的相关系数),选取特征向量,和数据投影到特征向量矩阵中。如何通俗易懂但不失严谨性地理解PCA操作的过程,请看明天的推送。谢谢您的阅读!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档