前言
主成分分析(Principal component analysis,PCA)是一种常用的无监督学习算法。经过PCA后的数据会在它所处理的维度上会不相关(decorelation)。 而PCA所选的维度又通常比本来的维度要小,因此也可以用来做降维处理。
PCA
PCA的想法很朴素。它试图找到一个线性变化W,使得经过变化后的向量z=Wx
在各个维度z_i
上都拥有最大的方差。
Constraints
仅仅要求方差最大而不做任何限制是不行的。我们总是可以让w_i
含有无穷从而使方差变为无穷大,但这没有意义。
因此限制w_i
的模是1。
同样的,当找出使得第i维的方差最大的参数w_i
后,机器可以把这组参数w_i
用在第j维上来“偷懒”,因此限制任意的参数是垂直的。
Dimension reduction
to 1 dimension
先考虑一维的情况。
构造拉格朗日函数,其中S=Cov(x),
带回到上式
α
的最大值,即是Cov(x)最大的特征值。此时的w1'
为α
对应的特征向量
对于二元的情况也类似
to 2 dimensions
拉格朗日函数
而
所以系数拉格朗日函数的只剩下β
.
β
的最大值,即是Cov(x)第二大的特征值。此时的w2'
为β
对应的特征向量
to k dimensions
把PCA推广到k维,则W
是Cov(X)
的最大的k个特征值所对应的特征向量的行矩阵。
Decorelation
PCA处理后的z矩阵的各个维度之间是没有相互关系的。
将W展开,
因此
协方差矩阵为对角阵,所以不同分量之间没有线性的相关性。