我们现在讨论PCA的另一种形式,基于误差最小化的投影。为了完成这一点,我们引入D维基向量的一个完整的单位正交集合{ui},其中i=1,...,D,且满足
uTiuj=δij
由于基是完整的,因此每个数据点可以精确地表示为基向量的一个线性组合,即
xn=D∑i=1αniui
其中,系数αni对于不同的数据点来说是不同的。这对应于将坐标系旋转到了一个由{ui}定义的新坐标系,原始的D个分量{xn1|,...,xnD}被替换为一个等价的集合{αn1,...,αnD}。与uj做内积,然后使用单位正交性质,我们有αnj=xTnuj,因此不失一般性,我们有
xn=D∑i=1(xTnui)ui
然而,我们的目标是使用限定数量M<D个变量的一种表示方法来近似数据点,这对应于在低维子空间上的一个投影。不失一般性,M维线性子空间可以用前M个基向量表示,因此我们可以用下式来近似每个数据点xn
˜xn=M∑i=1zniui+D∑i=M+1biui
其中{zni}依赖于特定的数据点,而{bi}是常数,对于所有数据点都相同。我们可以任意选择{ui},{zni}和{bi},从而最小化由维度降低所引入的失真。作为失真的度量,我们使用原始数据点与它的近似点˜xn之间的平方距离,在数据集上取平均。因此我们的目标是最小化
J=1NN∑n=1∥xn−˜xn∥2
首先考虑关于{zni}的最小化。消去˜xn令它关于tnj的导数为0,然后使用单位正交的条件,我们有
znj=xTnuj
其中j=1,...,M。类似的,令J关于bi的导数等于0,再次使用单位正交的关系得到
bj=ˉxTuj
其中j=M+1,...,D。如果我们消去(12.10)中的zni和bi,使用一般的展开式(12.9),得到
xn−˜xn=D∑i=M+1{(xn−ˉx)Tui}ui
从中我们看到,从xn到˜xn的位移向量位于与主子空间垂直的空间中,因为它是{ui}的线性组合,其中i=M+1,...,D,如图12.2所示。这与预期相符,因为投影点˜xn一定位于主子空间内,但是我们可以在那个子空间内自由移动投影点,因此最小的误差由正交投影给出。
于是,我们得到了失真度量J的表达式,它是一个纯粹的关于{ui}的函数,形式为
J=1NN∑n=1D∑i=M+1(xTnui−ˉxTui)2=D∑i=M+1uTiSui
剩下的任务是关于{ui}对J进行最小化,这必须是具有限制条件的最小化,因为如果不这样,我们会得到ui=0这一没有意义的结果。限制来自于单位正交条件,并且正如我们将看到的那样,解可以表示为协方差矩阵的特征向量展开式。在考虑一个形式化的解之前,让我们试着直观地考察一下这个结果。考虑二维数据空间D=2以及一维主子空间M=1的情形。我们必须选择一个方向u2来最小化J=uT2Su2,同时满足限制条件uT2u2=1。使用拉格朗日乘数λ2来强制满足这个限制,我们考虑最小化
˜J=uT2Su2+λ2(1−uT2u2)
令关于u2的导数等于0,我们有Su2=λ2u2,从而u2是S的一个特征向量,且特征值为λ2。因此任何特征向量都会定义失真度量的一个驻点。为了找到J在最小值点处的值,我们将u2的解代回到失真度量中,得到J=λ2。于是,我们通过将u2选择为对应于两个特征值中较小的那个特征值的特征向量,可以得到J的最小值。因此,我们应该将主子空间与具有较大的特征值的特征向量对齐。这个结果与我们的直觉相符,即为了最小化平均平方投影距离,我们应该将主成分子空间选为穿过数据点的均值并且与最大方差的方向对齐。对于特征值相等的情形,任何主方向的选择都会得到同样的J值。
对于任意的D和任意的M<D,最小化J的一般解都可以通过将{ui}选择为协方差矩阵的特征向量的方式得到,即
Sui=λiui
其中i=1,...,D,并且与平常一样,特征向量{ui}被选为单位正交的。失真度量的对应的值为
J=D∑i=M+1λi
这就是与主子空间正交的特征值的加和。于是,我们可以通过将这些特征向量选择成D−M个最小的特征值对应的特征向量,来得到J的最小值,因此定义了主子空间的特征向量是对应于M个最大特征值的特征向量。
虽然我们已经考虑了M<D的情形,但是PCA对于M=D的情形仍然成立,这种情况下没有维度的降低,仅仅是将坐标轴旋转,与主成分对齐即可。
最后,值得注意的时,存在一个与此密切相关的线性维度降低的方法,被称为典型相关分析(canonical correlation analysis),或 CCA(Hotelling, 1936; Bach and Jordan, 2002)。PCA操作的对象是一个随机变量,而CCA考虑两个(或更多)的变量,并试图找到具有较高的交叉相关性的线性子空间对,从而在一个子空间中的每个分量都与另一个子空间的一个分量具有相关性。它的解可以表示为一般的特征向量问题。