直观理解主成份分析法之PCA

1. 什么是PCA

PCA(principal component analysis) ,主成份分析,顾名思义,分析数据主要成份。它是通过用其它维度的来表示数据,这些维度有一个特点,就是每个维度捕捉到原始数据的信息是逐步降低的,同时这些维度相互独立。可作为是一种降维技巧,在尽可能地保留数据信息的情况,降低数据维度,同时让各维度之间不相关。降低维度好处很多,比如在算法计算中,可减少计算量,提高模型运算速度。不相关可减少分析难度

2.PCA的公式推导

在PCA定义中,我们提到一个很关键的字,信息,同时要求尽可能多地包含原数据的信息,因此我们需要找一种方式把数据信息量化。量化方式很多,比如方差,协方差,信息熵,gini系数等。但是他们不同的性质导致适用场景也不同,比如熵的公式为 -\sum\(P*log(P)),P为概率。可理解为求log(p)的负平均值,它关注是个体,因此它更加适用于去衡量每个值被选中概率情况,同时也可以用来衡量一个事件发生概率所能提高信息。方差更多关注是整体的分布情况,协方差关注是个体与个体之间关系。因此在PCA公式设计使用了方差和协方差。

一.主成份分析法直观理解

我们知道数据可以放在多维坐标轴空间中,列如

x1x2
-34
55
62

表格数据放在坐标轴如下

 

因此主成份分析法另外一种理解是:对数据进行正交变换,具体操作就是对原坐标轴进行旋转变换,并用变换得到的新坐标轴表示原数据。这些新坐标轴就是主成份。如下:很明显主要是沿着y1着分布的,y1轴代替x1,作为新的特征。

那y1 和 y2该如何旋转呢?或者如何求解呢? 

根据‘尽可能多地包含原始数据信息’的条件,和用方差量化信息。我们可把Y求解条件转化为找到Y1轴,数据在该轴上的映射分布的方差最大。如下图,A1,B1,C1分别A,B,C在Y1轴上映射。标准化(方差1,均值为0)后的原始数据的方差表达为AO^2 +BO^2 +CO^2,映射到Y1轴后方差为A_1O^2 +B_1O^2 +C_1O^2,要想使A_1O^2 +B_1O^2 +C_1O^2更大,则AA_1^2 +BB_1^2 + CC_1^2更小(三角关系)。等价地,主成分分析在旋转变换中选取离样本点的距离平方和最小的轴,作为第一主成分。

注意这是使用的是标准化,不是归一化,归一化的均值不一定为零,导致方差不能通过AO^2 +BO^2 +CO^2计算。

 

 

二.转换为数学语言

Y写成X函数

y_i =a_1*x_1 +a_2*x_2 + ... + a_i*x_i

(1). 因为标准化,所以A_1O^2+AA_1^2 = AO^2 =1

所以系数向量a_i是单位向量,即a_i^T*a_i = 1,根据单位向量的定义x^2+y^2 =1

(2) 因为要求新的主成份之间线性不相关,所以

cov(y_i,y_j) = a_i \sum\ a_j = 0   

\sum  是协方差

(3) 方差最大化

max(var(y_i)) = max( a_i \sum\ a_i )

看到上面约束条件,想求解a_i, 我们首先想到应该是拉格朗日乘子法

三.拉格朗日乘子法求出主成份

拉格朗日乘数法直观理解

求解f(x,y) =d_1的最大值, 约束条件为g(x,y)=c

图中虚线部分是等高线,该等高线与高中地理中等高线含义是相同的,在等高线上各点的函数值相等。该题求解,我们可以想象一下。一条绳,一个山坡。找到点,这些点在绳上,也在坡上,同时是能达到的坡最高。这样点有且只有一个,绳与坡相切点。

preview

f(x,y)g(x,y)相切,则在切点处的梯度方向共线,即\Delta f =\lambda \Delta g 所以

可变形为

所以

 

了解拉格朗日乘子法后,PCA推导就相当容易多了,直接套公式。

max( a_1 \sum\ a_1 )   约束条件 a_1^T*a_1= 1

定义拉格朗日函数:

求导,并令其等于求得

所以

\sum a_1 = \lambda a_1

看着是不是很像函数特征值和特征向量求解函数,是的,没看错,参考公式如下

所以主成份是协方差\sum 的特征向量。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值