通俗易懂的主成分分析法(PCA)详解

转载 2018年04月14日 22:32:46

转载自:http://blog.codinglabs.org/articles/pca-tutorial.html

文章分析脉络梳理:

 1.向量A和B的内积表示的是向量A在B上的投影长度。那么将一个向量与新的基做内积,结果则表示该向量在新的基下的坐标。

2.将新选定的基表示成矩阵形式,与原向量相乘,就得到了原向量在新选定的基所表示的空间(或坐标系)中的坐标表示了。

3.怎样选定这组基用于数据降维?(目标)

(1)首先将数据变换到选定基上后,数据的方差要大,尽量分散。

(2)各个基要正交(表示的信息要不相关,若单纯按方差选定基,则选定的基存在很大的相关性)

4.怎么做?怎么找这组正交基? (做法)

(1)协方差矩阵可以很好地表示各个特征的方差和不同特征之间的协方差

(2)按目标要求需要将协方差矩阵除去对角线元素化为0,对角线元素按从大到小排列。协方差矩阵对角化。

(3)对角化后按特征值大小排列,选定前k个最大的特征值对应的特征向量作为降维后的新基。


PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理。这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么。

当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙述PCA的数学原理,所以整个文章不会引入严格的数学推导。希望读者在看完这篇文章后能更好的明白PCA的工作原理。




进一步讨论

根据上面对PCA的数学原理的解释,我们可以了解到一些PCA的能力和限制。PCA本质上是将方差最大的方向作为主要特征,并且在各个正交方向上将数据“离相关”,也就是让它们在不同正交方向上没有相关性。

因此,PCA也存在一些限制,例如它可以很好的解除线性相关,但是对于高阶相关性就没有办法了,对于存在高阶相关性的数据,可以考虑Kernel PCA,通过Kernel函数将非线性相关转为线性相关,关于这点就不展开讨论了。另外,PCA假设数据各主特征是分布在正交方向上,如果在非正交方向上存在几个方差较大的方向,PCA的效果就大打折扣了。

最后需要说明的是,PCA是一种无参数技术,也就是说面对同样的数据,如果不考虑清洗,谁来做结果都一样,没有主观参数的介入,所以PCA便于通用实现,但是本身无法个性化的优化。

希望这篇文章能帮助朋友们了解PCA的数学理论基础和实现原理,借此了解PCA的适用场景和限制,从而更好的使用这个算法。


机器学习之k近邻学习器和降维与度量学习

-
  • 1970年01月01日 08:00

因子分析、主成分分析(PCA)、独立成分分析(ICA)——斯坦福CS229机器学习个人总结(六)

因子分析是一种数据简化技术,是一种数据的降维方法。 因子分子可以从原始高维数据中,挖掘出仍然能表现众多原始变量主要信息的低维数据。此低维数据可以通过高斯分布、线性变换、误差扰动生成原始数据。 因子...
  • sinat_37965706
  • sinat_37965706
  • 2017-05-07 15:44:36
  • 2244

主成分分析法的原理应用及计算步骤

  • 2017年03月14日 15:08
  • 98KB
  • 下载

零基础深入浅出主成分分析PCA

解读常见的降维算法-主成分分析
  • u012845311
  • u012845311
  • 2017-04-10 10:43:24
  • 481

主成分分析(PCA)一次讲个够

PCA 简介多元统计分析中普遍存在的困难中,有一个困难是多元数据的可视化。matlab 中的 plot 可以显示两个变量之间的关系,plot3 和surf 可以显示三维的不同。但是当有多于3个变量时,...
  • huangfei711
  • huangfei711
  • 2017-11-29 11:31:46
  • 2383

<em>主成分分析法</em>

2018-04-16 上传大小:583B <em>主成分分析法</em> 对一个含有27个特征的乳腺癌数据...VIP会员<em>动态</em> 0 1 2 公告 CSDN下载频道资源及相关规则调整公告V11.10 下载频道...
  • 2018年04月16日 00:00

spss<em>主成分分析</em>插件2018版

spss<em>主成分分析</em>插件,可以直接得到结果,不用一步一步算了... spss<em>主成分分析</em>插件,可以直接得到结果,不用一步一...VIP会员<em>动态</em> 0 1 2 公告 CSDN下载频道资源及相关...
  • 2018年04月20日 00:00

动态库加载验证结论

前提概述: ADLL加载CDLL,BDLL加载CDLL。分为两种情况:1、ADLL和BDLL加载的CDLL同名但内容不同;2、ADLL和BDLL加载的CDLL同名且接口相同,但函数实现不同。根据这两种...
  • xiaoyafang123
  • xiaoyafang123
  • 2016-08-09 14:34:15
  • 246

影像信息提取之——多时相影像动态检测

 遥感影像具有周期性特点,利用这一特性就可以用于监测一个地区的地表变化情况,遥感影像是我们监测地球变化最直接和权威的数据源。从遥感影像中可以获取的变化信息包括:海岸线、森林健康、城市扩张、农业生产...
  • lijie45655
  • lijie45655
  • 2015-10-15 20:01:28
  • 3730

matlab之simulink仿真入门

Matlab Simulink仿真工具的应用****Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。使用Simulink来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系...
  • lusongno1
  • lusongno1
  • 2016-04-02 11:19:15
  • 15806
收藏助手
不良信息举报
您举报文章:通俗易懂的主成分分析法(PCA)详解
举报原因:
原因补充:

(最多只允许输入30个字)