PCA算法及其在人脸识别上的应用

来源:互联网 发布:js的本地对象 编辑:程序博客网 时间:2024/05/22 05:19

PCA,也即主成份分析,主要用于特征的降维。

高维数据中包含了大量的冗余并隐藏了重要关系的相关性,降维的目的就是消除冗余,减少被处理数据的数量。

PCA其实就是寻找最小均方意义下,最能代表原始数据的投影方法。


基于PCA的人脸识别步骤:

假设有n幅人脸图像(100*100),也即样本大小为n,这n个样本分属c类,也即c个人。

为第i个样本,它是10000维的列向量,假设要将这10000维的列向量降维到k=99维。

① 分别将每幅图像数据依次按列头尾相连生成列向量;

② 计算训练样本协方差矩阵:

       

 u为所有样本(n个)的均值,是一个10000维的列向量。

③ 求解协方差矩阵的特征根

                 ;

④ 获得投影矩阵W:

如果要投影到k维的空间,只需要选出k个最大的特征值对应的特征向量组成投影矩阵W:

 ,W为10000*k。

⑤ 将训练样本中的每个样本通过变换矩阵W投影到低维空间,投影后的向量y:,y为k*1;

⑥ 将测试样本通过变换矩阵W投影到低维空间:,利用欧式距离下的最近邻分类器进行分类识别。


PCA的缺点:PCA将所有的样本作为一个整体对待,去寻找一个均方误差最小意义下的投影矩阵,而忽略了类别属性,而它所忽略的投影方向有可能刚好包含了重要的可分性信息。


2 0
原创粉丝点击