賈 凝
(陜西郵電職業技術學院,西安 712000)
傳統的神經網絡的學習算法和最小二乘法都是基于經驗風險最小化準則提出來的,即最小化經驗風險(訓練誤差)從而試圖使期望風險最小化。而支持向量機(Support Vector Machine-SVM)是由AT&T貝爾實驗室的研究小組于1995年在統計學習理論的基礎上提出來的一類新型的機器學習方法。它是結構風險最小化準則基本思想的具體實現,為了最小化期望風險,做到同時最小化經驗風險和置信范圍,即以訓練誤差作為優化問題的約束條件,而以置信范圍值最小化作為優化問題的目標來實現。所以支持向量機的泛化能力要明顯優于神經網絡等傳統的學習方法[1]。
支持向量機的主要思想可以概括為兩點:(1)它開始是針對線性可分情況進行分析的,后來對于線性不可分的情況,通過使用非線性映射算法將低維輸入空間線性不可分的樣本映射到高維屬性空間使其線性可分,使得在高維屬性空間采用線性算法對樣本的非線性特性進行分析成為可能;(2)它通過使用結構風險最小化準則在屬性空間構造最優分割超平面,使得機器學習得到全局最優化,解決了過學習問題,對樣本具有較好的泛化能力。另外,由于支持向量機的訓練問題本質上是一個經典的二次規劃問題,避免了局部最優解,有效地克服了維數災難,而且可以利用最優化理論中許多成熟的算法。正是基于支持向量機的上述優勢,無論在理論基礎上還是在應用前景上,SVM都具有其它機器學習方法難以比擬的優越性,它已經在模式識別和回歸估計方面取得越來越多的進展。用于回歸估計的支持向量機方法在非線性系統辨識,預測預報,建模與控制等領域都有潛在的廣泛應用,使得對其進行研究顯得非常重要[2]。
SVM的理論基礎是統計學習理論,它是對結構風險最小化歸納原則的一種實現。SLT是研究小樣本統計和預測的理論,主要內容包括四方面[3]:
(1)經驗風險最小化標準統計學習的一致性條件;
(2)在這些條件下關于統計學習方法推廣性的界的結論;
(3)在這些界的基礎上建立的小樣本歸納推理準則;
(4)實現新的準則的實際方法(算法)。
其中,核心內容是:VC維、推廣性的界、結構風險最小化(SRM)原則[4]。
實現SRM原則可以有兩種思路:(1)保持置信范圍固定(通過選擇一個適當的結構)并最小化經驗風險;(2)保持經驗風險固定并最小化置信范圍SVM就是第二種思路的實現:設計函數集的某種結構使每個子集中都能夠取得最小的經驗風險(如使訓練誤差為0),然后選擇適當的子集使置信范圍最小,則這個子集使經驗最小的函數便是最優函數。
支持向量機是Vapnik提出的源于統計學習理論的一種學習方法,它基于結構風險最小化原則,具有很強的泛化能力。SVM算法是從線性可分情況下的最優分離超平面提出的。所謂最優分離超平面就是要求分類超平面不但能將兩類樣本無錯誤分開,而且要使兩類之間的距離最大[5]。設線性可分樣本集為(xi,yi),i=1,…,n,x∈Rd,y∈{+1,-1},是類別標號,d維空間中線性判別函數的一般形式為g(x)=w·x+b,分類面方程為w·x+b=0。如果存在分類超平面w·x+b=0使得


則稱樣本集是線性可分的。對于線性可分的問題,就是要尋求參數(w,b),使(l)式成立,由此得到判別函數y(x)=sgn(w·x+b)。將判別函數進行歸一化,使兩類所有樣本都滿足|g(x)|≥1,即,使離分類面最近的樣本的|g(x)=1|,這樣分類間隔就等于 2/||w||,因此間隔最大等價于使||w||“(或||w||2)最小;而要求分類線對所有樣本正確分類,就是要求其滿足:

因此,滿足上述條件且使||w||2最小的分類面就是最優分類面。這兩類樣本中離分類面最近的點且平行于最優分類面的超平面上的訓練樣本就是使式(2)式中等號成立的那些樣本,他們叫做支持向量(Support Vectors)。如圖1中所示
部分作業人員不懂各類腳手架牌的含義,經常出現到未經驗收合格的腳手架上作業,或者到掛黃牌的腳手架上作業不掛安全帶等違章情況。為此,項目部組織針對性的腳手架安全培訓,全員覆蓋。同時,組織現場腳手架觀摩,明確告知作業人員各類腳手架牌含義,避免違規行為再次發生。
根據上面的討論,最優分類超平面問題可以表示成如下的約束優化問題:

從上面的討論的最優分類超平面和廣義最優分類超平面看出,其最終的分類決策函數中只包含待分類樣本與訓練樣本中的支持向量的內積運算(x·xi),同樣,它的求解過程式中也只涉及訓練樣本之間的內積運算(xi·xj),可見,要解決一個特征空間中的最優線性分類問題,我們只需要知道這個空間中的內積運算即可。如果一個問題在其定義的空間不是線性可分的,這時可以考慮構造新的特征向量,把問題轉換到一個新的空間中,這個空間一般比原空間維數增加,但卻可以用線性判別函數實現原空間中的非線性判別函數。比如構造y=[1xx2]T,就可以用g(y)=aTy的線性函數實現g(x)=c0+c1x+c2x2的二次判別函數,其中廣義權向量a=[c0,c1,c2]T。實際上,一般來說,對于任意高次判別函數,都可以通過適當的變換轉化為另一空間中的線性判別函數來處理。把這種變換空間中的線性判別函數稱作原問題的廣義線性判別函數。但是,雖然這種變換理論上可以用簡單的線性判別函數來解決十分復雜的問題,但由于變換空間中的維數往往很高,容易陷入所謂維數災難而使問題變得實際上不可實現。因此,廣義線性判別函數的思想只在一些相對不十分復雜的非線性問題中能夠應用[6]。
按照廣義線性判別函數的思路,要解決一個非線性問題,我們可以設法將它通過非線性變換轉換為另一個空間中的線性問題,在這個空間中求最優或廣義最優分類超平面。考慮到廣義最優分類超平面的性質,在這個變換空間中,我們只需進行內積運算。而進一步看,我們甚至沒有必要知道采用的非線性變換的形式,而只需要知道它的內積運算即可。只要變換空間中的內積可以用原空間中的變量直接計算得到(通常是這個的),則即使變換空間的維數增加很多,在其中求解最優分類面的問題并沒有增加多少計算復雜度。
支持向量機的基本思想可以概括為:首先通過非線性變換將輸入空間變換到一個高維空間,然后在這個新空間中求取最優線性分類超平面,而這種非線性變換是通過定義適當的內積函數實現的[7]。SVM中不同的內積核函數將形成不同的算法。目前研究最多的核函數主要有三類,一是多項式核函數

二是徑向基函數(RBF)

三是sigmoid函數

由于徑向基函數可以逼近任意非線性函數,因此,本文選取徑向基函數作為支持向量機的核函數來進行研究。
Boosting是20世紀90年代來提出的最有效的學習思想之一,它的思想起源于Valiant提出的PAC學習模型,valiant提出了弱學習和強學習的概念,認為準確率僅比隨機猜測略高的學習算法稱為弱學習算法,識別準確率很高并能在多項式時間內完成的算法稱為強學習算法。同時,Valiant首次提出了兩種算法的等價性問題,即任意給定比隨機猜測略高的弱學習算法,是否可以將其提升為強學習算法?如果二者等價,那么只需找到一個比隨機猜測略高的弱學習算法就可以將其提升為強學習算法,而不必尋找很難獲得的強學習算法。1990年,Schapire最先構造出一種多項式級的算法,對該問題作出了證明,這就是最初的Boosting算法。1997年,Freund和Schapire提出了Adaboost算法[8]。
(1)初始化觀測權值 wi=1/N,i=1,2,…,N
(2)設定C,γ的初始值γini,和最大值γmax以及每次調整的步長 γstep。
(3)對于 m=1 到 M:
(a)使用權值wi,用支持向量分類機Gm(X)擬合訓練數據
(b)計算訓練誤差 εm=∑i=1Nwim·(yi≠Gm(xi))
(c)假如 εm>0.5,則 γ<γmax,則 γ=γ+γstep返回(a)
(e)計算 αm=log((1-erm)/errm)
(f)置wi←w·iexp[αm·I(yi≠≠Gm(xi))],i=1,2…,N
對于支持向量機來說,參數取值不同,對應的分類器性質以及推廣識別率也將有很大差別。本文應用以徑向基函數(RBF)為核函數的支持向量機到統計學領域。除了選取模型參數外,怎樣選取重要屬性同樣重要。
支持向量機作為一種專門研究小樣本的學習方法,以統計學習理論作為堅實的理論依據,基于結構風險最小化使其克服了傳統模式識別方法的過學習和陷人局部最小的缺點,具有很強的泛化能力和全局最優性;采用核函數向高維空間映射時并沒有增加計算的復雜性,又有效地克服了維數災難間題。許多統計分析方法對數據的分布有一定的要求,限制了它們的使用范圍,而SVM的理論模型無須預報變量和結果變量具有某種特定的分布。
此外,本文將支持向量機與時下最流行的Boosting算法結合,建立一個綜合的AdaBoost-SVM模型,盡管從理論意義上來說,SVM這樣一種強學習算法不適合作為Boosting算法的基礎學習器,但在本文中,我們通過在每一次迭代過程中調節支持向量機的參數,使Boosting過程中的每一個支持向量分類機精度都滿足只比隨機猜測略高這個要求,建立一個動態的AdaBoost-SVM模型。
[1]鄧乃揚,田英杰著.數據挖掘中的新方法——支持向量機[M].北京:科學出版社,2004.
[2]V.N.Vapnik.The Nature ofStatisticalLearning Theory[M].Newyork:Spring-Verlag,1998.
[3]張學工,關于統計學習與支持向量機[J].自動化學報,2000,(1).
[4]T.Hastie,R.Tibshirani,J.Friedman 著.范明,柴玉梅等譯. 統計學習基礎—數據挖掘原理、推理與預測[M].北京:電子工業出版社,2004.
[5]盧紋岱,吳喜之.SPSS for windows統計分析[M].北京:電子工業出版社,2006.
[6]鄧小文,支持向量機參數選擇方法分析[J],福建電腦,2005,(11)
[7]M.H.Zhang,Q.S.Xu,Application of Boosting to Classification Problems in Chemometrics[J].Analytica Chimica Acta,2005,167~176.
[8]據旭,王浩.基于Boosting的支持向量組合分類器[J].合肥工業大學學報,2006,(10).
[9]王強,沈永平,陳英武.支持向量機規則提取[J].國防科技大學學報,2006,(2).
[10]牛艷慶,胡寶清.給予模糊AdaBoost算法的支持向量回歸機[J].模糊系統與數學,2006,(4).