PCA算法简述

来源:互联网 发布:淘宝主图图片尺寸 编辑:程序博客网 时间:2024/06/05 17:39

PCA算法的步骤:

1 获取初始数据矩阵;

假如以10幅不同人脸的图片为训练样本,每幅图片为10*10的矩阵,那么把每幅图片变成一个1*100的向量,把10幅图片合成一个矩阵,就得到了一个10*100的矩阵,在这个新得到的矩阵中,每一行数据代表一个样本,每一列数据代表一个维度。此时的数据命名为X。

假设X是一个M行N列的向量,代表M个样本,每个样本是N维。


2 对矩阵进行减去平均值的调整;

计算每个维度中M个样本的下平均值,得到一个N维的向量,让X矩阵中的每个样本都减去这个均值向量。得到的矩阵称为Y。


3 计算协方差矩阵;

计算公式为cov(X)=YY*。其中Y“是Y的转置。

4 计算协方差矩阵的特征值与特征向量;

5 选取主成分;

将得到的特征值按大到小排列,特征向量做同样的排列,选取部分的特征值,要求这些特征值的和占所有特征值的和的90%以上。假设选择了K个特征向量,将这些特征值对应的特征向量写成一个新的矩阵,这些向量是列向量。此时这个新的矩阵是N*K的矩阵。命名这个新矩阵为Z。

6 生成特征矩阵。

将每个原始数据中的样本,在减去均值调整后,与Y相乘,得到这个样本对应的新的特征,这个新特征的的维度为K,比原来的维度N要小,这样达到的降维目的。将所有的样本都进行这样的运算。

W=Z*X*。即Z矩阵的轩置与X矩阵的转置相乘。


0 0
原创粉丝点击