主成分分析法:简介

1.主成分分析法简介

从本质上来讲,主成分分析法是一种空间映射的方法,将在常规正交坐标系(我们看到的)的变量通过矩阵变换操作映射到另一个正交坐标系中的主元。做这个映射的目的是为了减少变量间的线性相关性。那么问题来了,1)为什么有这样的目的,主成分分析法可以用到什么地方? 2)要怎么设计这个中间的变换矩阵,能够达到我们的目的?

1)主成分分析法有什么用?

本来变量之间有线性相关性,现在都变成了相互独立。如果变量是作为分类的特征的话,那么主成分分析法起到了一种特征重建的作用;从最后的表示来看,主元是由原来的变量线性组合而成,原来的变量之间是线性相关的,而主元之间是相互独立的,直观上的可以通过主成分分析法进行聚类;当然,从主成分求解的过程来看,PCA还可以用来降维。

2)主成分分析法的中间矩阵构建

回到我们的目的,为了减少变量之间的线性相关性。首先要清楚两个点,一是变量是用什么来表示的?二是怎么衡量变量之间的线性相关性?第一个问题好说,对于二维坐标来说,变量就是用一个类似于(x,y)的坐标值来表示,同理,可以扩展到多维坐标系中,用多个值来表示变量。二是如何衡量变量之间的线性相关性?可以用协方差或者皮尔逊相关系数进行衡量,关于这两个算式的理解可以参看一个知乎答主的回答。对于协方差,简而言之,协方差反应了两个变量的同步性,变化规律的相似性,主成分分析法是用协方差衡量变量的线性相关性。在这里我们使用X表示一个变量矩阵,M表示协方差矩阵,根据协方差的计算公式,我们可以得到M = (X-u)'(X-u)*(1/m),如果对每个变量进行均值归零化处理,那么协方差矩阵就变成了M = X'X*(1/m)。

有了协方差,主成分分析法就可以对所有的变量进行线性相关性衡量。我们的目标是X矩阵经过T矩阵转换后,协方差矩阵除了对角线其他元素都变为0(好好理解下为什么,变为0是什么意义?),因此Mafter = (XT)'*(XT)/m = T'X'XT / m = T'MT; 在线性代数上,这是一个将矩阵对角化的过程。我们的目标是获得T矩阵 ,用线性代数的特征值分解的方法求出T矩阵,那么我们的目的就达到了。因此最后的变换过程就是Y = XT,X是一个变量间相关的变量矩阵,而Y是一个变量之间相互独立的矩阵。具体的推导过程可参看PCA的数学原理。

为什么说主成分分析法可以降维?根据实对称矩阵的性质:实对称矩阵A可以分解成其特征向量和特征值的乘积形式。A=SVS' 。S为特征列向量组成的矩阵,V为对角矩阵。设想一下,如果对角线矩阵上出现了一个为0的值,那就说明这个主元本身没有任何信息,这个主元可以不存在,不是必须的。因此如果去掉没有信息的主元,或者信息很少的主元,那就可以起到降维的作用。

3)总结

主成分分析法的过程,它是一个构造转换矩阵的过程。

a.对变量矩阵X进行均值归零处理

b.求协方差矩阵M = X'X/m(m是X的行数,也就是有多少个变量)

c.求出协方差矩阵的特征值和特征向量,特征向量组成的矩阵就是变换矩阵

d.将特征向量按照特征值大小进行排序,组成矩阵p

e.Y =  Xp得到最后的变换的数据


2.主成分分析法目标式

主成分分析法是否有一个目标式呢?寻找目标式的好处是可以对主成分分析法进行推广。对要处理(不管是用于降维还是聚类)的矩阵X,假设找到的中间矩阵是Q,那么就有变换后的矩阵为

Y=XQ
因此
X=YQ1
又因为T是正交矩阵, 因此主成分分析法的目标式为
(Y,Q)=argminXYQT2F
. 并且满足中间矩阵Q是正交矩阵的约束条件,即
QQT=I

我们分析下上面的主成分分析法的目标式。


你可能感兴趣的:(机器学习)