岳瑞華 楊學(xué)猛 徐中英
第二炮兵工程大學(xué)302教研室,西安 710025
美國(guó)標(biāo)準(zhǔn)局(NBS,現(xiàn)在為國(guó)家標(biāo)準(zhǔn)技術(shù)研究院NIST)提出的基于測(cè)量過(guò)程控制方法的量值傳遞方式——計(jì)量質(zhì)量保證方案(MAP)[1],把測(cè)量看成一個(gè)全過(guò)程,通過(guò)對(duì)測(cè)量數(shù)據(jù)的定期監(jiān)控和分析,使測(cè)量過(guò)程始終處于連續(xù)的統(tǒng)計(jì)控制狀態(tài)。對(duì)大型武器系統(tǒng)的測(cè)試設(shè)備而言,在MAP的實(shí)施過(guò)程中如果能利用已有數(shù)據(jù)進(jìn)行預(yù)測(cè),進(jìn)而對(duì)預(yù)測(cè)超差的設(shè)備提前檢定校準(zhǔn),則能夠更加及時(shí)有效地提供技術(shù)支持。
基于統(tǒng)計(jì)學(xué)習(xí)理論的機(jī)器學(xué)習(xí)方法——支持向量機(jī)(SVM,support vector machines)較好地解決了以往困擾很多學(xué)習(xí)方法的小樣本、非線性、過(guò)學(xué)習(xí)、高維數(shù)、局部極小點(diǎn)等實(shí)際問(wèn)題,具有很強(qiáng)的泛化能力[2-3],因而可以用來(lái)進(jìn)行校準(zhǔn)間隔預(yù)測(cè)[4-7]。而SVM核函數(shù)參數(shù)的選擇,對(duì)于SVM回歸估計(jì)的精度影響較大[8-9]。本文提出將粒子群優(yōu)化算法(PSO)應(yīng)用于SVM核函數(shù)參數(shù)的選擇[10],利用改進(jìn)的PSO-SVM對(duì)測(cè)量?jī)x器的測(cè)量值進(jìn)行預(yù)測(cè),依據(jù)Shewhart控制圖或給定不確定度提前檢出超差值,及時(shí)對(duì)測(cè)試設(shè)備檢定校準(zhǔn)。
設(shè)樣本集為:(y1,x1),…,(yl,xl),x∈Rn,y∈R,回歸函數(shù)用下列線性方程來(lái)表示,
f(x)=ωTx+b
(1)
最佳回歸函數(shù)通過(guò)求以下函數(shù)的最小極值得出,
(2)
其中,C是設(shè)定的懲罰因子值,ξ,ξ*為松弛變量的上限與下限。
Vapnik提出運(yùn)用下列不敏感損耗函數(shù):
(3)
通過(guò)優(yōu)化方程:
(4)
求解:
(5)
(6)
對(duì)于非線性模型,可通過(guò)一個(gè)非線性映射將數(shù)據(jù)映射到高維的特征空間中,在其中進(jìn)行線性回歸。非線性SVR的解即可通過(guò)下面方程求出:
(7)
回歸函數(shù)f(x)則為:
(8)
其中,應(yīng)用最廣泛的是RBF核,無(wú)論是低維、高維、小樣本及大樣本等情況,RBF核函數(shù)均適用,具有較寬的收斂域。
粒子樣優(yōu)化算法(PSO)是一種進(jìn)化優(yōu)化算法,源于對(duì)鳥(niǎo)群捕食行為研究,已經(jīng)被證明是一種很好的優(yōu)化方法[10]。其數(shù)學(xué)描述如下:在連續(xù)空間坐標(biāo)系中,設(shè)粒子群個(gè)數(shù)為m,每個(gè)粒子的坐標(biāo)為xi=(xi1,xi2,…,xiD),每個(gè)粒子的飛行速度為vi=(vi1,vi2,…,viD),每個(gè)粒子都有一個(gè)優(yōu)化目標(biāo)函數(shù)決定的適應(yīng)值,對(duì)于第i個(gè)粒子,其所經(jīng)過(guò)的歷史最好位置記為pi=(pi1,pi2,…,piD),也稱(chēng)為個(gè)體極值pbest;整個(gè)群體中所有粒子發(fā)現(xiàn)的最好位置記為pg=(g1,g2,…,gD),也稱(chēng)為全局極值gbest。粒子就是根據(jù)這2個(gè)極值來(lái)不斷更新自己的速度和位置:
vij(k+1)=vij(k)+c1r1(pij-xij(k))+
c2r2(gij-xij(k))
(9)
xij(k+1)=xij(k)+vij(k+1)
(10)
其中:i=1,2,…,m,m表示粒子的總個(gè)數(shù);j=1,2,…,D,D表示一個(gè)粒子的維數(shù),即算法所優(yōu)化的第j個(gè)參數(shù),根據(jù)具體的優(yōu)化問(wèn)題而定;r1,r2為[0,1]之間相對(duì)獨(dú)立的隨機(jī)數(shù);c1,c2為加速因子,通常在[0,2]間取值。為保證收斂性和收斂速度,加入收縮因子γ,(9)式即為:
vij(k+1)=γ{vij(k)+c1r1(pij-xij(k))+
c2r2(gij-xij(k))}
(11)
在每一次迭代過(guò)程中,每個(gè)粒子都需要根據(jù)目標(biāo)函數(shù)來(lái)計(jì)算其適應(yīng)值大小,目標(biāo)函數(shù)可以是均方誤差、方差、標(biāo)準(zhǔn)差等。然后根據(jù)適應(yīng)值來(lái)確定當(dāng)前粒子最優(yōu)位置pij(k)及群體最優(yōu)位置pgj(k),然后根據(jù)式(10)和式(11)調(diào)整各個(gè)粒子的速度及位置。其結(jié)束條件為:
1)迭代次數(shù)達(dá)到設(shè)定值,通常設(shè)定最大迭代次數(shù)為100代[11];
2)群體迄今為止搜索到的最優(yōu)位置滿(mǎn)足預(yù)設(shè)最小適應(yīng)值,通常預(yù)設(shè)適應(yīng)值為0。
SVM的自選參數(shù)C,ξ和γ的選擇,對(duì)于SVM回歸估計(jì)的精度影響很大。其中參數(shù)C可以根據(jù)樣本數(shù)據(jù)的特性,決定模型的復(fù)雜度和對(duì)大于ξ的擬合偏差的懲罰程度。ξ值過(guò)大或過(guò)小,都會(huì)使系統(tǒng)的泛化能力變差。參數(shù)表明了系統(tǒng)對(duì)估計(jì)函數(shù)在樣本數(shù)據(jù)上誤差的期望,其值影響了構(gòu)造回歸函數(shù)的支持矢量數(shù)目。ξ值過(guò)大,回歸估計(jì)精度低,支持矢量數(shù)量少,會(huì)導(dǎo)致過(guò)于平滑的估計(jì);ξ值過(guò)小,不敏感損失函數(shù)作用變小,預(yù)測(cè)結(jié)果的魯棒性減弱。核函數(shù)的參數(shù)γ反映了訓(xùn)練數(shù)據(jù)的特性,對(duì)于系統(tǒng)的泛化能力影響較大。因此,只有合理選擇參數(shù),才可以使SVM回歸估計(jì)得到很好的擬合效果。
如何合理選擇SVM的參數(shù),目前尚無(wú)有效的方法,一般通過(guò)交叉驗(yàn)證試算或梯度下降法求解,為此,本文采用粒子群優(yōu)化算法實(shí)現(xiàn)對(duì)SVM參數(shù)的自動(dòng)優(yōu)化選擇。為了實(shí)現(xiàn)SVM參數(shù)的優(yōu)化選擇,首先將樣本數(shù)據(jù)分為2部分:訓(xùn)練樣本集和測(cè)試樣本集。訓(xùn)練樣本集用于回歸SVM的訓(xùn)練,即求解形如式(4)的二次優(yōu)化問(wèn)題,得到SVM的回歸估計(jì)模型,將訓(xùn)練結(jié)果代入式(8)進(jìn)行預(yù)測(cè),采用均方根誤差(MSE)作為適應(yīng)度評(píng)價(jià)指標(biāo):
(12)
本文中,PSO用來(lái)選擇解決模型選擇問(wèn)題,決定用來(lái)預(yù)測(cè)測(cè)試設(shè)備校準(zhǔn)間隔的SVM回歸模型參數(shù)值[10]。SVM中參數(shù)C,ξ和高斯核函數(shù)的參數(shù)γ作為PSO算法的決策變量。因此,三維向量中,第i個(gè)粒子屬性xi=(xi1,xi2,xi3),pi=(pi1,pi2,…,pi3),vi=(vi1,vi2,…,vi3)分別對(duì)應(yīng)于參數(shù)C,ξ和γ。
采用帶收縮因子的局部最優(yōu)PSO模型,算法流程見(jiàn)圖1,具體步驟如下:
步驟1 參數(shù)初始化:視向量C,ξ和γ為粒子,確定粒子群規(guī)模m,確定加速度因子c1,c2,初始化r1,r2,設(shè)置最大迭代次數(shù);
步驟2 將每個(gè)粒子的個(gè)體極值位置設(shè)置為當(dāng)前位置,計(jì)算每個(gè)粒子的初始適應(yīng)度,取適應(yīng)度最好的粒子所對(duì)應(yīng)的個(gè)體極值作為最初的全局極值;
步驟3 按照式(9)、式(10)和式(11)進(jìn)行迭代計(jì)算,更新粒子的位置和速度;
步驟4 由式(12)評(píng)價(jià)每個(gè)粒子的適應(yīng)值;
步驟5 將更新后的每個(gè)粒子的個(gè)體極值pbest與全局極值gbest比較,若pbest優(yōu)于gbest,則gbest=pbest,否則保留原值;
步驟6 更新迭代次數(shù),i=i+1;
步驟7 判斷是否滿(mǎn)足結(jié)束條件,滿(mǎn)足則輸出全局最優(yōu)解作為支持向量機(jī)的最優(yōu)參數(shù)向量,否則返回步驟3;
步驟8 根據(jù)優(yōu)化的參數(shù)向量建立SVM校準(zhǔn)間隔預(yù)測(cè)模型。
圖1 粒子群優(yōu)化支持向量機(jī)算法流程圖
數(shù)據(jù)來(lái)自于計(jì)量站對(duì)一大型測(cè)控設(shè)備某計(jì)量標(biāo)準(zhǔn)器的1kΩ電阻10年間的校準(zhǔn)記錄[12]。該標(biāo)準(zhǔn)在滿(mǎn)足統(tǒng)計(jì)受控條件下每年由上級(jí)計(jì)量單位進(jìn)行一次檢定,兩次檢定期間,利用更高精度的計(jì)量標(biāo)準(zhǔn)對(duì)其每月進(jìn)行一次精度核查,共得到120個(gè)校準(zhǔn)誤差數(shù)據(jù)。
圖2(a),(b),(c)列出了PSO-SVM與SVM預(yù)測(cè)效果對(duì)比,圖2(d)是預(yù)測(cè)性能的直觀展示。
圖2 SVM和PSO-SVM的預(yù)測(cè)結(jié)果
用于校準(zhǔn)間隔預(yù)測(cè)的傳統(tǒng)SVM方法和所提SPO-SVM方法的均方根誤差對(duì)比見(jiàn)表1。
表1 預(yù)測(cè)效果評(píng)價(jià)
相比參數(shù)優(yōu)化前,MSE降低了0.1503mΩ。由此可見(jiàn),本文提出基于PSO算法優(yōu)化的SVM對(duì)大型測(cè)控設(shè)備計(jì)量校準(zhǔn)間隔進(jìn)行預(yù)測(cè)不僅是可行的,而且可以獲得較好的預(yù)測(cè),是一種有效的預(yù)測(cè)方法。
充分利用了粒子群優(yōu)化算法對(duì)支持向量機(jī)的參數(shù)進(jìn)行全局并行尋優(yōu)能力和SVM強(qiáng)大的非線性映射功能,將PSO與SVM兩種方法進(jìn)行有機(jī)組合,提出了基于PSO-SVM的預(yù)測(cè)方法并應(yīng)用于大型測(cè)控設(shè)備的校準(zhǔn)間隔的預(yù)測(cè)。實(shí)例驗(yàn)證該方法相比SVM具有更好的預(yù)測(cè)效果,并可與Shewhart控制圖結(jié)合,將MAP中發(fā)現(xiàn)超差后的校準(zhǔn)轉(zhuǎn)變?yōu)榛诹W尤簝?yōu)化支持向量機(jī)的預(yù)測(cè)校準(zhǔn),該方法對(duì)于提高計(jì)量質(zhì)量保障水平具有參考意義。
[1] 王立吉.計(jì)量質(zhì)量保證方案[M].中國(guó)計(jì)量出版社, 1992.
[2] 張學(xué)工.關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)[J].自動(dòng)化學(xué)報(bào), 2000(1):36-46.(ZHANG Xuegong.Introduction to Statistical Learning Theory and Support Vector Machines[J].Acta Automatic Sinica, 2000(1):36-46.)
[3] Sch?lkopf B, Smola A J.Learning with Kernels—Support Vector Machines, Regularization, Optimization, and Beyond [M].MIT Press: London, England,2002.
[4] 孫群, 趙穎, 孟曉風(fēng).基于支持向量回歸的自動(dòng)測(cè)試系統(tǒng)校準(zhǔn)間隔動(dòng)態(tài)優(yōu)化[J].兵工學(xué)報(bào), 2009,(1):76-80.(SUN Qun, ZHAO Ying, MENG Xiaofeng.Optimization of Calibration Interval for Automatic Test System Based on Support Vector Regression[J].Acta Armamentarii, 2009,(1):76-80.)
[5] 尉詢(xún)楷, 李應(yīng)紅, 張樸, 等.基于支持向量機(jī)的時(shí)間序列預(yù)測(cè)模型分析與應(yīng)用[J].系統(tǒng)工程與電子技術(shù), 2005,(3): 529-532.(WEI Xunkai, LI Yinghong, ZHANG Pu, et al.Analysis and Applications of Time Series Forecasting Model via Support Vector Machines [J].Systems Engineering and Electronics, 2005,(3): 529-532.)
[6] 余學(xué)鋒, 錢(qián)成, 文海.測(cè)量?jī)x器校準(zhǔn)間隔的確定及其模型[J].計(jì)量學(xué)報(bào), 2002(1): 74-77.(YU Xuefeng, QIAN Cheng, WEN Hai.Determination of the Calibration Interval for a Measuring Instrument by Stochastic Model [J].Acta Metrologica Sinica, 2002,(1): 74-77.)
[7] 余學(xué)鋒, 王亞梅, 田建柱.測(cè)量設(shè)備校準(zhǔn)間隔確定方法工程化應(yīng)用與發(fā)展[J].中國(guó)測(cè)試, 2009,(4):15-18.(YU Xuefeng, WANG Yamei, TIAN Jianzhu.Development and Application of Engineering for Measurement Equipment Calibration Interval Analysis Method [J].China Measurement & Test, 2009,(4):15-18.)
[8] 閻威武, 邵惠鶴.支持向量機(jī)和最小二乘支持向量機(jī)的比較及應(yīng)用研究[J].控制與決策, 2003,18(3):358-360.(YAN Weiwu, SHAO Huihe.Application of Support Vector Machines and Least Squares Support Vector Machines to Heart Disease Diagnoses [J] .Control and Decision, 2003,18(3):358-360.)
[9] Yang J, Zhang Y.Application Research of Support Vector Machines in Condition Trend Prediction of Mechanical Equipment[J].Lecture Notes in Computer Science 2005,3498:857-864.
[10] Aydin I, Karakose M, Akin E.A Multi-objective Artificial Immune Algorithm for Parameter Optimization in Support Vector Machine [J].Applied Soft Computing, 2011,11:120-129.
[11] Pai P-F, Hong W-C.Software Reliability Forecasting by Support Vector Machines with Simulated Annealing Algorithms [J].Journal of Systems and Software,2006,79:747-755.
[12] 劉如峰.軍事計(jì)量標(biāo)準(zhǔn)精度非線性組合預(yù)測(cè)方法研究[D].西安: 第二炮兵工程學(xué)院, 2010.
[13] Bergh F D, Engelbrecht A P.A Study of Particle Swarm Optimization Particle Trajectories [J].Information Science, 2006, 176(8):937-971.
[14] V.K.Support Vector Machines—An Introduction.In Support Vector Machines: Theory and Applications [M].Berlin: Springer, 2005.
[15] 吳曉軍, 楊戰(zhàn)中, 趙明.均勻搜索粒子群算法[J].電子學(xué)報(bào), 2011(6): 1261-1266.(WU Xiaojun, YANG Zhanzhong, ZHAO Ming.The Convergence Analysis of the Uniform Search Particle Swarm Optimization [J].Acta Electronica Sinica, 2011,(6): 1261-1266.)