数据挖掘—LDA,PCA特征提取降维与SVM多分类在人脸识别中的应用-数据集ORL

下载地址:https://github.com/13952522076/ORL3
下载时麻烦给个小星星,谢谢!尊重别人辛勤劳动哈。


@vision 3

@author:马旭
@tel:13952522076
@email:[email protected]


执行:执行predict.m文件;
结果:时间一般为0.2秒左右,正确率100%;(因为测试集比较少)




预处理数据preprocess:
  这个过程是首先将样本通过PCA降维提取信息,然后将降维后的样本通过LDA降维,分类为15类,所以降维后维数不能高于(15-1)类。这里降维到13维。


训练多分类multi:
  这里使用的是Maltas自带的svm。我们做的是one-vs-rest。将样本类别拆为第一类和其他类,第二类和其他类。。。
假若有n类样本,那么分类器既有n-1个。将分类器放入数组中,循环判别。


测试predict:
  我这里在one-vs-rest时,将1作为某一类,-1作为其他类,然后分类。这样每一个分类器分类对样本训练就会得到一个矩阵(大小应该为 样本个数X分类器个数),最后一列添加1向量。判断第几个出现1就是第几类。 这样做的目的是为了减少每个判断时候的for循环,防止嵌套for循环,提高运行速度。

你可能感兴趣的:(数据挖掘)