降维
在机器学习中,数据通常需要被表示成向量形式以输入模型进行训练,有时这些向量所处在高维空间,包含很多冗余和噪声,对这样的向量进行处理和分析会极大地消耗系统资源,甚至产生维度灾难。因此,进行降维,即用一个低维度的向量表示原始高维度的特征就显得极其重要。我们希望通过降维的方式来寻找数据内部的特性,从而提升特征表达能力,降低训练复杂度。常见的降维方法有主成分分析、线性判别分析、等距映射、局部线性嵌入、拉普拉斯特征映射、局部保留投影等。
一 PCA最大方差理论
PCA(Principal Components Analysis),即主成分分析,是一种线性、非监督、全局的降维算法,旨在找到数据中的主成分,并利用这些主成分表征原始数据,从而达到降维的目的。
1、如何定义主成分
举个简单的例子,在三维空间中有一系列数据点,这些点分布在一个过原点的平面上。如果用自然坐标系 x , y , z x,y,z x,y,z三个轴来表示数据,就需要使用三个维度。而实际上,这些点只出现在一个二维平面上,如果通过坐标系旋转变换使得数据所在平面与 x , y x,y x,y平面重合,那么就可以通过 x ′ , y ′ x',y' x′,y′两个维度表达原始数据,且没有任何损失,这样就完成了降维,而 x ′ , y ′ x',y' x′,y′两个轴所包含的信息就是我们要的主成分。
2、如何设计目标函数使得降维达到提取主成分的目的
下图(a)所示为二维空间中经过中心化的一组数据,可以很容易看出主成分所在的轴(以下简称主轴)是图(b)中的黄线所处的轴。因为黄线所处的轴上数据分布更为分散,也就意味着数据在这个方向上方差更大。
在信号处理领域,我们认为信号具有较大方差,噪声具有较小方差,信号与噪声之比称为信噪比。信噪比越大意味着数据质量越好,反之亦然。由此我们可以引出PCA的目标,即最大化投影方差,也就是数据在主轴上投影的方差最大。
3、PCA的求解方法
(1)对样本数据进行中心化处理(即去均值)。
(2)求样本协方差矩阵。
(3)对协方差矩阵进行特征值分解,将特征值从大到小排列。
(4)取特征值前 d d d大对应的特征向量 w 1 , w 2 , . . . , w d w_1,w_2,...,w_d w1,w2,...,wd,通过以下映射将 n n n维样本映射到 d d d维
新的 x i ′ x_i^{'} xi′的第 d d d维就是 x i x_i