PCA算法提供了一种压缩数据的方式。我们也可以将PCA视为学习数据表示的无监督学习算法。这种表示基于上述简单表示的两个标准。PCA学习一种比原始输入维数更低的表示。它也学会了一种元素之间彼此没有线性相关的表示。这是学习表示中元素统计独立标准的第一步。要实现完全独立性,表示学习算法也必须去掉变量间的非线性关系。
假设有一个m \times n 的设计矩阵X,数据的均值为零,E[x]=0 。若非如此,通过预处理地步骤使所有样本减去均值,数据就可以很容易的中心化。X对应的无偏样本协方差矩阵给定义如下
\operatorname{Var}[x]=\frac{1}{m-1} X^{T} X
PCA通过线性变换找到一个Var[z]是对角矩阵的表示z=W^{T} x 。
我们已知设计矩阵X的主成分由X^{T} X 的特征向量给定。从这个角度,我们有X^{T} X=W \Lambda W^{T} 主成分分析也可以通过奇异值分解(SVD)得到。具体来说,它们是X的右奇异向量。为了说明这点,假设W是奇异值分级X=U \Sigma W^{T} 的右奇异向量。以W作为特征向量基,我么可以得到原来的特征向量方程:
X^{T} X=\left(U \Sigma W^{T}\right)^{T} U \Sigma W^{T}=W \Sigma^{2} W^{T}
SVD有助于说明PCA后的\operatorname{Var}|z| 是对角的。使用X的SVD分解,X的方差可以表示为:
\begin{aligned} & \operatorname{Var}[x]=\frac{1}{m-1} X^{T} X \\ =& \frac{1}{m-1}\left(U \Sigma W^{T}\right)^{T} U \Sigma W^{T} \\ =& \frac{1}{m-1} W \Sigma^{T} U^{T} U \Sigma W^{T} \\ =& \frac{1}{m-1} W \Sigma^{2} W^{T} \end{aligned}
其中,我们使用U^{T} U=I ,因为根据奇异值的定义矩阵U是正交的。这表明z的协方差满足对角矩阵的要求:
\begin{aligned} & \operatorname{Var}[z]=\frac{1}{m-1} Z^{T} Z \\ =& \frac{1}{m-1} W^{T} X^{T} X W \\ =& \frac{1}{m-1} W^{T} W \Sigma^{2} W^{T} W \\ =& \frac{1}{m-1} \Sigma^{2} \end{aligned}
其中,再次使用SVD的定义有W^{T} W=I 。
以上分析指明我们通过线性变换W将数据x投射到z时,得到的数据表示的协方差矩阵是对角的(即\Sigma^{2} ),立刻可得z中的元素时彼此无关的。PCA这种将数据变换为元素之间彼此不相关表示的能力时PCA的一个重要性质。它是消除数据中未知变化因素的简单表示示例。在PCA中,这个消除是通过寻找输入空间的一个旋转(由W确定),使得方差的主坐标和z相关的新表示空间的基对齐。虽然先关性是数据元素之间依赖关系的一个重要范畴,但我们对于能够消除更复杂形式的特征依赖的表示学习也很感兴趣。对此,我们需要比简单线性变换更强的工具。