馬夢萍,楊志霞
新疆大學 數學與系統(tǒng)科學學院,烏魯木齊 830046
支持向量機(Support Vector Machine,SVM)由文獻[1-2]提出,它可解決分類問題[3-4]、回歸問題[5-6]以及聚類問題[7]等。由于其結構簡單,計算簡潔,具有直觀的幾何意義,因此被廣泛應用于股票價格預測[8]、金融時間序列預測[9]、農業(yè)土壤特性預測[10]等領域。支持向量機是一種運用最優(yōu)化方法,解決數據挖掘等問題的學習算法。Vapnik[11]在1999 年提出了帶有核函數的支持向量機,然而,帶有核函數的支持向量機的決策函數缺乏可解釋性且需要選擇合適的核參數。2007年,Dagher[12]提出一種新的無核二次非線性支持向量機,該算法無需使用核函數,利用一階近似,直接用二次曲面分離訓練點。
與此同時,基于統(tǒng)計理論的ν-支持向量回歸機[13-14]成功地應用到回歸任務中,它通過引入一個新的參數ν來控制擬合誤差,參數ν能夠控制支持向量個數占總樣本點個數的份額的下界。隨后,Huang等[15]提出了非對稱ν-支持向量回歸機(Asymmetricν-tube Support Vector Regression,Asy-ν-SVR),它給予位于ε帶上方和下方的樣本點不同的懲罰,通過調整參數p得到較好的回歸函數。
本文提出了非對稱ν-無核二次曲面支持向量回歸機(Asymmetricν-kernel-free Quadratic Surface Support Vector Regression,Asy-ν-QSSVR)。具體地,該方法的目標是根據訓練集得到二次函數,且在建模時引入Pinball 損失函數,從而給予ε帶上方和下方的樣本點有不同的懲罰。同時,本文也給出支持向量、錯誤樣本點的定義,進一步通過理論證明了ε帶上方和下方的錯誤樣本點個數的上界分別是pνn和(1-p)νn。當p=0.5 時,本文的方法就退化成了對稱ν-無核二次曲面支持向量回歸機,此時本文也證明了參數ν能控制支持向量個數占總樣本點個數的比值的下界。事實上,非對稱ν-無核二次曲面支持向量回歸機不需要引入核函數,所以減少了核參數的選擇,且不損失決策函數的可解釋性。數值實驗表明,參數p并不會增加計算成本,且與非對稱ν-支持向量回歸機和ε-無核軟二次曲面支持向量回歸機(ε-kernel-free Soft Quadratic Surface Support Regression,SQSSVR)[16]相比,本文的方法得到較小的均方根誤差且耗時相對較少。
本文首先簡單回顧了非對稱ν-支持向量回歸機和ε-無核軟二次曲面支持向量回歸機。然后,提出了本文的新方法非對稱ν-無核二次曲面支持向量回歸機及相應性質的討論。接著是數值實驗部分。最后是對本文的總結和討論。
本章首先簡要介紹了非對稱ν-支持向量回歸機,其次討論了ε-無核軟二次曲面支持向量回歸機。給定訓練集:
其中xi∈Rm,yi∈R,i=1,2,…,n。
考慮Pinball損失函數:
其中p是非對稱參數。顯然,當p=0.5 時Lp ε(u)為對稱損失函數。圖1展示了不同p、ε的Pinball損失函數的圖像。
圖1 不同ε 和p 對應的Pinball損失函數圖像
非對稱ν-支持向量回歸機的目標是針對訓練集T(1)找到如下回歸函數:
其中w∈Rm是超平面的法向量,b∈R是一個偏差項。事實上允許部分點犯錯,通過引入懲罰參數C >0與松弛變量(ξ+1,ξ-1,…,ξ+n,ξn),得到非對稱ν-支持向量回歸機的原始問題如下:
其中ξ+i表示位于ε帶上邊界以上的樣本點與ε帶上邊界的距離,ξi表示位于ε帶下邊界以下的樣本點與ε帶下邊界的距離。注意到,通過調整參數p可對樣本點產生不同的懲罰。進一步,可通過求解對偶問題得到回歸函數。
不同于支持向量回歸機,ε-無核軟二次曲面支持向量回歸機是通過給定訓練集T(1)尋找一個二次函數:
其中矩陣W∈Rm×m是對稱陣,b∈Rm,c∈R。為了得到二次函數(4),構造如下優(yōu)化問題:
其中(ξ+1,ξ-1,…,ξ+n,ξn)為松弛變量,懲罰參數γ >0。由于矩陣W是對稱陣,求解較為復雜,因此需要將優(yōu)化問題進行等價轉化并求解等價問題的對偶問題。
注意到,在ε-無核軟二次曲面支持向量回歸機中,需要事先給定ε-不敏感損失函數中的參數ε,然而在某些情況下選擇合適的ε并不是很容易。
本文提出了非對稱ν-無核二次曲面支持向量回歸機(Asy-ν-QSSVR)。該方法可以自動計算參數ε,并且將參數ν與支持向量聯(lián)系起來。
具體地,該方法的目的是得到回歸函數g(x)=,且要求給予ε帶外的樣本點不同的懲罰。因此通過引入非對稱損失函數Pinball損失Lεp,構造如下優(yōu)化問題:
其中矩陣W是對稱陣,b∈Rm,c∈R,懲罰參數γ >0,參數ν和p需要預先給出。目標函數的第一項表示讓樣本點盡可能地接近擬合函數,第二項表示ε帶的帶寬,第三項表示訓練點產生的損失量。前兩個約束條件要求樣本點位于ε帶內。松弛變量ξ+i、ξi表示位于ε帶上方和下方的樣本點到ε帶邊界的距離。通過調整不對稱參數p的值,可對位于ε帶外的樣本點給予不同的懲罰。事實上,若p >0.5 時,位于ε帶上方的樣本點的懲罰比位于ε帶下方樣本點的懲罰大,這意味著可以允許更多的樣本點在ε帶下方;若p <0.5 時,則反之;若p=0.5 時,ε帶上方和下方的樣本點有相同的懲罰。事實上,此時本文的方法就退化為ν版本的無核二次曲面支持向量回歸機,稱之為對稱ν-無核二次曲面支持向量回歸機。在數值實驗部分,圖2可更直觀地說明這一問題,同時說明了不同的p值對回歸函數的影響也不同。進一步,2.2 節(jié)也在理論上證明了參數p和ν能夠控制位于ε帶上方和下方樣本點數目的上界。
注意到優(yōu)化問題(6)中的W是一個矩陣,不容易直接求解,因此利用矩陣W的對稱性,可將優(yōu)化問題做進一步簡化。具體地,由條件W=WT∈Rm×m,可將其拉伸成向量?,即?=[w11,w12,…,w22,…,w2m,…,wmm]。利用向量和樣本點∈Rm的對應關系來構造矩陣Mi。構造過程需要遍歷的每一個元素,若的第l個元素是wjk,則Mi的第j行第l個元素為xki,且Mi的第k行第l個元素為xij,否則為0。
以3 維(m=3)樣本點的輸入xi為例,給出相應Mi的具體形式如下:
并令Hi=[Mi,I],其中I為m維的單位矩陣。
優(yōu)化問題(6)的目標函數的第一項可變?yōu)椋?/p>
則優(yōu)化問題(6)可等價為:
為了推導出優(yōu)化問題(7)的對偶問題,通過引入非負Lagrange乘子向量(α+1,α-1,…,α+n,α-n)T,(β+1,β-1,…,β+n,βn-)T,?,構造Lagrange 函數
分別對Lagrange 函數的變量z,c,ε,ξ+i ,ξi求偏導數并另其等于0得:
由式(8)得:
將上式代入Lagrange函數可得到優(yōu)化問題(7)的對偶問題為:
通過求解對偶問題(14)得到(α+1,α-1,…,α+n,α-n),根據式(13)、及W與的關系可得W和b的值。
綜上,歸納非對稱ν-無核二次曲面支持向量回歸機的算法如下所示。
輸入:訓練集T,參數p,ν以及γ >0;
輸出:W,b,c,ε;
3. 計算c,選取區(qū)間(0,)中的分量α+k和區(qū)間(0,中的分量
本節(jié)主要通過定義支持向量和錯誤樣本點的概念,進一步分析參數p和ν的意義。
定義1(支持向量)稱訓練集T(1)中(xi,yi)所對應的輸入xi為支持向量,如果優(yōu)化問題(14)的解所對應的分量或
定義2(錯誤樣本點)設(W,b,c,ε,ξ+i ,ξi)為原始問題(6)的解。稱訓練集T(1)中的樣本點(xi,yi)為錯誤樣本點,如果(ξ+1,ξ-1,…,ξ+n,ξn)T滿足ξ+i≠0 或ξi≠0。
定理1 已知訓練集T(1),用非對稱ν-無核二次曲面支持向量回歸機進行回歸,得到ε帶,且滿足ε帶上方的錯誤樣本點數的上界為pνn,ε帶下方的錯誤樣本點數的上界為(1-p)νn,即:
其中L(a)為示性函數,即a是真,L(a)=1,否則等于0。
證明根據式(9)和式(10)以及? >0,則有:
對于任意位于ε帶上方的樣本點:
根據互補松弛性條件,有β+i =0。根據式(11)可得,于是有:
顯然,這與式(17)矛盾。因此,參數p和ν控制了位于ε帶上方樣本點的比例,也就是:
等價于:
同理可證明出:
根據定理1 可以進一步推導出非對稱ν-無核二次曲面支持向量回歸機的解滿足:
具體地,上式表示落在ε帶內的樣本點數大于等于(1-ν)n,通常落在ε帶內的樣本點是沒有損失的,而落在ε帶外的樣本點是具有損失的,這說明參數ν控制了落在ε帶內的樣本點的比例,進一步根據式(15)和(16)可看出參數p和ν控制了位于ε帶上方和下方錯誤樣本點數的上界。
定理2 設已知訓練集T(1),并用非對稱ν-無核二次曲面支持向量回歸機進行回歸,所得ε值非零,若記支持向量的個數為q,且p=0.5 時,則ν是支持向量的個數占總樣本點數的份額的下界,即
證明由優(yōu)化問題(7)的KKT 條件知,當ε >0 時,?=0。由式(10)可得:
即支持向量的個數占總樣本數的份額不少于ν。
在本章中,為了表明本文所提方法在性能上的優(yōu)越性,分別在人工數據集和UCI 數據庫中的10 組數據集上,將本文的方法非對稱ν-無核二次曲面支持向量回歸機與ε-無核軟二次曲面支持向量回歸機、非對稱ν-支持向量回歸機進行了對比。該數值試驗在Windows 7系統(tǒng),內存為4.00 GB,64 位操作系統(tǒng)上完成。使用MatlabR2014編輯代碼,算法中涉及到求解二次函數,通過調用Matlab 中的二次規(guī)劃函數quadprog 來求解。實驗中,本文通過網格搜索的方法取得最優(yōu)的參數,非對稱ν-無核二次曲面支持向量回歸機所需的參數γ、ν、p分別選自集合{10i|i=-8,-7,…,8},{0.1,0.2,…,0.9}和{0.1,0.2,0.3,0.4,0.45,0.55,0.6,0.7,0.8,0.9}。而ε-無核軟二次曲面支持向量回歸機,非對稱ν-支持向量回歸機中的參數γ、c和p選擇方式與本文算法相同,且ε=0.01。
為了評估該算法的性能,首先引入幾種常用的評估指標[17],其中yi表示樣本點xi的真實值,是xi的預測值,是xy1,y2,C,yn的均值。
總離差平方和反映了測試樣本的基本方差,通常涉及由噪聲引起的方差。
回歸平方和反映了回歸能力。回歸平方和越大,從測試樣本中獲取的統(tǒng)計信息越多。
決定系數用于測試樣本的回歸平方和與總離差平方和的比率。
在大多數情況下,當均方根誤差和平均絕對誤差較小時說明估計值和真實值比較接近,但為了防止過擬合,通常需要用決定系數的值來評估,一般來說決定系數的值較大會更好。
首先,針對一組人工數據集,來展現(xiàn)本文的算法非對稱ν-無核二次曲面支持向量回歸機的直觀幾何意義。具體地,包括ε帶的幾何圖像,以及Pinball 損失函數中的非對稱參數p對回歸函數的影響。同時也直觀展現(xiàn)了本文所提算法的擬合函數的優(yōu)越性。
圖2 人工數據在不同的p 值下的ε 帶及回歸函數
如圖2 分別展示了不同的p值對非對稱ν-無核二次曲面支持向量回歸機的影響,圖中“·”表示100 個樣本點,細實線表示原始函數,粗實線表示本文提出的方法擬合出的函數,虛線表示本文所得的擬合函數的ε 帶的邊界。從圖中可看出,當p=0.20 時,大量的樣本點位于ε 帶上方,得到的回歸函數位于原始函數的下方,隨著p 值增加,回歸函數逐漸被位于ε 帶下方的樣本點“拉”回到原始函數附近,但當p=0.70 時,回歸函數又遠離原始函數。顯然,當p=0.45 時得到的回歸函數最接近原始函數,這說明當p=0.45 時本文的算法擬合的結果最好。而ε-無核軟二次曲面支持向量回歸機在擬合函數時,默認給予ε 帶上方和下方的樣本點的懲罰是相同的,這將限制算法的靈活性。進一步,表1 中還展示了3種算法的平均絕對誤差、均方根誤差和決定系數值。實驗時,對人工數據集進行了10次十折交叉,并將10 次結果的平均值記錄在表中。從表中可以看出,與ε-無核軟二次曲面支持向量回歸機、非對稱ν-支持向量回歸機相比,本文的方法的平均絕對誤差、均方根誤差都較小,決定系數值較大,且耗時相對較少。
表1 在有噪聲的人工數據上的測試誤差
為了進一步評估本文算法的有效性,本文測試了10組UCI 數據集:Diabetes、Concrete Slump Test、GPS Trajectory、servo、Wisconsin Breast Cancer、Auto price、Computer Hardware、Conventional and Social Media Movies、Yacht Hydrodynamics、Boston House,更詳細的數據信息見表2。
表2 10組UCI數據集的詳細信息
首先本文對數據集進行了預處理,即若數據集中有缺失項,將缺失項用0 補齊,并對數據集進行歸一化處理,使數據集中的每個值都在區(qū)間[?1,1]內。實驗中,對數據集進行了10 次十折交叉,并將10 次結果的平均值記錄在表中。
表3 給出了相應的數值結果。通過表3 可以看出,本文的方法在大部分數據集上都有較小的平均絕對誤差、均方根誤差和較大的決定系數值,尤其是Slump、Computer數據集。產生這一現(xiàn)象的原因是因為ε-無核軟二次曲面支持向量回歸機采用ε-不敏感損失函數,而非對稱ν-無核二次曲面支持向量回歸機使用Pinball損失函數,它給予不同位置的樣本點不同的懲罰,更具有靈活性。而非對稱ν-支持向量回歸機在不使用核函數的情況下擬合的結果基本沒有其他兩種方法好。在CSMM數據集上,本文的方法得到的平均絕對誤差大于ε-無核軟二次曲面支持向量回歸機的值,但非對稱ν-無核二次曲面支持向量回歸機的決定系數略大于其他兩種算法。同時,表3中還展示了本文提出的方法所需的CPU 時間與ε-無核軟二次曲面支持向量回歸機相近,說明引入Pinball 損失函數并不會增加計算負擔。由此可見本文提出的非對稱ν-無核二次曲面支持向量回歸機具有較好的擬合性能。
表3 3種算法在10組UCI數據集上的計算結果
由于本文的方法除了參數ν 以外,還需要給定非對稱參數p,而參數p 取不同的值,意味著給予ε 帶上方和下方的樣本點不同的懲罰。為了進一步說明本文的方法中的參數p不會增加計算成本。本文分析了10組UCI 數據集在不同p值下的CPU 時間。表4 展示了每個數據集在不同p值的CPU 時間的平均值。從表4 中可以看出,非對稱ν-無核二次曲面支持向量回歸機在不同的參數p下,所需的CPU時間相差不大,這也說明參數p的引入不會增加計算成本。
如圖3 展示了非對稱ν-無核二次曲面支持向量回歸機在不同p值下的平均絕對誤差。這4幅圖分別是數據集Computer、Slump、Breast、CSMM。顯然,圖(a)中當p=0.44 時有最小的平均絕對誤差值,圖(b)當p=0.68時有最小的平均絕對誤差值,圖(c)當p=0.15時有最小的平均絕對誤差值,圖(d)當p=0.45 時有最小的平均絕對誤差值。因此,通過圖3可以看出對于不同的數據集,p值也不同,這也進一步說明本文的方法具有更好的靈活性。要想獲得更好的擬合結果,需要對不同的數據集選擇合適的參數p。事實上,當p=0.5 時,本文的方法就退化成了對稱ν-無核二次曲面支持向量回歸機。
針對回歸問題,本文提出了非對稱ν-無核二次曲面支持向量回歸機(Asy-ν-QSSVR)。該算法引入Pinball損失函數,通過不對稱參數p,使得對ε帶上方和下方樣本點給予不同的懲罰,得到更優(yōu)的回歸函數,從而讓本文的方法更具有靈活性。進一步,本文通過理論證明,給出了參數p和ν控制位于ε帶上方和下方的錯誤樣本點數的上界,以及當p=0.5 時,參數ν能夠調節(jié)支持向量在總樣本數中的占比,此時本文的算法就退化成了對稱ν-無核二次曲面支持向量回歸機。除此之外,與非對稱ν-支持向量回歸機相比,本文的方法在不使用核函數的情況下可得到較好的非線性擬合函數且不損失回歸函數的可解釋性。通過數值實驗可以看出,本文的非對稱ν-無核二次曲面支持向量回歸機具有更好地擬合性能,且參數p不會增加計算成本。
表4 10組數據集在不同的p 值所需的CPU時間 s
圖3 4個數據集在不同p 值下的平均絕對誤差