PCA(Principal Components Analysis) 数据降维的一种方法。
前言-构建矩阵
例,人脸识别。将每张图片的所有像素看作一个矩阵。一张MxN的图片表示为1xMN行向量。
训练
1.去均值
对每维求均值后用sample(MxN)减去均值。
2.协方差矩阵
对adjust_sample(sample - mean)求协方差矩阵,得特征值与对应特征向量。
3.将特征值降序排列取K个特征向量
取前K个特征值对应的特征向量,得NxK维矩阵。
4.得投影空间
用adjust_sample * [NxK]维特征向量,得降维后的投影空间eig_space,作为已知数据。
此时eig_space即为降维后的原数据,即原数据在NxK上的投影。
此处也是PCA识别上的最大限制。
识别
一未知图像unknown
1.(unknown - mean) * NxK得一投影空间omega
2.用该oemga与eig_space每一个向量求欧式距离,最小的即为结果。
不难看出,识别上PCA必须基于样本数据的积累。一旦识别新样本,则原始数据便起不到任何作用了。