特征脸特征脸(Eigenface)理论基础之
主要为大家详细介绍了特征脸理论基础之PCA主成分分析法,具有一定的参考价值,感兴趣的小伙伴们可以参
考一下
理论基础之PCA主成分分析法
主成分分析法
在之前的博客 人脸识别经典算法一:特征脸方法(Eigenface)里面介绍了特征脸方法的原理,但是并没有对它用到的理论基
础PCA做介绍,现在做补充。请将这两篇博文结合起来阅读。以下内容大部分参考自斯坦福机器学习课程:
http://cs229.stanford.edu/materials.html
假设我们有一个关于机动车属性的数据集{x(i);i=1,...,m}(m代表机动车的属性个数),例如最大速度,最大转弯半径等。假设
x(i)本质上是n维的空间的一个元素,其中n<
下图中,星号代表数据,原点代表数据在单位向量u上的投影(|x||u|cosΘ)
从上图可以看到,投影得到的数据仍然有很大的方差,而且投影点离原点很远。如果采取与上图u垂直的方向,则可以得到下
图:
这里得到的投影方差比较小,而且离原点也更近。
上述u的方向只是感性的选择出来的,为了将选择u的步骤正式确定下来,可以假定在给定单位向量u和数据点x的情况下,投
影的长度是xTu。举个例子,如果x(i)是数据集中的一个点(上图中的一个星号),那它在u上的投影xTu就是圆点到原点的距离
(是标量哦)。所以,为了最大化投影的方差,我们需要选择一个单位向量u来最大化下式:
明显,按照||u||2=1(确保u是单位向量)来最大化上式就是求
据集的协方差矩阵。
的主特征向量。而
其实是数
做个总结,如果我们要找数据集分布的一维子空间(就是将m维的数据用一维数据来表示),我们要选择协方差矩阵的主特征
向量。推广之,如果要找k维的子空间,那就应该选择协方差矩阵的k个特征向量u1,u2,...,uk。ui(i=1,2,...,k)就是用来表征数据
集的新坐标系。
为了在u1,u2,...,uk的基础上表示x(i),我们只需要计算
其中x(i)是属于n维空间的向量,而y(i)给出了基于k维空间的表示。因此说,PCA是一个数据降维算法。u1,u2,...,uk称为数据的
k个主成分。
介绍到这里,还需要注意一些为题:
介绍到这里,还需要注意一些为题:
1、为什么u要选择单位向量
选择单位向量是为了统一表示数据,不选成单位的也可以,但各个向量长度必须统一,比如统一长度为2、3等等。
2、各个u要相互正交
如果u不正交,那么在各个u上的投影将含有冗余成分
2、为什么要最大化投影的方差
举个例子,如果在某个u上的投影方差为0,那这个u显然无法表示原数据,降维就没有意义了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。