胡興武,羅 毅
(華北電力大學(xué)控制與計(jì)算機(jī)工程學(xué)院,北京102206)
目前,中國(guó)城市生活垃圾成分復(fù)雜、含水率高、熱值低、無(wú)機(jī)物含量高、有機(jī)物含量少,給焚燒爐燃燒控制帶來(lái)一定難度。因此,采用全局建模方法很難精確描述系統(tǒng),而傳統(tǒng)的建模方法(如神經(jīng)網(wǎng)絡(luò)等)多數(shù)基于經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化原則,泛化能力不強(qiáng),存在“過(guò)擬合”問題。支持向量機(jī)[1](Support Vector Machines,SVM)是近年來(lái)應(yīng)用于建模的一種新學(xué)習(xí)方法,與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,支持向量機(jī)算法最終將轉(zhuǎn)化為一個(gè)二次型尋優(yōu)問題,在理論上得到的是全局最優(yōu)點(diǎn),解決了在神經(jīng)網(wǎng)絡(luò)中無(wú)法避免的局部極小值問題。最小二乘支持向量機(jī)是標(biāo)準(zhǔn)支持向量機(jī)的一種擴(kuò)展和二次損失函數(shù)下的一種形式,由于其解題速度快,在函數(shù)估計(jì)和逼近中得到了廣泛應(yīng)用。
近年來(lái),Vapnik等[1-2]提出的標(biāo)準(zhǔn)支持向量機(jī)(SVM)方法已在許多領(lǐng)域取得了成功應(yīng)用。支持向量機(jī)最優(yōu)求解基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化的思想,因此具有比其它非線性函數(shù)逼近方法更強(qiáng)的泛化能力,局部最優(yōu)解一定是全局最優(yōu)解;核函數(shù)利用隱式非線性變換,解決了維數(shù)災(zāi)難問題;拓?fù)浣Y(jié)構(gòu)由支持向量決定,避免了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)需要經(jīng)驗(yàn)試湊的缺點(diǎn),能以任意的精度逼近任意函數(shù)。
支持向量機(jī)大部分應(yīng)用實(shí)例都是離線式的,采用離線式學(xué)習(xí)算法就可以解決。如果學(xué)習(xí)機(jī)的樣本是在線采集的,就必須使用在線學(xué)習(xí)算法,要求在1個(gè)采樣時(shí)間周期內(nèi)必須完成1次完整的運(yùn)算,以更新參數(shù)。
Suykens[4]提出了最小二乘支持向量機(jī)(LSSVM),把支持向量機(jī)的學(xué)習(xí)問題轉(zhuǎn)化為解線性方程組問題,降低了計(jì)算復(fù)雜性,具有較快的運(yùn)算速度。表1為SVM與LS-SVM訓(xùn)練速度的對(duì)比,可以看出最小二乘支持向量機(jī)收斂速度更快。最小二乘支持向量機(jī)[2]是支持向量機(jī)的一種改進(jìn),將傳統(tǒng)支持向量機(jī)中的不等式約束改為等式約束且將誤差平方和(Sum Squares Error)損失函數(shù)作為訓(xùn)練集的經(jīng)驗(yàn)損失,這樣就把解二次規(guī)劃問題轉(zhuǎn)化為求解線性方程組問題,提高了求解問題的速度和收斂精度。
表1 SVM與LS-SVM訓(xùn)練速度的對(duì)比
回歸最小二乘支持向量機(jī)的提法如下[4]:
式中x∈Rn,y∈R;非線性函數(shù)φ(x)將輸入空間映射為高維特征空間。
給定訓(xùn)練數(shù)據(jù)集{xk,yk}Nk=1,LS-SVM定義如下優(yōu)化問題,表達(dá)式為
滿足約束
定義Lagrange函數(shù)為
式中αk為L(zhǎng)agrange乘子。
根據(jù)K-T最優(yōu)條件
對(duì)于k=1,2,…,n,消去w和ek,得到此優(yōu)化問題如下解析解,表達(dá)式為
式中,y=[y1,y2,…,yN]T;l=[1,…,1]T; α=[α1,α2,…,αN]T。Ω為一個(gè)方陣,第k列l(wèi)行的元素為
Ωkl=φ(xk)Tφ(xl)=K(xk,xl),K(·,·)為核函數(shù)。
在式(5)的基礎(chǔ)上可進(jìn)一步求出w,從而得到訓(xùn)練數(shù)據(jù)集的非線性逼近,表達(dá)式為
常用的核函數(shù)形式有線性、徑向、多項(xiàng)式、感知器等,這里使用徑向基函數(shù)RBF函數(shù)為
式中σ為待定參數(shù),表示徑向基函數(shù)的寬度。
從式(7)可知,SVM回歸可用3層的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)表示,其中輸入層、隱層、輸出層節(jié)點(diǎn)數(shù)分別為n、N、l,而輸入與隱層之間、隱層與輸出之間的連接權(quán)值分別為l、αk(k=1,2,…,N)。
另外,由于在求解式(2)的過(guò)程中,所有元素都不為零,使LS-SVM不具有標(biāo)準(zhǔn)SVM的支持向量稀疏性。為了得到稀疏的支持向量集,Suykens[3-4]提出一種修剪算法,按照αk的絕對(duì)值的大小決定訓(xùn)練集中數(shù)據(jù)向量(支持向量)的重要程度,并從數(shù)據(jù)集中去掉一小部分最不重要的數(shù)據(jù)向量,利用剩下的數(shù)據(jù)向量重新進(jìn)行函數(shù)估計(jì)。在調(diào)整過(guò)程中可以調(diào)整處罰因子γ和核寬度σ的值,從而提高函數(shù)的逼近性能。
LS-SVM控制器結(jié)構(gòu)如圖1所示??刂破饔啥S輸入、一維輸出構(gòu)成,中間部分為L(zhǎng)S-SVM網(wǎng)絡(luò),功能為實(shí)現(xiàn)系統(tǒng)的控制決策,中間節(jié)點(diǎn)個(gè)數(shù)為支持向量個(gè)數(shù)。變量e(t)、ec(t)、u(t)分別是系統(tǒng)的偏差值、系統(tǒng)的偏差變化率以及控制器的輸出值。
圖1 LS-SVM控制器結(jié)構(gòu)
圖1中虛線內(nèi)為L(zhǎng)S-SVM控制器,控制器分為輸入層、隱含層和輸出層3層。控制決策過(guò)程如下。
輸入層:將輸入變量e(t)、ec(t)作為控制系統(tǒng)的輸入x。
隱含層:完成二維輸入x與SVM進(jìn)行核運(yùn)算,
影響LS-SVM控制器性能的參數(shù)主要有處罰因子γ、核寬度σ等,這些參數(shù)總是在1個(gè)有限的范圍內(nèi)才能表現(xiàn)出較好的性能,偏離這些范圍會(huì)使LS -SVM控制器的性能明顯下降且不同的被控對(duì)象總存在1個(gè)最佳的參數(shù)組合點(diǎn)。
應(yīng)用最小二乘法求解時(shí),處罰因子γ和核參數(shù)σ的選擇很重要。本文用網(wǎng)絡(luò)搜索法先選擇參數(shù)對(duì)(γ、σ),然后用交叉驗(yàn)證法[5-6]對(duì)目標(biāo)函數(shù)(如均方差最小)進(jìn)行尋優(yōu),直至找到最佳參數(shù)對(duì),使交叉驗(yàn)證精度最高。選擇最佳參數(shù)對(duì)的過(guò)程如下。
a.找到合適的γ和σ集。通過(guò)實(shí)驗(yàn)測(cè)試,發(fā)現(xiàn)按照指數(shù)增長(zhǎng)方式生成2種參數(shù)集是一種有效的方法,例如
采用網(wǎng)格搜索簡(jiǎn)單直接,每對(duì)參數(shù)(γ、σ)相互獨(dú)立,可以并行地進(jìn)行網(wǎng)格搜索。
b.采用網(wǎng)格搜索法選擇1對(duì)參數(shù)(γ、σ)并進(jìn)行交叉驗(yàn)證。把樣本集D分為S組{G1,G2…GS},把任意的S-1組作為訓(xùn)練集,剩余的1組作為驗(yàn)證集。通過(guò)選擇不同的驗(yàn)證集,可重復(fù)S次。泛化性能P可通過(guò)下式評(píng)價(jià),表達(dá)式為
式中Gi為第i組驗(yàn)證集;yN為驗(yàn)證集的樣本;xi為用D-Gi作為訓(xùn)練樣本時(shí)得到的參數(shù)向量,y(xN|xi)為L(zhǎng)S-SVM系統(tǒng)的輸出。
c.循環(huán)選擇參數(shù)對(duì)并進(jìn)行交叉驗(yàn)證,計(jì)算每對(duì)參數(shù)的性能P,直至網(wǎng)格搜索停止,使式(8)P最小的參數(shù)對(duì)(γ、σ)最佳。應(yīng)用交叉驗(yàn)證方法選擇參數(shù)能夠避免過(guò)擬合問題。
由于垃圾燃燒具有大遲延、大慣性的特性,采用全局建模方法很難精確描述系統(tǒng),只能得到近似模型。以馬丁式爐排爐為例,控制燃燒主要為控制爐溫,爐排對(duì)控制爐溫起著重要作用。以爐排為控制對(duì)象,以爐膛溫度偏差作為控制器輸入、爐排速度作為控制器輸出構(gòu)成的控制系統(tǒng)如圖2所示。變量r(t)、y(t)、u(t)、e(t)、ec(t)分別是系統(tǒng)給定值、被控對(duì)象的輸出值、被控對(duì)象的輸入值、系統(tǒng)的偏差值、系統(tǒng)的偏差變化率,e(t)=r(t)-y(t),ec(t)=de(t)/dt。
以爐排速度為輸入,爐溫為輸出,用階躍響應(yīng)法得到爐排系統(tǒng)的近似數(shù)學(xué)模型如下[9],表達(dá)式為
式中K0=20,τ=0.5s,T1=8,T2=6,a=1,b=1,即被控對(duì)象為1個(gè)二階時(shí)滯非線性系統(tǒng)。
圖2 LS-SVM控制系統(tǒng)結(jié)構(gòu)
系統(tǒng)仿真過(guò)程:首先用網(wǎng)格搜索法選擇參數(shù)對(duì),用交叉驗(yàn)證法進(jìn)行尋優(yōu),找到最佳參數(shù)對(duì),然后用已知數(shù)據(jù)對(duì)控制器進(jìn)行訓(xùn)練,把訓(xùn)練好的控制器模型加入控制系統(tǒng)中,利用一階階躍信號(hào)模擬給定信號(hào),將其與反饋信號(hào)相減后得到偏差信號(hào),并將偏差信號(hào)做微分處理,得到偏差變化率;將偏差信號(hào)與偏差變化率送入LS-SVM控制器進(jìn)行運(yùn)算,由控制器得到控制量對(duì)被控對(duì)象進(jìn)行控制。
為了比較LS-SVM控制器與傳統(tǒng)PID控制器的控制效果,用以上模型分別控制算法進(jìn)行仿真對(duì)比。輸入采用單位階躍信號(hào),同時(shí)為了比較系統(tǒng)的抗干擾能力,在仿真時(shí)間30 s時(shí)加入寬度0.01 s、幅值0.2的脈沖信號(hào)作為干擾。圖3為兩種不同控制系統(tǒng)的仿真結(jié)果。表2為兩種控制系統(tǒng)在性能指標(biāo)上的對(duì)比。仿真結(jié)果表明:對(duì)于階躍輸入,LS -SVM控制系統(tǒng)易于達(dá)到穩(wěn)定,響應(yīng)平穩(wěn),更迅速;對(duì)于脈沖干擾,LS-SVM系統(tǒng)抗干擾能力更強(qiáng)。可以看出,在超調(diào)量、穩(wěn)態(tài)精度和調(diào)節(jié)時(shí)間方面,LSSVM控制系統(tǒng)有比較好的控制效果。
圖3 階躍與脈沖輸入下二階非線性時(shí)滯系統(tǒng)仿真圖
表2 PID與LS-SVM控制效果的對(duì)比
圖4為控制器輸出變化曲線。PID控制器輸出變化率很大,LS-SVM控制器輸出平緩,可見LS -SVM比常規(guī)PID控制具有更強(qiáng)的適應(yīng)性。
圖4 二階非線性時(shí)滯系統(tǒng)控制輸出仿真
本文將最小二乘支持向量機(jī)運(yùn)用于垃圾焚燒發(fā)電控制,設(shè)計(jì)了一種最小二乘支持向量機(jī)控制器。垃圾焚燒控制仿真結(jié)果表明,該控制器抗干擾效果好,適應(yīng)性強(qiáng),具有小樣本學(xué)習(xí)、泛化能力強(qiáng)、控制性能優(yōu)良等特點(diǎn)。
[1] Vapnik V N.An overview of statistical learning theory[J].IEEE Trans.on Neural Networks,1999,10(5):988-999.
[2] Platt J.Fast training of support vector machine using sequential minimum optimization[C].Advance in Kernel Methods-support Vector Learning,Cambridge,1999:185-208.
[3] Suykens J A K,Lukas L,Vandewalle J.Sparse approximation using least squares support vector machine[C].IEEE Int.Symposium on Circuit and Systems(ISCAS 2000),Geneva,Switzerland,2000.
[4] Suykens J A K,Vandewalle J.Least squares support vector machine classifiers[J].Neural Network Letters,1999,9(3):293 -300.
[5] Gestel T V,Suykens J A K,Lanckriet G.Bayesian framework for least squares support vector machine classifiers,Gaussian processes and kernel fisher discriminant analysis[J].Neural Computation,2002,15(5):1115-1148.
[6] Suykens J A K.Vandewalle J.Recurrent least squares support vector machines[J].IEEE Transactions on Circuits and Systems-I,2000,47(7):1109-1114.
[7] Plat t J.Sequential minimal optimization:A fast algorithm for training support vector machine[R].Washington:Microsoft Research,1998.
[8] Nello C,John S T,李國(guó)正,等.支持向量機(jī)導(dǎo)論[M].北京:電子工業(yè)出版社,2004.
[9] 華祥貴,孫躍.垃圾焚燒爐垃圾自動(dòng)燃燒模糊控制研究[D].重慶:重慶大學(xué),2008.
[10] 張學(xué)工.關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)[J].自動(dòng)化學(xué)報(bào),2000,26(11):34,42.
[11] 許建華,張學(xué)工,李衍達(dá).支持向量機(jī)的新發(fā)展[J].控制與決策,2004,19(5):481-484,495.
[12] 閻輝,張學(xué)工,李衍達(dá).支持向量機(jī)與最小二乘法的關(guān)系研究[J].清華大學(xué)學(xué)報(bào),2001,41(9):77-80.
[13] 馬勇,黃德先,金以慧.基于支持向量機(jī)的軟測(cè)量建模方法[J].信息與控制,2004,33(4):417-421.
[14] 馮瑞,張浩然,邵惠鶴.基于SVM的軟測(cè)量建模[J].信息與控制,2002,31(6):567-571.
[15] 靳濤,付忠廣,劉剛,等.反向建模方法在火電廠關(guān)鍵參數(shù)建模中的應(yīng)用[J].動(dòng)力工程,2009,29(11):1008-1012.