写这个程序是老师布置的作业。一个莫名其妙的机会选了一个莫名其妙的课,于是写了与自己关系不大的人工智能的人脸识别的程序。这里给自己记录一下,估计这个学习都要和这个方面的打交道了。
Part 1:程序流程简介
这个程序是典型的。在已有资源中使用一部分做训练集,找到一个合适的模型或者结论,然后用剩下的部分来测试自己的结论的正确度,进而一步步提高自己的算法效率或者正确性等。
所以,在这次的程序中,前半部分是训练部分,中间有几段是画图部分,后面部分是测试部分。
Part 2:数据库和PCA算法简介
数据库使用的是Yale的人脸数据库。一共15组图片,每组图片里面有11张图片。在我的程序里面,我使用了每组里面的8张照片为训练集,剩下的3张为测试集。所以,一共是120张训练照片,45张测试照片。
PCA算法步骤:
1.Matrix X (input data) N dimensional input space
即原始矩阵
2.Matrix QX (Covariance of X) QX = cov(X) = E[(x-m)(x-m)T]
求出X的协方差矩阵QX
3.Valuable λk(eigenvalue of QX) λ1≥λ2≥λ3。。。
求出特征值,降