Machine Learning 3 - 主成分(PCA)算法分析

AI

机器学习第三篇 - 主成分分析(Principal Compoent Analysis, PCA)。



今天趁下班后看了一会主成分分析算法介绍,其实之前有参加TK同事Machine Learning的系列分享,正好今天看到,现学现卖。


我们机器学习的系列介绍,以较为基础的基本理论为开始,逐步深入算法,以及过多到更多实际应用;

相信开始是比较枯燥和基础的,万丈高楼平地起,地基的牢固与否是决定你未来能走多高多远。


目录

  • PCA定义

  • 分析目标

  • 基本原理

  • 数学实现

  • PCA作用

  • 实际案例

  • 小结


1

 主成分分析(PCA)

主成分分析(Principal Compoent Analysis, PCA),是一种统计方法,也是在机器学习领域经常出现,常用到的一种算法,有必要单独而又简要的介绍。


PCA定义

简单来说:


PCA主成分分析,字如其意,抓其主要矛盾,利用降维思想,把多个指标转换为少数几个主要指标,抓大放小


学术定义:


PCA作为统计学中简化数据集技术的一种,本质是一个线性变换,把数据集变换到一个新的坐标系统,使得任何数据投影的:


  • 第一大方差在第一个坐标(第一主成分)

  • 第二大方差在第二个坐标(第二主成分)

  • ...


方差: 


统计数据中,当数据分别比较分散,各个数据与平均数的差的平方和较大,方差较大;反之数据分布比较集中时,其方差较小。


所以,方差反应了统计数据的波动性,方差越小,数据波动越小。


上述采用通过选取线性组合得到的第一大方差,即其包含的信息最多,因此导致其方差最大,固称为第一主因

2

主成分分析目标

实际目标

实际应用统计中,为更详尽的反映所研究问题信息,一组统计数据会有很多维度,或者指标,在统计分析中称为变量;如宏观经济的统计,会有多个经济指标。


  • 通常来看,多个指标之间彼此会有一定的相关性,所以其所得到的统计数据信息一定程度上有重叠;

  • 同时,在研究多变量问题时,太多变量会导致急剧的计算量,分析的复杂性上升

3

基本原理

基本原理:


主成分分析作为一种降维方法,其本质原理是借助一个正交变换,将其分量相关的原随机向量转化为其分量不相关的新随机向量:



  • 代数上表现为将原随机向量的协方差变换为对角形阵

  • 几何上表现为将原坐标系变换成新的直角(正交)坐标系


正交变换: 正交变换是保持图形形状和大小不变的几何变换,包含旋转,轴对称及上述变换的复合


举例来说,如上图三维坐标系x,y,z,通过PCA变换,即几何上把坐标轴旋转把数据所在平面与x,y平面重合,把旋转后的坐标系称为为x',y',z',其实即x',y'即可。代数上即把矩阵的秩(极大线性无关向量个数,rank(A) )从3降到2。


4

数学实现

数学实现:


数学上,通常将原来的P个指标的线性组合,用F1(选取的第一个线性组合,即第一个综合指标)的方差来表达,Va(F1)越大,表示F1所包含信息量越大,如果在所有线性组合中,Va(F1)最大,则称F1为第一主成因。依此算法继续选取F2,但要保证Cov(F1,F2) = 0, 选出F2作为第二主成分,依此类推。


5

PCA作用

PCA作用:


主成分分析坐到了在减少数据集降维的同时,通过仅保留低阶主成分,忽略高阶主成分,做到了同时保持了数据集对方差贡献最大的特征(也并非绝对)。


  • 有效降维,信息压缩,减少噪音及冗余信息

  • 降维到3,2后进行图形分析,分类检测

  • 降维后加速计算速度

  • 由主成分构造回归模型

  • 筛选回归变量(Feature Selection),构造最佳变量集合

6

PCA实际案例

数据压缩:


在机器学习/深度学习宝典中,提及了使用PCA来进行数据压缩的例子。


PCA算法将n个特征降维到k个,如100维的向量最后可以用如10维来表示,则其数据压缩率为90%。


图像处理:


PCA在图像处理领域最著名的应用应该属其在人脸识别中特征提取及数据维,如输入200*200像素大小的人脸,如果单单提取起灰度作为原始特征,则这个原始特征将达到40000维度,其负责度可见一斑。


著名的人脸识别算法Eigenface就采用了PCA,用一个低纬度的空间描述人脸,同时保存了识别所需要的信息, K-L变换:


K-L (Karhunen-loeve)变换:最优正交变换


  • 常用的特征值提取方法

  • 最小均误差下的最优正交变换

  • 消除模式特征之间的相关性,突出特异性


数学公式,省略n个.... 避免公众号睡眠💤

K-L变换定义: 当取矩阵R的d个最大特征对应特征向量来展开x时,其均方差误差最小,这个d特征向量组成的正交坐标系称作x作在的D维空间的d维K-L变换坐标系


在视觉库OpenCV中已经封装了PCA算法。


实验结果:


4个人人脸图像,每个人5张图片,共计4*5=20张:


原始图片为:


PCA提取主特征脸:

上图第一行为原始20张图片中不同的3个人;

第二行则为选取4个特征向量作为正交基底,使用PCA重构后的人脸,基本还是保留了可识别性,如果增加一些特征向量个数,则能较好的重构人脸图像。


7

小结

主成分分析PCA作机器学习领域常用的降维方法,使用较为广,包括了向量及高阶张量的数据;

PCA追求的是抓大放小,抓住事物内部主要矛盾;当然,PCA处理降维是通过数据方差大小来衡量的,但是有时候这样投影对数据分区/区分并不大,甚至极端会使数据点集中无法区分,从而使得PCA存在弊端。


时间关系,我们并没有列出复杂的数学公式,推导论证。


往期热文推荐


Machine Learning 1 - 线性回归算法分析

Machine Learning 2 - 非线性回归算法分析

AI - TensorFlow

Docker

Deep Dive in Redis

Spring Boot

Gemfire:分布式缓存利器

FinTech-Blockchain区块链



公众号:技术极客TechBooster

孪生公众号:技术 + 金融 = 程序量化投资Venus

相关文章
相关标签/搜索