首先解释下什么是降维:
PCA旨在找到数据中的主成分,并利用这些主成分表征原始数据,从而达到降维的目的。举一个简单的例子,在三维空间中有一系列数据点,这些点分布在一个过原点的平面上。如果我们用自然坐标系x,y,z三个轴来表示数据,就需要使用三个维度。而实际上,这些点只出现在一个二维平面上,如果我们通过坐标系旋转变换使得数据所在平面与x,y平面重合,那么我们就可以通过x’,y’两个维度表达原始数据,并且没有任何损失,这样就完成了数据的降维。而x,y两个轴所包含的信息就是我们要找到的主成分。
但在高维空间中,我们往往不能像刚才这样直观地想象出数据的分布形式,也就更难精确地找到主成分对应的轴是哪些。不妨,我们先从最简单的二维数据来看看PCA究竟是如何工作的,如图4.1所示。)
图4.1(a)是二维空间中经过中心化的一组数据,我们很容易看出主成分所在的轴(以下称为主轴)的大致方向,即图4.1(b)中黄线所处的轴。因为在黄线所处的轴上,数据分布得更为分散,这也意味着数据在这个方向上方差更大。在信号处理领域,我们认为信号具有较大方差,噪声具有较小方差,信号与噪声之比称为信噪比。信噪比越大意味着数据的质量越好,反之,信噪比越小意味着数据的质量越差。由此我们不难引出PCA的目标,即最大化投影方差,也就是让数据在主轴上投影的方差最大。
对于给定的一组数据点{,,,,…},其中所有向量均为列向量,中心化后的表示为:{,,,,…},其中u= 。我们知道,向量内积在几何上表示一个向量在另一个向量上投影的长度。因此在w上的投影坐标可以表示为(,w)=w。所以目标是找到一个投影方向w,使得(,,,,…)在w上投影方差尽可能大。容易得知投影之后,均值为0,因为
u’=KaTeX parse error: Double superscript at position 19: …m_{i=1}^{n} x^T^̲w = =0,这也是我们中心化的意义。
投影后的方差表示为:
D(x)=