【正文】
相關(guān),這種特征未必具有明確的物理意義,但卻適合于分類。(1)將MN象素的人臉排成一列向量X:D=MN, D行1列(用D個(gè)像素點(diǎn)描述一張人臉存在大量的冗余像素點(diǎn),這個(gè)D正是需要降維的)。(3)構(gòu)造協(xié)方差矩陣,注意到S是個(gè)維的半正定實(shí)對(duì)稱方陣,并且它的秩(或非零特征根的個(gè)數(shù)),對(duì)S進(jìn)行對(duì)角化分解,根據(jù)上述原理,最大特征根對(duì)應(yīng)的特征矢量,抽取了S的最主要的成分(低頻信號(hào),包含了S最主要的信息),依次類推,最小的特征根對(duì)應(yīng)的特征矢量包含了S的最不重要成分(高頻信息)。同理E中第二大特征根所對(duì)應(yīng)的特征向量的第一個(gè)分量代表了矩陣S中第一行數(shù)據(jù)的第二重要成分(第二次要特征),該特征向量的第二個(gè)分量代表了矩陣S中第二行數(shù)據(jù)的第二重要成分(第二次要特征),依次類推。(4)再用這k個(gè)相互正交的D維特征矢量(E的前k列)作為一正交基張成一個(gè)大小為k的子空間T,即T=span{E1, E2, …, Ek}(請(qǐng)注意:空間T的維數(shù)仍然是D維,它是D維空間中的一個(gè)子空間,因?yàn)樗挥衚(kD)個(gè)矢量的全部線性組合矢量集構(gòu)成的空間,即T是一個(gè)Dk維的投影矩陣)。平均n張訓(xùn)練樣本的特征臉庫最終得到一類人臉的特征臉,存入特征臉樣本庫。4 程序分析人臉庫的采集參考代碼如下filelist=dir(39。)。for j=1:FileNum inFilename = filelist(j).name。 fa=fa(:)。 if mod(j,2) == 1 k=1。 end StuFaceLab(:,k,i)=double(fa)。%% face lab end, save to file 基于PCA的人臉識(shí)別load(39。)。tal=size(Iv,2)。ell=5。ellsample=5。t=1e7。 dita=1e7。lpp=NumTotalclass。polynomial=1。% step 1 KPCA %Itr=zeros(dim,ell,class)。 % end endIt=zeros(dim,ellsample,class)。 % end end% 倒入向量 Iv(dim,ell)% 樣本類數(shù) classImean=zeros(dim,1)。 endendImean=(1/(ell*class))*Imean。for classnum=1:class for num=1:ell Q(:,num+(classnum1)*ell)=Itr(:,num,classnum)Imean(:,1)。R=Q39。 % R39。d=pca。LM39。 % 求出 R 的eigenvector and eigenvalueWpca=zeros(dim,d)。end%% 程序至此得到了線形變換的矩陣 W .Iy=zeros(d,ell,class)。 Iy(:,num,classnum)=Wpca39。 endend% Tldalpp=zeros(d,ellsample,class)。*It(:,num,classnum)。% 算法性能測(cè)試%r=zeros(ellsample,ellsample)。Glda=zeros(class,ellsample, class)。 % X input sample vector % %以下為改進(jìn)算法, 求每個(gè)類的 Z1 的平均值 Iymean=zeros(dimension,class)。 end Iymean(:,classnum)=(1/ell)*Iymean(:,classnum)。 for classnum=1:class G2(1,classnum)=(X39。 end Glda(:,img,cl)=G239。 %得出最后的結(jié)果----------% for classnum=1:class if Sclass==G2(1,classnum) lastresult=classnum。% 如果正確,則置為 1;否則,保持不變?yōu)?; end rate=sum(CorrectMatrix)/(class*ellsample)。我們可以對(duì)新求出的“主元”向量的重要性進(jìn)行排序,根據(jù)需要取前面最重要的部分,將后面的維數(shù)省去,可以達(dá)到降維從而簡(jiǎn)化模型或是對(duì)數(shù)據(jù)進(jìn)行壓縮的效果。在彈簧振子的例子中,經(jīng)過PCA處理后的數(shù)據(jù)只剩下了一維,也就是彈簧運(yùn)動(dòng)的那一維,從而去除了冗余的變量,揭示了實(shí)驗(yàn)數(shù)據(jù)背后的物理原理。在PCA的計(jì)算過程中完全不需要人為的設(shè)定參數(shù)或是根據(jù)任何經(jīng)驗(yàn)?zāi)P蛯?duì)計(jì)算過程進(jìn)行干預(yù),最后的結(jié)果只與數(shù)據(jù)相關(guān),與用戶是獨(dú)立的。如果用戶對(duì)觀測(cè)對(duì)象有一定的先驗(yàn)知識(shí),掌握了數(shù)據(jù)的一些特征,卻無法通過參數(shù)化方法對(duì)處理過程進(jìn)行干預(yù),可能會(huì)得不到預(yù)期的效果,效率也不高。但是這顯然不是最優(yōu)和最簡(jiǎn)化的主元。根據(jù)先驗(yàn)知識(shí)可知旋轉(zhuǎn)角是最優(yōu)的主元。但是,如果加入了先驗(yàn)知識(shí),對(duì)數(shù)據(jù)進(jìn)行某種劃歸或變換(坐標(biāo)變換),就可以將數(shù)據(jù)轉(zhuǎn)化為以為線性的空間中。有時(shí)數(shù)據(jù)的分布并不滿足高斯分布。在這種非高斯分布的情況下,PCA方法得出的主元并不是最優(yōu)的,在尋找主元時(shí)不能將方差作為衡量重要性的標(biāo)準(zhǔn),要根據(jù)數(shù)據(jù)的分布情況選擇合適的能描述真實(shí)分布的變量,然后根據(jù)概率分布式來計(jì)算兩個(gè)向量上數(shù)據(jù)分布的相關(guān)性。圖3-8 原始數(shù)據(jù)的分布 與SVD的聯(lián)系PCA方法和線形代數(shù)中的奇異值分解(singular value deposition, SVD)方法有內(nèi)在的聯(lián)系,一定意義上來說,PCA的解法是SVD的一種變形和弱化。其中是一個(gè)的矩陣,是一個(gè)的矩陣,而是的對(duì)角陣。由簡(jiǎn)單推導(dǎo)可知,如果對(duì)奇異值分解加以約束:的向量必須正交,則矩陣即為PCA的特征值分解中的,則說明PCA并不一定需要求取,也可以直接對(duì)原數(shù)據(jù)矩陣進(jìn)行SVD即可得到特征向量矩陣,也就是