馬 蕾
(西北工業(yè)大學(xué)明德學(xué)院 計(jì)算機(jī)信息技術(shù)系,陜西 西安710124)
半監(jiān)督學(xué)習(xí)理論是近年來(lái)模式識(shí)別和機(jī)器學(xué)習(xí)中的研究重點(diǎn)和熱點(diǎn),是機(jī)器學(xué)習(xí)方法中介于監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)之間的新型學(xué)習(xí)方法。半監(jiān)督學(xué)習(xí)的學(xué)習(xí)樣本既包括已標(biāo)記類別樣本也包括未標(biāo)記類別樣本,這樣既減輕了標(biāo)記樣本的工作量,又提供了更高效的分類器,從理論和應(yīng)用角度都具有良好研究意義[1]。半監(jiān)督學(xué)習(xí)近年來(lái)主要應(yīng)用于網(wǎng)頁(yè)檢索、文本分類、基于生物特征的身份識(shí)別、圖像檢索、視頻檢索、醫(yī)學(xué)數(shù)據(jù)處理等多個(gè)實(shí)際領(lǐng)域,在回歸領(lǐng)域應(yīng)用并不廣泛。常見(jiàn)的半監(jiān)督學(xué)習(xí)方法包括:自訓(xùn)練方法(Self Training)、產(chǎn)生式模型(Generative Models)以及對(duì)于已有的監(jiān)督、非監(jiān)督算法進(jìn)行修改的半監(jiān)督學(xué)習(xí)方法[2]。
粒子群算法(Particle Swarm Optimization,PSO)是近年來(lái)發(fā)展起來(lái)的一種新型進(jìn)化算法,該算法基于信息共享機(jī)制,通過(guò)粒子的自我學(xué)習(xí)和向最佳個(gè)體學(xué)習(xí)的方法來(lái)實(shí)現(xiàn)對(duì)解空間的快速搜索[3]。PSO具有簡(jiǎn)單、快速收斂、易于實(shí)現(xiàn)和精度高等優(yōu)點(diǎn)。
支持向量機(jī)(Support Vector Machine,SVM)是基于統(tǒng)計(jì)學(xué)習(xí)理論的VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則的機(jī)器學(xué)習(xí)技術(shù),根據(jù)樣本復(fù)雜性和學(xué)習(xí)能力尋求最佳推廣能力。SVM在解決小樣本、非線性及高維模式識(shí)別等問(wèn)題上都具有顯著優(yōu)勢(shì)。利用支持向量機(jī)解決回歸問(wèn)題,具有泛化能力強(qiáng)、全局最優(yōu)等明顯優(yōu)勢(shì)[4]。
本文利用基于粒子群算法支持的向量機(jī)建立半監(jiān)督回歸模型。該模型擁有粒子群算法及支持向量機(jī)在解決小樣本、非線性回歸問(wèn)題上的優(yōu)勢(shì),又集合了半監(jiān)督學(xué)習(xí)的優(yōu)點(diǎn),適用于解決標(biāo)記樣本不足的情形,有力提高了回歸模型的估計(jì)精度及模型的泛化能力。
支持向量機(jī)應(yīng)用于回歸問(wèn)題的數(shù)學(xué)描述為[5]:給定樣本數(shù)據(jù)(xi,yi),i=1,2,…,N,其中xi為輸入向量;yi為相對(duì)應(yīng)的輸出變量;y=f(x)為估計(jì)輸出量。則被估計(jì)函數(shù)可表示為
y=f(x)=ωTφ(x)+b
其中,φ(x)為從輸入空間到高維空間的非線性映射;ωT為權(quán)向量;b為偏置?;貧w的目標(biāo)是為了求系數(shù)ωT和b,使回歸風(fēng)險(xiǎn)函數(shù)最小化。回歸風(fēng)險(xiǎn)函數(shù)為
其中,Γ(·)是損失函數(shù);常數(shù)C>0,表示對(duì)估計(jì)偏差的懲罰度。最常用的損失函數(shù)是Vapnik提出的ε不敏感損失函數(shù),形式如下
其中,ε不敏感損失函數(shù)表示如果預(yù)測(cè)值與實(shí)際值之間的差別<ε,則損失等于0。
支持向量機(jī)在解決回歸問(wèn)題時(shí),是在n維特征空間中,使用ε不敏感度損失函數(shù)來(lái)求解一個(gè)線性回歸問(wèn)題。同時(shí),它要通過(guò)最小化來(lái)減小模型容量,以保證更好地?cái)M合一般性。于是支持向量機(jī)回歸,可轉(zhuǎn)化為求解這樣一個(gè)優(yōu)化問(wèn)題[6]
其中,φ為非線性映射函數(shù);ξ和ξ*分別代表在誤差ε約束下目標(biāo)值上下限的松弛變量;C是一個(gè)常數(shù),控制對(duì)錯(cuò)分樣本的懲罰程度。通過(guò)拉格郎日優(yōu)化方法推導(dǎo)可得到其對(duì)偶優(yōu)化問(wèn)題[7]
根據(jù)Hilbert-Schmidt原理,點(diǎn)積運(yùn)算可以用滿足Mercer條件的核函數(shù)K(xi,x)代替。核函數(shù)能在不知道變換φ具體函數(shù)的情況下,使用低維空間的數(shù)據(jù)輸入來(lái)計(jì)算高維特征空間中的點(diǎn)積[2]。
在支持向量機(jī)回歸模型中,包含兩個(gè)重要的模型參數(shù),即懲罰系數(shù)C和核函數(shù)的參數(shù),不敏感損失函數(shù)ε。其中,C用于控制模型復(fù)雜度和逼近誤差的折中,C越大,對(duì)訓(xùn)練樣本數(shù)據(jù)的擬合程度越高;不敏感損失函數(shù)ε的大小決定了支持向量的個(gè)數(shù)。因此,需要選用適當(dāng)?shù)闹悄軆?yōu)化算法來(lái)選取合適模型的參數(shù)。遺傳算法(GA)就是最常見(jiàn)的智能優(yōu)化算法之一。
遺傳算法(Genetic Algorithm,GA)[8],是一種通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)解的方法。借鑒了生物遺傳學(xué)的理論,結(jié)合了適者生存和隨機(jī)信息交換的思想,借助遺傳學(xué)的遺傳算子進(jìn)行交叉、變異,進(jìn)而實(shí)現(xiàn)種群進(jìn)化。遺傳算法在找尋最優(yōu)解的過(guò)程中,首先在解空間隨機(jī)產(chǎn)生多個(gè)起始點(diǎn),并同時(shí)展開搜索,通過(guò)適應(yīng)度函數(shù)來(lái)指導(dǎo)搜索的方向,是解決搜索問(wèn)題的一種通用算法。將遺傳算法應(yīng)用于支持向量機(jī)的參數(shù)選擇,基本步驟如下:
begin
(1)t=0;(2)隨機(jī)選擇初始種群P(t);(3)計(jì)算個(gè)體適應(yīng)度函數(shù)值F(t);(4)若種群中最優(yōu)個(gè)體所對(duì)應(yīng)的適應(yīng)度函數(shù)值足夠大或者算法已連續(xù)運(yùn)行多代,且個(gè)體的最佳適應(yīng)度無(wú)明顯改進(jìn)則轉(zhuǎn)到第(8)步;(5)t=t+1;(6)應(yīng)用選擇算子法從P(t-1)中選擇P(t);(7)對(duì)P(t)進(jìn)行交叉、變異操作,之后轉(zhuǎn)到第(3)步;(8)給出最佳的核函數(shù)參數(shù)和懲罰因子C,并用其訓(xùn)練數(shù)據(jù)集以獲得全局最優(yōu)分類面。
end
其中,適應(yīng)度函數(shù)通常為
式中,σ2和C是支持向量機(jī)中的兩個(gè)重要參數(shù),核參數(shù)和懲罰因子;F(σ2,C)為遺傳算法中的適應(yīng)度函數(shù);Error是SVM在訓(xùn)練樣本集上的錯(cuò)分率,可見(jiàn)當(dāng)SVM在測(cè)試樣本集上的分類錯(cuò)誤率越低時(shí),對(duì)應(yīng)于該組參數(shù)的染色體適應(yīng)度值越大。
粒子群算法作為一種進(jìn)化算法,與遺傳算法類似,也是從隨機(jī)解出發(fā),通過(guò)不斷迭代尋找最優(yōu)解。但遺傳算法并沒(méi)有采用復(fù)雜的交叉、變異過(guò)程,而是基于信息共享機(jī)制,通過(guò)追隨當(dāng)前學(xué)習(xí)的最優(yōu)值來(lái)尋找全局最優(yōu)解,實(shí)現(xiàn)對(duì)解空間的快速搜索[9]。利用粒子群算法選擇支持向量機(jī)參數(shù),相比基于遺傳算法的支持向量機(jī),具有實(shí)現(xiàn)簡(jiǎn)單、快速收斂、調(diào)節(jié)參數(shù)少、精度高等優(yōu)點(diǎn)。
粒子群算法支持向量機(jī)的半監(jiān)督回歸模型(PSOSemi),以基于粒子群算法的支持向量機(jī)回歸模型(PSO-SVM)為基礎(chǔ),將未標(biāo)記樣本數(shù)據(jù),引入粒子優(yōu)化過(guò)程,回歸結(jié)果有明顯改進(jìn)。利用粒子群算法支持向量機(jī)的半監(jiān)督模型(PSO-Semi)回歸的步驟如下[10]:
(1)讀入樣本集,并對(duì)樣本集進(jìn)行預(yù)處理。
(3)計(jì)算每個(gè)粒子的適應(yīng)度。利用已標(biāo)記樣本集(XL,YL)訓(xùn)練SVM模型,并對(duì)未標(biāo)記樣本數(shù)據(jù)(x∈Xu)做回歸,得到未標(biāo)記樣本集的標(biāo)記結(jié)果集Yu,將未標(biāo)記樣本集Xu及其回歸結(jié)果集Yu分別加入已標(biāo)記樣本集(XL,YL)。此時(shí),重新訓(xùn)練SVM模型,而后對(duì)測(cè)試樣本做回歸,計(jì)算每個(gè)粒子的適應(yīng)度,取適應(yīng)度函數(shù)為
其中,yi為第i個(gè)樣本的實(shí)測(cè)值;y為第i個(gè)樣本的預(yù)測(cè)值;i=1,2,…,N,N為測(cè)試樣本個(gè)數(shù)。
(4)比較適應(yīng)度,確定每個(gè)粒子的個(gè)體極值點(diǎn)
其中,S(x)為適應(yīng)度函數(shù);Pi為第i個(gè)粒子的個(gè)體最優(yōu)值;gi為全局最優(yōu)值。
(5)更新每個(gè)粒子的位置和速度。根據(jù)公式
式中,Xi=(Xi1,Xi2,…,Xid)表示第i個(gè)粒子在d維空間的位置;Vi=(Vi1,Vi2,…,Vid)表示第i個(gè)粒子的速度,它決定粒子在搜索空間單位迭代次數(shù)的位移;d為實(shí)際解決問(wèn)題中的自變量個(gè)數(shù);ω表示慣性權(quán)重;C1和C2是加速常數(shù);R1和R2表示在[0,1]區(qū)間的隨機(jī)數(shù)。其中,慣性權(quán)重ω對(duì)優(yōu)化性能有明顯作用,ω較大,有利于避免局部最小,相反則有利于算法收斂。而加速常數(shù)C1和C2代表粒子群之間的信息交流,選擇合適的加速常數(shù),既可以加快收斂,又保證了算法不易出現(xiàn)局部最優(yōu)。根據(jù)Shi和Eberhartl對(duì)平衡隨機(jī)因素的研究[11],可以將加速常數(shù)取為2,慣性權(quán)重ω設(shè)置為0.9~0.4的線性下降。分別更新粒子的速度和位置,并且考慮更新后的速度和位置是否在限定的范圍內(nèi)。
(6)比較次數(shù)是否達(dá)到最大迭代次數(shù),若滿足則停止迭代,得到測(cè)試樣本的回歸結(jié)果;否則返回步驟(3),算法繼續(xù)迭代。
文中采用均方誤差值(Mean Squared Error,MSE)以及可決系數(shù)R2來(lái)評(píng)價(jià)實(shí)驗(yàn)的回歸結(jié)果,其中MSE的計(jì)算公式為
其中,y1,y2,…,yn是測(cè)試數(shù)據(jù)的真實(shí)值;是回歸模型對(duì)測(cè)試數(shù)據(jù)的估計(jì)值。MSE反映了估計(jì)值與真實(shí)值之間差異程度。可決系數(shù)R2反映了模型的擬合程度,R2在(0,1)區(qū)間取值,越接近1,擬合度越高。實(shí)驗(yàn)中,針對(duì)實(shí)驗(yàn)數(shù)據(jù)集,分別使用基于遺傳算法支持向量機(jī)回歸模型(GA-SVM),基于粒子群算法的支持向量機(jī)回歸模型(PSO-SVM),以及粒子群算法支持向量機(jī)的半監(jiān)督回歸模型(PSO-Semi)等3種模型,求得實(shí)驗(yàn)數(shù)據(jù)的均方誤差值MSE和可決系數(shù)R2,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析比較。
實(shí)驗(yàn)采用5組常見(jiàn)回歸測(cè)試數(shù)據(jù)集[12],如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集
針對(duì)半監(jiān)督學(xué)習(xí)適用于缺少或難以獲得已標(biāo)記樣本的情況,實(shí)驗(yàn)中,只采用10個(gè)在取值范圍內(nèi)均勻分布的已標(biāo)記樣本,30個(gè)未標(biāo)記樣本和20個(gè)測(cè)試樣本。并對(duì)樣本值及目標(biāo)值進(jìn)行了歸一化處理。利用上述3種模型對(duì)測(cè)試數(shù)據(jù)集的測(cè)試結(jié)果的均方誤差值MSE和可決系數(shù)R2,分別如表2和表3所示。
表2 3種模型在數(shù)據(jù)集上的均方誤差值結(jié)果
表3 3種模型在數(shù)據(jù)集上的可決系數(shù)
根據(jù)表2和表3所示的實(shí)驗(yàn)結(jié)果,將3種模型分別應(yīng)用于2-dMexican Hat,3-dMexican Hat,F(xiàn)riendman #1,F(xiàn)riendman #2,F(xiàn)riendman #3等5組數(shù)據(jù)集上,可以看出,粒子群算法支持向量機(jī)的半監(jiān)督協(xié)同回歸模型PSO-Semi的均方誤差值和可決系數(shù)R2兩種實(shí)驗(yàn)結(jié)果都優(yōu)于其他兩種支持向量機(jī)模型,切實(shí)改善了回歸結(jié)果,提高了模型擬合度。實(shí)驗(yàn)證明,采用半監(jiān)督學(xué)習(xí)的回歸模型發(fā)揮了半監(jiān)督學(xué)習(xí)中未標(biāo)記樣本的作用,同時(shí)提高了模型的泛化能力,改善了模型的回歸精度。另外,由于PSO算法本身具有收斂速度快的特點(diǎn),PSO-Semi模型的收斂速度與GA-SVM模型相比也具有明顯的優(yōu)勢(shì)。
提出了粒子群算法支持向量機(jī)的半監(jiān)督回歸模型,該模型將粒子群算法支持向量機(jī)收斂速度快、精度高等特點(diǎn)與半監(jiān)督學(xué)習(xí)的優(yōu)勢(shì)相結(jié)合,有效地利用了大量的未標(biāo)記樣本,提高了回歸估計(jì)的精度,在缺少已標(biāo)記樣本的情況下,比基于普通遺傳算法和粒子群算法的支持向量機(jī)模型有明顯的優(yōu)勢(shì)。為更加有效地提高回歸估計(jì)的結(jié)果,改進(jìn)現(xiàn)有的支持向量機(jī)半監(jiān)督回歸模型,如使用其他優(yōu)化算法或采用其他回歸模型等,可成為未來(lái)研究的方向。
[1]ZHU X J.Semi-supervised learning literature survey[R].USA MA:University of Wisconsin-Madison,Tech Rep:1530,2005.
[2] 馬蕾,汪西莉.基于支持向量機(jī)協(xié)同訓(xùn)練的半監(jiān)督回歸[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(3):177-180.
[3] 任洪娥,霍滿冬.基于PSO優(yōu)化的SVM預(yù)測(cè)應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用研究,2009,26(3):867-869.
[4] 邊肇祺,張學(xué)工.模式識(shí)別[M].北京:清華大學(xué)出版社,2000.
[5] 張學(xué)工.關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)[J].自動(dòng)化學(xué)報(bào),2000,26(1):32-42.
[6]STEVE R G.Support vector machines for classification and regression[D].UK Southampton:University of Southampton,1997.
[7]VAPNIK V,LERNER A.Pattern recognition using generalized portrait method[J].Nauka,Moscow Automation and Remote Control,1963,24(2):774-780.
[8] 王小平,曹立明.遺傳算法理論、應(yīng)用與軟件實(shí)現(xiàn)[M].西安:西安交通大學(xué)出版社,2002.
[9]EBERHART R C,KENNEDY J.A new optimizer using particle swarm theory[C].Newyork USA:Proceedings of the Sixth International Symposium on Micro Machine and Human Science,1995:39-43.
[10]高芳.智能粒子群優(yōu)化算法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2008.
[11]SHI Y H,EBERHART R C.Parameter selection in particle swann optimization[C].SanDiego:Annual Conference on Evolutionary Programrning,SanDiego,1998.
[12]ZHOU Zhihua,WU Jianxin,TANG Wei.Ensembling neural networks:many could be better than all[J].Artificial Intelligence,2002,137(1-2):239-263.