PCA人脸识别-通俗易懂的理解
2017年12月19日 星期二 | Deran Pan | panderan@163.com
1. 简介
PCA,即主成分分析。简单来说就是通过坐标系变换将位于原坐标系中的原数据变为在新坐标系下对应的新数据。通常这种变化伴随着数据维度的大幅降低,但是数据信息的损失较小。即减少不同维度之间的相关系,去除信息冗余,提取主成分的意思。
对于人脸图片识别来说,图片包含的信息量是十分巨大的。一张256*256分辨率的图像将每行像素收尾相接就会形成一个长度为65536大小的一维数组。换句话说一张256*256分辨率的图像拥有65536个维度。因此对于更高分辨率的图片更大的样本数量,如果不对数据降维则对如此巨大的数据进行处理在时间上就已经是不可取的。
2. 矩阵乘法的几何含义
先看下列式子:
Y⎡⎣⎢⎢⎢⎢c1c2⋮cn⎤⎦⎥⎥⎥⎥[20]=PX=⎡⎣⎢⎢⎢⎢⎢a11a21⋮am1a12a22⋮am2……⋱…a1na2n⋮amn⎤⎦⎥⎥⎥⎥⎥×⎡⎣⎢⎢⎢⎢b1b2⋮bn⎤⎦⎥⎥⎥⎥=[1−111]×[11](1) (1) Y = P X [ c 1 c 2 ⋮ c n ] = [ a 11 a 12 … a 1 n a 21 a 22 … a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 … a m n ] × [ b 1 b 2 ⋮ b n ] [ 2 0 ] = [ 1 1 − 1 1 ] × [ 1 1 ]
通常来讲一个矩阵乘以一个向量表示表示对这个向量伸缩旋转变换。例如上式所示向量 X=[1,1]T X = [ 1 , 1 ] T 经过矩阵相乘后就转变成向量 Y=[2,0]T Y = [ 2 , 0 ] T 了。但是当矩阵 P P 的每一行都是线性无关的向量时,那么矩阵 的所有横向量就可以作为一个新的坐标系的基向量。用它乘以一个其他向量就相当于将该向量的坐标转换为新坐标系下的新坐标,如图所示:
由于新基矩阵(黄色)维向量(横向量)的模长为 2–√ 2 ,所以新坐标系中的向量的模长也要比原向量长 2–√ 2 倍。
3. PCA降维的数学运算过程
通常样本表示的列向量,如下所示表示一个含有m维数据的样本:
x=[x1,x2,…,xm]T(2) (2) x = [ x 1 , x 2 , … , x m ] T
则原数据 X X 可以表示为如下:( 矩阵, n n 个样本,每个样本有 维数据)
X=⎡⎣⎢⎢⎢⎢⎢a11a21⋮am1a12a22⋮am2……⋱…a1na2n⋮amn