PCA(主成分分析,principal components analysis)是最常用的无监督式降维方法,其核心思想是寻找一组低维空间的正交基来投影原始空间数据,在保证尽可能保留原始数据信息的同时,降低数据特征空间。
一、几何解释
在二维几何空间内来理解PCA的大致思路:即对于二维空间内的一堆散点,寻找一条直线,使得各点在直线上进行表示的某种度量能够尽可能的体现散点在二维空间内的分布情况。
推广到高维空间中,即需找这样的超平面。
看过线性回归(一)基础理论的朋友不难发现,这种表示和线性回归非常类似,区别在于在线性回归中,每个点有对应的标签Y来度量;而对于PCA,并没有,也不需要对应的标签Y。那究竟PCA是如何进行某种度量的呢?
一种直觉是,将这些点投影到某个超平面上,这些点在超平面上越分散越好。至于如何评价分散程度?在中心化的基础上用方差表示!这对应于投影方差最大的推导。
另一种直觉是,将这些点投影到某个超平面上,这些点到超平面投影点的距离越小越好。这对应于投影距离最近的推导。
从信号分析的角度理解,投影方差最大即最大化原始信号(数据)中的信息,而投影距离最近即最小化原始信号(数据)中的噪声。因此,PCA的过程也就是寻求最大信噪比的过程。
二、基于投影最大方差的推导
按照惯例,对推导中涉及的变量进行定义:
原始数据中心化后为Xm×n=⎣⎢⎢⎢⎡x1(1)x1(2)...x1(m)x2(1)x2(2)...x2(m)............xn(1)xn(2)...xn(m)⎦⎥⎥⎥⎤
中心化的目的:中心化后的数据在进行线性变换后仍保持中心化,从而可以方便方差或投影距离的推导
线性变换正交矩阵Wp×n,将数据由n维空间投影至p维空间,各向量为正交基。
数据向量x(i)经线性变换后得到z(i),即z(i)=x(i)WT,数据矩阵Xm×n经线性变换后得到Zm×p=XWT
因为X经过中心化处理,即i=1∑mx(i)=0。线性变换后的数据i=1∑mz(i)=i=1∑mx(i)WT=0,仍保持中心化,因此变换后某点的方差为z(i)∗z(i)T。
可知,投影后各点的平方和为tr(ZZT)=tr(XWTWXT)
根据矩阵迹的交换律(见https://blog.****.net/guofei_fly/article/details/101690738),可进一步写为tr(WXTXWT)
至此,基于投影最大方差的问题可转化为如下最优化问题:−Wargmintr(WXTXWT)s.t. WWT=I
利用拉格朗日函数求解上述带等式约束的的最优化问题:
λ,Wargmintr(−WXTXWT+λ(WWT−I))
目标函数对W求导,可得当−2WXTX+2λW=0时,即XTXWT=λWT时,目标函数取最小值。
根据特征值和特征向量的定义,WT为XTX(即协方差矩阵)的特征向量,在此特征向量为基的超平面上,投影方差最大。
三、基于投影距离最近的推导
数据向量x(i)经线性变换后得到z(i),即z(i)=x(i)WT,注意到此时z(i)为在WT坐标系下的表示,若变换为在原始默认基(绝对坐标系下)的表示,则需写成z′(i)=x(i)WTW。
根据投影距离向量为原始向量和投影向量的差,可得:
Δx(i)=x(i)−x(i)WTW
所以,各点的投影距离之和可写成:
J=i=1∑m∣∣Δx(i)∣∣22=i=1∑m(x(i)−x(i)WTW)(x(i)−x(i)WTW)T=i=1∑m(x(i)−z(i)W)(x(i)T−WTz(i)T)=i=1∑mx(i)x(i)T−z(i)z(i)T=i=1∑mx(i)x(i)T−x(i)WTWx(i)T
欲求投影距离之和最小,即使得−i=1∑mx(i)WTWx(i)T最小,写成矩阵形式为tr(XWTWXT)
与基于投影最大方差的推导类似,最终得到带求解的带约束最优化问题:
−Wargmintr(WXTXWT)s.t. WWT=I
该式与基于投影最大方差的推导结果完全一样。
四、小结
根据上面的推导,PCA降维的主要流程为:
(1)将数据进行中心化处理;
(2)求协方差矩阵XTX的特征向量
(3)以上述特征向量为正交基,将数据投影到目标超平面上,即得到最终的降维结果。
值的注意的是,正如在矩阵的个人理解中所介绍的,矩阵的行/列(样本/特征)是可以*定义的。上述推导过程中是以特征维度的缩减作为目标的,得到更少的特征表达方式,所以被称之为主成分分析。同样的,我们可以以数据的缩减为目标,剔除多余的数据样本。两者都可行,且均有应用。