涂光輝 蔣 華
(桂林電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,廣西 桂林 541004)
機(jī)器學(xué)習(xí)是人工智能的核心研究領(lǐng)域之一, 其最初的研究動(dòng)機(jī)是為了讓計(jì)算機(jī)系統(tǒng)具有人的學(xué)習(xí)能力以便實(shí)現(xiàn)人工智能,因?yàn)楸娝苤瑳](méi)有學(xué)習(xí)能力的系統(tǒng)很難被認(rèn)為是具有智能的。目前被廣泛采用的機(jī)器學(xué)習(xí)的定義是:“機(jī)器學(xué)習(xí)是研究計(jì)算機(jī)算法,并通過(guò)經(jīng)驗(yàn)提高其自動(dòng)性“[1]。”基于數(shù)據(jù)的機(jī)器學(xué)習(xí)是現(xiàn)代智能技術(shù)中的重要方面,研究從觀(guān)測(cè)數(shù)據(jù)(樣本)出發(fā)尋找規(guī)律,利用這些規(guī)律對(duì)未來(lái)數(shù)據(jù)或無(wú)法觀(guān)測(cè)的數(shù)據(jù)進(jìn)行預(yù)測(cè)[2]“(張學(xué)工)。包括模式識(shí)別、神經(jīng)網(wǎng)絡(luò)等在內(nèi),現(xiàn)有機(jī)器學(xué)習(xí)方法共同的重要理論基礎(chǔ)之一是統(tǒng)計(jì)學(xué)。
統(tǒng)計(jì)學(xué)習(xí)理論(Statistical Learning Theory或SLT)是一種專(zhuān)門(mén)研究小樣本情況下機(jī)器學(xué)習(xí)規(guī)律的理論。V.Vapnik等人從六、七十年代開(kāi)始致力于此方面研究[3]。隨著其理論的不斷發(fā)展和成熟,在這一理論基礎(chǔ)上發(fā)展了一種新的通用學(xué)習(xí)方法——支持向量機(jī)(Support Vector Machine或SVM)。SVM為解決基于數(shù)據(jù)的非線(xiàn)性建模問(wèn)題提供了一個(gè)新思路,是一種具有嚴(yán)密理論基礎(chǔ)的計(jì)算機(jī)學(xué)習(xí)的新方法,它已經(jīng)成為計(jì)算機(jī)學(xué)習(xí)、模式識(shí)別、計(jì)算智能、預(yù)測(cè)預(yù)報(bào)等領(lǐng)域的熱點(diǎn)技術(shù),受到國(guó)內(nèi)外的廣泛關(guān)注。
機(jī)器學(xué)習(xí)的目的是根據(jù)給定的訓(xùn)練樣本求對(duì)某系統(tǒng)輸入輸出之間依賴(lài)關(guān)系的估計(jì),使它能夠?qū)ξ粗敵鲎鞒霰M可能準(zhǔn)確的預(yù)測(cè)[2]。本文通過(guò)使用支持向量機(jī)算法,對(duì)上證指數(shù)進(jìn)行預(yù)測(cè)。所得的預(yù)測(cè)結(jié)果對(duì)現(xiàn)實(shí)生活中的股票投資有一定的參考作用。
支持向量機(jī)建立在結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則(SRM)[4]基礎(chǔ)之上,是統(tǒng)計(jì)學(xué)習(xí)理論中最年輕的內(nèi)容,也是最實(shí)用的內(nèi)容。其核心內(nèi)容是在1992到1995年間提出的[5,6,7,8],目前仍處在不斷發(fā)展階段。具有很強(qiáng)的學(xué)習(xí)能力和泛化性能,能夠較好地解決小樣本、高維數(shù),非線(xiàn)性、局部極小等問(wèn)題,可以有效地進(jìn)行分類(lèi)、回歸、密度估計(jì)等[9]。另外支持向量機(jī)在處理非線(xiàn)性問(wèn)題時(shí) 首先將非線(xiàn)性問(wèn)題轉(zhuǎn)化為高維空間中的線(xiàn)性問(wèn)題然后用一個(gè)核函數(shù)來(lái)代替高維空間中的內(nèi)積運(yùn)算從而巧妙地解決了復(fù)雜計(jì)算問(wèn)題并且有效地克服了維數(shù)災(zāi)難及局部極小問(wèn)題。由于有這些優(yōu)點(diǎn),支持向量機(jī)已成為機(jī)器學(xué)習(xí)領(lǐng)域的研究熱點(diǎn)。目前,支持向量機(jī)已經(jīng)已經(jīng)廣泛用于解決分類(lèi)和回歸問(wèn)題[10,11]。
回歸問(wèn)題[12]的數(shù)學(xué)提法是:已知訓(xùn)練集T ={(x1, y1),( x2, y2), …,( xl, yl)}∈(X *Y),其中 xi∈X=Rn是輸入指標(biāo)向量,或稱(chēng)輸入,或稱(chēng)模式,yi∈Y=R是輸出指標(biāo),或稱(chēng)輸出,i = 1,2,… ,l。假定訓(xùn)練集是按X*Y上的某個(gè)概率分布P( x, y)選取的獨(dú)立同分布的樣本點(diǎn),又設(shè)給定損失函數(shù)L( x, y, f)。試尋求一個(gè)函數(shù)f( x),使得期望風(fēng)險(xiǎn)R( f ) =∫L( x, y, f) d P( x, y )達(dá)到極小。此處概率分布P( x, y)是未知的,已知的僅僅是訓(xùn)練集T。
設(shè)給定的訓(xùn)練樣本[13]為:首先用一個(gè)非線(xiàn)性映射φ把數(shù)據(jù)映射到一個(gè)高維特征空間,然后在高維特征空間中進(jìn)行線(xiàn)性回歸設(shè)回歸函數(shù)為:f( x) =< w, φ(x) >+b 。優(yōu)化問(wèn)題是最小化

式(1)中第一項(xiàng)使函數(shù)更為平坦,從而提高泛化能力,第二項(xiàng)則為減小誤差,常數(shù)C對(duì)兩者做出折中。ε為一正常數(shù),f( xi)與yi的差別小于ε時(shí)不計(jì)入誤差,大于ε時(shí)誤差計(jì)為|f( xi) -yi|-ε。
這是一個(gè)二次優(yōu)化問(wèn)題, 其對(duì)偶問(wèn)題為:

解這個(gè)二次優(yōu)化,可以得到a的值,ω的表達(dá)式為:

于是回歸函數(shù) f( x)的表達(dá)式為:

可以看到 在上面的優(yōu)化中需要計(jì)算高維特征空間中的內(nèi)積運(yùn)算,如果找一個(gè)核函數(shù)k( x, y)代替高維空間中的內(nèi)積,就可以避免復(fù)雜的高維計(jì)算問(wèn)題。已經(jīng)證明 <φ( x),φ(y)>,對(duì)稱(chēng)函數(shù)k( x, y)只要滿(mǎn)足 Mercer 條件,即可滿(mǎn)足要求,這樣就避免了明確知道φ(x),從而巧妙地解決了在高維空間中的運(yùn)算。按照Kuhn-Tucker 定理,可得b的計(jì)算式如下:

可以通過(guò)任意一個(gè)滿(mǎn)足條件的樣本計(jì)算出b的值。
核函數(shù)的選擇是支持向量機(jī)理論研究的一個(gè)核心問(wèn)題。在實(shí)際的應(yīng)用中,最常用的核函數(shù)[14]有以下4種:

式中σ為核參數(shù),它隱式地定義了從原始空間到高維特征空間中的非線(xiàn)性映射。
(4)Sigmoid函數(shù)

在這四種核函數(shù)中,應(yīng)用最廣泛的是RBF核,無(wú)論是低維、高維、小樣本、大樣本等情況,RBF核函數(shù)均適用,具有較寬的收斂域,是較為理想的分類(lèi)依據(jù)函數(shù)[15]。本論文使用的是RBF核函數(shù)。
最小二乘支持向量機(jī)是支持向量機(jī)的一種改進(jìn),它是將傳統(tǒng)支持向量機(jī)中的不等式約束改為等式約束,且將誤差平方和( Sum Squares Error)損失函數(shù)作為訓(xùn)練集的經(jīng)驗(yàn)損失,這樣就把解二次規(guī)劃問(wèn)題轉(zhuǎn)化為求解線(xiàn)性方程組問(wèn)題,提高求解問(wèn)題的速度和收斂精度。設(shè)樣本為n維向量, 某區(qū)域的l個(gè)樣本及其表示為:首先用一非線(xiàn)性映射ψ(·)把樣本從源空間 Rn映射到特征空間φ ( xi),在這個(gè)高維特征空間中構(gòu)造最優(yōu)決策函數(shù)∶

這樣非線(xiàn)性估計(jì)函數(shù)轉(zhuǎn)化為高維特征空間的線(xiàn)性估計(jì)函數(shù)。利用結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,尋找ω,b就是最小化:

其中,‖ ω ‖2控制模型的復(fù)雜度,c是正規(guī)化參數(shù),控制對(duì)超出誤差樣本的懲罰程度。Remp為誤差控制函數(shù),也即ε不敏感損失函數(shù)。常用的損失函數(shù)有線(xiàn)性ε損失函數(shù),二次ε損失函數(shù),Huber損失函數(shù)。選取了不同的損失函數(shù),可構(gòu)造不同形式的支持向量機(jī)。最小二乘支持向量機(jī)在優(yōu)化目標(biāo)失函數(shù)為誤差ξi的二次項(xiàng)。故優(yōu)化問(wèn)題為

式中,iξ為松弛因子。用拉格朗日法求解這個(gè)優(yōu)化問(wèn)題∶

其中:αi( i =1,…, l )是拉格朗日乘子。

其中:αi=c ·ξi, ω · φ( xi) +b + ξi- yi=0。
定義核函數(shù) K( xi, yi) = φ( xi) ·φ( xj)是滿(mǎn)足條件的對(duì)稱(chēng)函數(shù)。優(yōu)化問(wèn)題可轉(zhuǎn)化為求解線(xiàn)性方程[18]:

最后用最小二乘法求出a與b,最小二乘支持向量機(jī)也由此得名,并且得到非線(xiàn)性預(yù)模型:

本論文使用的數(shù)據(jù)集是太陽(yáng)黑子。太陽(yáng)黑子(sunspot)是在太陽(yáng)的光球?qū)由习l(fā)生的一種太陽(yáng)活動(dòng),是太陽(yáng)活動(dòng)中最基本、最明顯的。黑子看上去像一些深暗色的斑點(diǎn),很少單獨(dú)活動(dòng),常是成群出現(xiàn)。黑子的活動(dòng)周期為11.2年,活躍時(shí)會(huì)對(duì)地球的磁場(chǎng)產(chǎn)生影響,主要是使地球南北極和赤道的大氣環(huán)流作經(jīng)向流動(dòng),從而造成惡劣天氣,使氣候轉(zhuǎn)冷。嚴(yán)重時(shí)會(huì)對(duì)各類(lèi)電子產(chǎn)品和電器造成損害。
當(dāng)太陽(yáng)上有大群黑子出現(xiàn)的時(shí)候,地球上的指南針會(huì)亂抖動(dòng),不能正確地指示方向;平時(shí)很善于識(shí)別方向的信鴿會(huì)迷路;無(wú)線(xiàn)電通訊也會(huì)受到嚴(yán)重阻礙,甚至?xí)蝗恢袛嘁欢螘r(shí)間,這些反常現(xiàn)象將會(huì)對(duì)飛機(jī)、輪船和人造衛(wèi)星的安全航行、還有電視傳真等方面造成很大的威脅。黑子還會(huì)引起地球上氣候的變化,從而對(duì)農(nóng)作物的生長(zhǎng)和人的身體造成不可忽視的影響。
黑子的活動(dòng)是有規(guī)律的,對(duì)人類(lèi)活動(dòng)有重要影響。我們很有必要對(duì)它進(jìn)行必要的研究,掌握一些基本的規(guī)律以指導(dǎo)人類(lèi)的活動(dòng)。本文對(duì)1780~1979年的黑子活動(dòng)進(jìn)行了實(shí)驗(yàn)。分別將1879~1958年和1780~1958年間的太陽(yáng)黑子的數(shù)據(jù)作為訓(xùn)練集,相應(yīng)的年份作為 X,而太陽(yáng)黑子數(shù)作為Y;1959-1979期間的數(shù)據(jù)作為測(cè)試集,其中的年份作為Xt,太陽(yáng)黑子數(shù)作為tY。
最小二乘支持向量機(jī)(LSSVM)是標(biāo)準(zhǔn)的支持向量機(jī)的改進(jìn)形式。LSSVM與正規(guī)化網(wǎng)絡(luò)[16]和高斯函數(shù)緊密相關(guān),但它更加重視對(duì)偶問(wèn)題的求解。它將經(jīng)典的模式識(shí)別算法,如核Fisher判別分析和擴(kuò)展的無(wú)監(jiān)督學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)聯(lián)系到一起[17]。LSSVM是一類(lèi)基于核的學(xué)習(xí)方法,它最基本的目標(biāo)是解決分類(lèi)問(wèn)題和回歸問(wèn)題。
LS_SVM工具箱用于函數(shù)回歸主要用到 3個(gè)函數(shù),trainlssvm函數(shù)用來(lái)訓(xùn)練建立模型,simlssvm函數(shù)用于預(yù)估模型,plotlssvm函數(shù)是LS2SVMlab工具箱的專(zhuān)用繪圖函數(shù)。高版本的LS2SVMlab工具箱還有貝葉斯框架下的最小二乘支持向量機(jī),固定大小的最小二乘支持向量機(jī)等。
本論文使用SVR算法,對(duì)太陽(yáng)黑子的活動(dòng)進(jìn)行回歸預(yù)測(cè)。具體代碼如下:
%讀取數(shù)據(jù)
t=textread('E∶數(shù)據(jù)集.txt');
%提取訓(xùn)練集
X=t(1∶80,1);%(X=t(1∶180,1))
Y=t(1∶80,2);% (X=t(1∶180),1)
%提取測(cè)試集
Xt=t(81∶100,1);
Yt=t(81∶100,2);
%初始化參數(shù)
gam = 10;
sig2 = 0.5;
fold = 5;
type = 'function estimation';
costfun = 'rcrossvalidate';
costfun_args = {X,Y,fold};
optfun = 'gridsearch';
%生成最優(yōu)參數(shù)
[gam, sig2] = tunelssvm({X,Y,type,gam,sig2}, [],optfun, {}, costfun, costfun_args);
%交叉驗(yàn)證
performance = rcrossvalidate({X,Y,type,gam,sig2},costfun_args);
%算法訓(xùn)練,建立模型
[alpha,b] = robustlssvm({X,Y,type,gam,sig2});
%進(jìn)行模型的預(yù)測(cè)
Yt = simlssvm({X,Y,type,gam,sig2},{alpha,b},Xt);
%輸出曲線(xiàn)
plotlssvm({X,Y,type,gam,sig2},{alpha,b});
經(jīng)過(guò)調(diào)試程序,用1879-1958年的太陽(yáng)黑子數(shù)訓(xùn)練后得到的測(cè)試結(jié)果如圖(1)示。用1780~1958年的太陽(yáng)黑子數(shù)訓(xùn)練后得到的測(cè)試結(jié)果如圖(2)所示。其中實(shí)線(xiàn)表示預(yù)測(cè)的太陽(yáng)黑子數(shù),點(diǎn)表示實(shí)際的太陽(yáng)黑子數(shù)。
從圖(1)中容易觀(guān)察到黑字?jǐn)?shù)的真實(shí)值與預(yù)測(cè)值的在頂點(diǎn)時(shí)有一定的誤差,但總體的擬合程度還是比較高。這說(shuō)明用SVR算法來(lái)預(yù)估太陽(yáng)黑子數(shù)能得到較好的預(yù)估效果。從圖(2)容易發(fā)現(xiàn)黑字?jǐn)?shù)的真實(shí)值與預(yù)測(cè)值的在頂點(diǎn)時(shí)有比較大的誤差。從這兩個(gè)測(cè)試結(jié)果的比較中,我們可以得出這樣的結(jié)果:實(shí)驗(yàn)所用的訓(xùn)練黑子數(shù)的時(shí)間越靠前,所得的測(cè)試結(jié)果越準(zhǔn)確。

圖1

圖2
最小二乘支持向量機(jī)是用等式約束代替?zhèn)鹘y(tǒng)支持向量機(jī)中的不等式約束,求解過(guò)程從解QP問(wèn)題編程一組等式方程,提高求解問(wèn)題的速度和收斂精度。針對(duì)最小二乘支持向量機(jī)在回歸預(yù)測(cè)方面的應(yīng)用,使用SVR算法建立了太陽(yáng)黑子數(shù)的預(yù)測(cè)模型。預(yù)測(cè)結(jié)果表明最小二乘支持向量機(jī)建立的非線(xiàn)性模型是可行有效的,具有很好的泛化能力,計(jì)算速度快。
[1] T. M. Mitchell. Machine Learning[M].New York: McGraw-Hill,1997.
[2] 張學(xué)工.關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)[J].自動(dòng)化學(xué)報(bào),2000,26(1):32-42.
[3] Vapnik V N. Estimation of Dependencies Based on Empirical Data[M]. Berlin: Springer?Verlag, 1982.
[4] C.J.C Burges.A tutorial on support vector lIlachines for pattern recognition[J].Data Mining and Knowledge Discovery.1998,2(2):121-167.
[5] Vapnik V, Levin E, Le Cun Y. Measuring the VC?dimension of a learning machine[J].Neural Computation.1994(6):851-876.
[6] Burges C J C. A tutorial on support vector machines for pattern recognition[J]. Data Mining and Knowledge Discovery,1998,2(2):121-167.
[7] Burges C J C. A tutorial on support vector machines for patternrecognition[J].1998(02):121-167
[8] Boser B,Guyon I,Vapnik V. A training algorithm for optimal margin classifiers[J]. 1992,5(20):61-65.
[9] Olvi L. Mangasarian, David R. Musicant.Successive overrelaxation for support vector machines[J].IEEE Transactions on Neural Networks.1999,5(10):1032-1037.
[10] Brassil J T, Low S H, Maxemchuk N F. Copyright Protection for the Electronic Distribution of Text Documents [J]. Proc. IEEE.1999,7(87):1181-1196.
[11] Lu H, Shi X, Shi Y Q, Kot A C, Chen L. Watermark embedding in DC components of DCT for binary images[C].in proc. IEEE Int.Workshop on Multimedia Signal Processing, US Virgin Islands. 2002:300-303.
[12] 杜樹(shù)新,吳鐵軍.用于回歸估計(jì)的支持向量機(jī)方法[J].系統(tǒng)仿真學(xué)報(bào),2003,15(11):1580-1633.
[13] 孫德山,吳今培,肖健華.SVR在混沌時(shí)間序列預(yù)測(cè)中的應(yīng)用[J].系統(tǒng)仿真報(bào),2004,3(16):519-521.
[14] 蘇高利,鄧芳萍.關(guān)于支持向量回歸機(jī)的模型選擇[J].科技通報(bào),2006,3(2):154-158..
[15] 李盼池,許少華.支持向量在模式識(shí)別中的核函數(shù)特性分析[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(2):302-304.
[16] Evgeniou T., Pontil M.,Poggio T. Regularization networks and support vector machines[J]. Advances in Computational Mathematics, 2000,13(1):1-50.
[17] Suykens J.A.K., Vandewalle J.Recurrent least squares support vector machines,IEEE Transactions on Circuits and Systems-I,2000,47(7),1109-1114.
[18] 閻威武,邵惠鶴.支持向量機(jī)和最小二乘支持向量機(jī)的比較及應(yīng)用研究[J].控制與決策,2003,18(3):358-360.