房 菲,趙犁豐
(中國海洋大學(xué) 山東 青島 266100)
支持向量機(Support Vector Machine,SVM)[1]是由Vapnik等人在統(tǒng)計學(xué)習(xí)理論的基礎(chǔ)之上發(fā)提出的一種新型機器學(xué)習(xí)方法,解決了傳統(tǒng)學(xué)習(xí)方法中的“維數(shù)問題”,對樣本依賴小,其解全局最優(yōu)且泛化能力強,在解決非線性、有限樣本、回歸估計和高維的分類等問題中表現(xiàn)出特有的優(yōu)勢,并且不存在局部最小點問題,解決了神經(jīng)網(wǎng)絡(luò)等機器學(xué)習(xí)問題涉及到的過學(xué)習(xí)、局部最小點等問題。支持向量機現(xiàn)已被廣泛應(yīng)用于模式識別和預(yù)測的領(lǐng)域。
利用支持向量機實現(xiàn)分類,首先要從原始空間中抽取特征,將原始空間中的樣本映射為高維特征空間中的一個向量,以解決原始空間中線性不可分的問題,因此,SVM可以處理線性不可分的問題。SVM能夠推廣到函數(shù)擬合等其它機器學(xué)習(xí)問題中,所以將其作為人臉特征分類器是也是一種合理的選擇。但是,在實際應(yīng)用中,支持向量機的泛化性能取決于其核函數(shù)的類型、核函數(shù)的參數(shù)以及懲罰系數(shù)C。所以,核函數(shù)的選取成為SVM的技術(shù)關(guān)鍵。
人臉識別(Face Recognition)是利用計算機對人臉圖像進行特征提取和識別的模式識別技術(shù)[2-4]。人臉是非剛體,形變大,而且光照、年齡、毛發(fā)等因素使得人臉模式具有很強的高維非線性特性,在實際條件下通常不能采集到大量的圖像樣本,這決定了人臉識別是小樣本、非線性、高維問題。所以,基于SVM的人臉識別算法具有很好的特性。本文主要討論支持向量機的多項式核函數(shù)和高斯核函數(shù)及二者構(gòu)成的混合核函數(shù)的參數(shù)尋優(yōu)和對應(yīng)的識別率,通過對比仿真實驗證明混合核函數(shù)在人臉識別中具有較高的識別率。
SVM方法是在統(tǒng)計學(xué)習(xí)理論之上的一種機器學(xué)習(xí)方法,它建立在VC理論和結(jié)構(gòu)風(fēng)險最小化原理基礎(chǔ)上,根據(jù)有限樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求最佳折中,以期獲得更好的泛化能力。用SVM算法來估計回歸函數(shù)時,其基本思想就是通過一個非線性映射φ,把輸入空間的數(shù)據(jù)x映射到一個高維特征空間中,然后在這一高維空間中作線性回歸,使得不僅能夠把兩類分開,而且使兩類的分類間隔最大。
設(shè)樣本集為G={(xi,yi)},i=1,…,n,其中,x∈Rn是輸入向量,對于二分類問題,y∈{-1,1},約束條件:
這樣,(w,b)定義了一個超平面,此時的分類間隔為2/‖w‖2。當(dāng)此間隔最大等價于最小化‖w‖2/2,同時滿足上述約束條件,則體現(xiàn)了SVM最大間隔的思想。
由最佳(w,b)問題歸結(jié)出的二次規(guī)劃問題可由Lagrange方法求解,函數(shù)如下:
其中,αi為每個樣本對應(yīng)的Lagrange乘子。將上式分別w,b求偏微分,可得:
對于非線性問題,可以通過非線性變換轉(zhuǎn)化為某個高維空間中的線性問題,在變換空間中求得最優(yōu)分類面,支持向量機對于此類的非線性變換,采用核函數(shù)的思想來實現(xiàn)高維空間的點積。式(7)中K(x,xi)稱為核函數(shù),核函數(shù)的值等于兩個向量x和xi,在其特征空間φ(x)和φ(xi)中的內(nèi)積。任何函數(shù)只要滿足Mercer條件[5]都可用做核函數(shù),采用不同的函數(shù)作為核函數(shù),可以構(gòu)造實現(xiàn)輸入空間中不同類型的非線性決策面的學(xué)習(xí)機器。
核函數(shù)的引入使SVM得以實用化,因為它避免了顯示高維空間中向量內(nèi)積而造成的大量運算。目前研究最多的核函數(shù)主要有4種:
1)高斯核函數(shù)
高斯核函數(shù)又稱為高斯徑向基核函數(shù)。由于其特征空間為無限維的特點,理論上任何分類數(shù)據(jù)集總能用高斯核來區(qū)分。也正是該原因,高斯核為支持向量機中應(yīng)用最廣泛的核函數(shù)。
2)多項式核函數(shù)
當(dāng)λ>0時稱為非齊次多項式核函數(shù);當(dāng)λ=0時為齊次多項式核函數(shù)。多項式核函數(shù)的實質(zhì)是衍生多項式核函數(shù)的一種特殊情況。
3)Sigmoid核函數(shù)
4)傅立葉核函數(shù)
文中主要介紹高斯核函數(shù)、多項式核函數(shù)及二者構(gòu)成的混合核函數(shù)。
在支持向量機中,通常所選的核函數(shù)必須滿足Mercer條件。核函數(shù)的類型有許多,歸結(jié)起來,核函數(shù)有兩種主要類型,即:局部性核函數(shù)和全局性核函數(shù)。局部性核函數(shù)插值能力較強,比較善于提取樣本的局部特性,因此,僅僅在測試點附近小領(lǐng)域類對數(shù)據(jù)點有影響。高斯核函數(shù)屬于典型的局部核函數(shù)。相對局部核函數(shù)而言,全局核函數(shù)是一種插值能力較弱,善于提取樣本全局特性的函數(shù)。多項式核函數(shù)就是一種全局核函數(shù)。
因為局部性核函數(shù)學(xué)習(xí)能力強、泛化性能較弱,而全局性核函數(shù)泛化性能強、學(xué)習(xí)能力較弱,因此考慮把這兩類核函數(shù)混合起來構(gòu)成混合核函數(shù)[6]:
其中,Kgauss(x,xi)表示高斯核函數(shù),Kpoly(x,xi)表示多項式核函數(shù)。當(dāng)m=0時,混合核函數(shù)退化為多項式核函數(shù),當(dāng)m=1時,混合核函數(shù)退化為高斯核函數(shù)。
本文實驗數(shù)據(jù)來自MIT-CBCL人臉數(shù)據(jù)庫,實驗在MATLAB 7.1平臺下編寫了基于主成分分析法 (PCA)[7]和SVM的人臉識別系統(tǒng),并結(jié)合libsvm工具包進行實驗[8]。實驗步驟如下:
1)采集人臉圖像,選取訓(xùn)練樣本和測試樣本;
2)采用主成分分析法對訓(xùn)練樣本進行特征提取,同時達到降維的目的;
3)將人臉特征向量作為SVM分類器的輸入,利用參數(shù)優(yōu)化后的SVM分類器并進行訓(xùn)練;
4)測試樣本進入SVM分類器中進行分類識別。
以高斯核函數(shù)為例,設(shè)參數(shù)gamma=21σ2,對參數(shù)gamma和懲罰系數(shù)C進行參數(shù)優(yōu)化,得到在gamma=0.1,C=10的條件下,人臉識別率最高達到86%。
本文采用了多項式核函數(shù)、高斯核函數(shù)和混合核函數(shù)構(gòu)成的3種分類器進行實驗,通過參數(shù)優(yōu)化得到了最優(yōu)參數(shù)和對應(yīng)的最佳識別率如表1所示。從實驗數(shù)據(jù)中可以看出,高斯核函數(shù)的訓(xùn)練速度和識別率明顯優(yōu)于多項式核函數(shù)。混合核函數(shù)插值能力較強,并善于提取樣本的全局特性,使得其在人臉識別中的取得了更高的識別率,證明了混合核函數(shù)比其他單核函數(shù)具有優(yōu)越性。
表1 3種分類器對應(yīng)的最優(yōu)參數(shù)和識別率Tab.1 Optimal parameters of three classifiers
圖1 參數(shù)優(yōu)化結(jié)果3D視圖Fig.1 3D view of parameters optimization
圖2 參數(shù)優(yōu)化結(jié)果等高線視圖Fig.2 Contour map of parameters optimization
本文主要采用單核和混合核函數(shù)SVM方法進行人臉識別研究,將學(xué)習(xí)能力強、泛化能力弱的局部性核函數(shù)與泛化能力強、學(xué)習(xí)能力弱的全局性核函數(shù)結(jié)合起來構(gòu)成了混合核函數(shù),并將SVM推廣到人臉識別中這一典型的多分類問題中,通過仿真實驗證明了混合核函數(shù)支持向量機在解決小樣本及多分類問題上的優(yōu)越性。
[1]VAPNIK V N.The nature of statistical learning theory[M].New York:Springer Verlag,1995:4-80.
[2]Yang M H,Kriegman D and Senior A N.Detecting faces in images:a survey[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(1):34-58.
[3]劉向東,陳兆乾.基于支持向量機方法的人臉識別研究[J].小型微型計算機系統(tǒng),2004,25(12):2261-2263.LIU Xiang-dong,Chen Zhao-qian.Face recognition based on support vector machines[J].Mini-Micro Systems,2004,25(12):2261-2263.
[4]Bledsoe W.Man-machine facial recognition[R].Panoramic Research Inc.Palo Alto,CA,1966:22.
[5]鄧乃揚,田英杰.數(shù)據(jù)挖掘中的新方法支持向量機[M].北京:科學(xué)出版社,2004.
[6]ZHANG Sheng,LIU Jian,TIAN Jin-wen.A SVM-based small target segmentation and clustering approach[C]//Proceedings of the Third International Conference on Machine Learning and Cybernetics,Shanghai:IEEE,2004:3318-3323.
[7]Turk M,Pentland A.Eigenfaces for Recognition[J].Cognitive Neuroscience J.1991,3(1):71-86.
[8]libsvm-3.1-FarutoUltimate3.1Mcode[EB/OL].http://www.matlabsky.com/thread-17936-1-1.html.