房 菲,趙犁豐
(中國海洋大學 山東 青島 266100)
支持向量機(Support Vector Machine,SVM)[1]是由Vapnik等人在統計學習理論的基礎之上發提出的一種新型機器學習方法,解決了傳統學習方法中的“維數問題”,對樣本依賴小,其解全局最優且泛化能力強,在解決非線性、有限樣本、回歸估計和高維的分類等問題中表現出特有的優勢,并且不存在局部最小點問題,解決了神經網絡等機器學習問題涉及到的過學習、局部最小點等問題。支持向量機現已被廣泛應用于模式識別和預測的領域。
利用支持向量機實現分類,首先要從原始空間中抽取特征,將原始空間中的樣本映射為高維特征空間中的一個向量,以解決原始空間中線性不可分的問題,因此,SVM可以處理線性不可分的問題。SVM能夠推廣到函數擬合等其它機器學習問題中,所以將其作為人臉特征分類器是也是一種合理的選擇。但是,在實際應用中,支持向量機的泛化性能取決于其核函數的類型、核函數的參數以及懲罰系數C。所以,核函數的選取成為SVM的技術關鍵。
人臉識別(Face Recognition)是利用計算機對人臉圖像進行特征提取和識別的模式識別技術[2-4]。人臉是非剛體,形變大,而且光照、年齡、毛發等因素使得人臉模式具有很強的高維非線性特性,在實際條件下通常不能采集到大量的圖像樣本,這決定了人臉識別是小樣本、非線性、高維問題。所以,基于SVM的人臉識別算法具有很好的特性。本文主要討論支持向量機的多項式核函數和高斯核函數及二者構成的混合核函數的參數尋優和對應的識別率,通過對比仿真實驗證明混合核函數在人臉識別中具有較高的識別率。
SVM方法是在統計學習理論之上的一種機器學習方法,它建立在VC理論和結構風險最小化原理基礎上,根據有限樣本信息在模型的復雜性和學習能力之間尋求最佳折中,以期獲得更好的泛化能力。用SVM算法來估計回歸函數時,其基本思想就是通過一個非線性映射φ,把輸入空間的數據x映射到一個高維特征空間中,然后在這一高維空間中作線性回歸,使得不僅能夠把兩類分開,而且使兩類的分類間隔最大。
設樣本集為G={(xi,yi)},i=1,…,n,其中,x∈Rn是輸入向量,對于二分類問題,y∈{-1,1},約束條件:

這樣,(w,b)定義了一個超平面,此時的分類間隔為2/‖w‖2。當此間隔最大等價于最小化‖w‖2/2,同時滿足上述約束條件,則體現了SVM最大間隔的思想。
由最佳(w,b)問題歸結出的二次規劃問題可由Lagrange方法求解,函數如下:

其中,αi為每個樣本對應的Lagrange乘子。將上式分別w,b求偏微分,可得:

對于非線性問題,可以通過非線性變換轉化為某個高維空間中的線性問題,在變換空間中求得最優分類面,支持向量機對于此類的非線性變換,采用核函數的思想來實現高維空間的點積。式(7)中K(x,xi)稱為核函數,核函數的值等于兩個向量x和xi,在其特征空間φ(x)和φ(xi)中的內積。任何函數只要滿足Mercer條件[5]都可用做核函數,采用不同的函數作為核函數,可以構造實現輸入空間中不同類型的非線性決策面的學習機器。
核函數的引入使SVM得以實用化,因為它避免了顯示高維空間中向量內積而造成的大量運算。目前研究最多的核函數主要有4種:
1)高斯核函數

高斯核函數又稱為高斯徑向基核函數。由于其特征空間為無限維的特點,理論上任何分類數據集總能用高斯核來區分。也正是該原因,高斯核為支持向量機中應用最廣泛的核函數。
2)多項式核函數

當λ>0時稱為非齊次多項式核函數;當λ=0時為齊次多項式核函數。多項式核函數的實質是衍生多項式核函數的一種特殊情況。
3)Sigmoid核函數

4)傅立葉核函數

文中主要介紹高斯核函數、多項式核函數及二者構成的混合核函數。
在支持向量機中,通常所選的核函數必須滿足Mercer條件。核函數的類型有許多,歸結起來,核函數有兩種主要類型,即:局部性核函數和全局性核函數。局部性核函數插值能力較強,比較善于提取樣本的局部特性,因此,僅僅在測試點附近小領域類對數據點有影響。高斯核函數屬于典型的局部核函數。相對局部核函數而言,全局核函數是一種插值能力較弱,善于提取樣本全局特性的函數。多項式核函數就是一種全局核函數。
因為局部性核函數學習能力強、泛化性能較弱,而全局性核函數泛化性能強、學習能力較弱,因此考慮把這兩類核函數混合起來構成混合核函數[6]:

其中,Kgauss(x,xi)表示高斯核函數,Kpoly(x,xi)表示多項式核函數。當m=0時,混合核函數退化為多項式核函數,當m=1時,混合核函數退化為高斯核函數。
本文實驗數據來自MIT-CBCL人臉數據庫,實驗在MATLAB 7.1平臺下編寫了基于主成分分析法 (PCA)[7]和SVM的人臉識別系統,并結合libsvm工具包進行實驗[8]。實驗步驟如下:
1)采集人臉圖像,選取訓練樣本和測試樣本;
2)采用主成分分析法對訓練樣本進行特征提取,同時達到降維的目的;
3)將人臉特征向量作為SVM分類器的輸入,利用參數優化后的SVM分類器并進行訓練;
4)測試樣本進入SVM分類器中進行分類識別。
以高斯核函數為例,設參數gamma=21σ2,對參數gamma和懲罰系數C進行參數優化,得到在gamma=0.1,C=10的條件下,人臉識別率最高達到86%。
本文采用了多項式核函數、高斯核函數和混合核函數構成的3種分類器進行實驗,通過參數優化得到了最優參數和對應的最佳識別率如表1所示。從實驗數據中可以看出,高斯核函數的訓練速度和識別率明顯優于多項式核函數。混合核函數插值能力較強,并善于提取樣本的全局特性,使得其在人臉識別中的取得了更高的識別率,證明了混合核函數比其他單核函數具有優越性。

表1 3種分類器對應的最優參數和識別率Tab.1 Optimal parameters of three classifiers

圖1 參數優化結果3D視圖Fig.1 3D view of parameters optimization

圖2 參數優化結果等高線視圖Fig.2 Contour map of parameters optimization
本文主要采用單核和混合核函數SVM方法進行人臉識別研究,將學習能力強、泛化能力弱的局部性核函數與泛化能力強、學習能力弱的全局性核函數結合起來構成了混合核函數,并將SVM推廣到人臉識別中這一典型的多分類問題中,通過仿真實驗證明了混合核函數支持向量機在解決小樣本及多分類問題上的優越性。
[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].小型微型計算機系統,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]鄧乃揚,田英杰.數據挖掘中的新方法支持向量機[M].北京:科學出版社,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.