王 杰,陳鍇鵬
(鄭州大學(xué)電氣工程學(xué)院,河南鄭州450001)
預(yù)測控制因其對模型的精度和表達(dá)形式要求不高而受到了廣泛關(guān)注,但是在面臨非線性控制對象時(shí)存在著模型失配、魯棒性差的問題.因此研究和改進(jìn)非線性預(yù)測控制是一個非常有意義的課題[1].
支持向量機(jī)(Support Vector Machine,SVM)在解決非線性問題上與其它算法相比有泛化能力強(qiáng)、魯棒性好等優(yōu)點(diǎn)[2].但是LeCun等人的在研究大規(guī)模樣本回歸時(shí)發(fā)現(xiàn),SVM訓(xùn)練的速度要明顯慢于同等精度的神經(jīng)網(wǎng)絡(luò)[3].為了提高SVM的訓(xùn)練速度,筆者提出了一種基于簡化決策函數(shù)的SVM預(yù)測控制器,采用SVM對非線性對象進(jìn)行回歸建模,并通過矩陣變換對SVM的支持向量進(jìn)行約簡,加快了模型訓(xùn)練速度,將對象的SVM模型作為預(yù)測控制中的預(yù)測模型,通過粒子群算法(Particle Swarm Optimization,PSO)來確定 SVM的最優(yōu)參數(shù)和對預(yù)測控制的最優(yōu)控制律進(jìn)行滾動優(yōu)化[4].
s.t.yi(〈φ ( xi),w〉+b )≥1 - ξi,ξi≥0,i∈ N構(gòu)造決策函數(shù)K(·, ·)是將樣本向量映射至高維空間的核函數(shù).根據(jù)基礎(chǔ)線性代數(shù)理論,可以證明支持向量x(k)在特征空間Z中與其它支持向量是線性相關(guān)的,即有為標(biāo)量常數(shù).則決策函數(shù)的表達(dá)式可以寫成如下形式:
已知線性相關(guān)的向量可以用其它向量表示,因此,在表述決策函數(shù)的時(shí)候線性相關(guān)的支持向量是不需要的.所以,我們可以對支持向量進(jìn)行消減來簡化決策函數(shù).采取行階次消減的的形式來對決策函數(shù)進(jìn)行簡化[6].
研究過程中發(fā)現(xiàn),僅僅通過矩陣線性變換來約簡決策函數(shù),效果不太明顯,為了提高簡化的效果,引入松弛變量Γ,在通過矩陣變換尋找依賴關(guān)系的時(shí)候,如果某一行的元素值全部小于Γ,則該樣本點(diǎn)對應(yīng)的支持向量可以刪除.合理選擇松弛因子的大小,使得訓(xùn)練誤差在可以接受的范圍內(nèi)實(shí)現(xiàn)決策函數(shù)的最簡化.由于決策函數(shù)復(fù)雜度降低,訓(xùn)練的速度得到了明顯提升.
采用Lagrange乘數(shù)法解決上述約束問題
式中:α為拉格朗日乘子.根據(jù)最優(yōu)性條件可以得到原問題的對偶問題:
公式(4)問題的求解通過訓(xùn)練數(shù)據(jù)集得到.
如何選取最佳的SVM參數(shù),國際上還未出現(xiàn)一個公認(rèn)的最好方法,目前所用的方法是讓c和g在一定范圍內(nèi)取值,利用訓(xùn)練數(shù)據(jù)來測試分類準(zhǔn)確率,利用分類準(zhǔn)確率來確定c和g的值[7].如果遇到多組最優(yōu)的c和g,則采取c值最小的一組數(shù)據(jù).這樣可以避免c值過大引起的過學(xué)習(xí)情況.為了得到最佳的SVM參數(shù),筆者采用PSO算法對SVM的懲罰參數(shù)c、不敏感損失系數(shù)g及核函數(shù)σ參數(shù)進(jìn)行優(yōu)化,最終得到的SVM模型表達(dá)式為:
為使廣義預(yù)測控制器能夠作用于SVM非線性模型,對式(5)進(jìn)行線性化處理:對第k個采樣周期,xk是相應(yīng)的回歸向量,取式(5)在xk處泰勒展開式,得到線性化模型[8]:
取回歸向量:x(k)=[xk(1)…xk(nu+ny)]=[u(k-1)…u(k-nu)y(k-1)…y(k-ny)]
令n=nu+ny,選取RBF核函數(shù),式(6)可寫為
式(7)可作為預(yù)測控制的預(yù)測模型.
預(yù)測控制的任務(wù)就是使系統(tǒng)輸出y(t+j)盡可能逼近輸出設(shè)定值yr(t+j).性能指標(biāo)函數(shù)如下[9]:
式中:E{·}表示取數(shù)學(xué)期望,一般工業(yè)過程中最終輸出設(shè)定值為常值c,為了使輸出平穩(wěn),令yr(k+j)=αjy(k)+(1-αj)c,α∈[0,1)為柔化因子;N1和N2分別為優(yōu)化時(shí)域的起始與終止時(shí)刻;nu為控制時(shí)域[10].為了計(jì)算預(yù)測控制器的控制律,采用粒子群算法進(jìn)行迭代計(jì)算.
設(shè)定待優(yōu)化的控制量u(k+1)為PSO算法中的位置向量,SVM預(yù)測輸出量為yM(k+j+1),系統(tǒng)實(shí)際的輸出量和預(yù)測輸出量之間的偏差為e(k+j)=y(k+j)-yM(k+j),誤差修正后估計(jì)輸出為yP(k+j+1)=yM(k+j+1)+e(k+j).PSO適應(yīng)度函數(shù)選取為預(yù)測控制的性能指標(biāo)函數(shù).輸出gbest為最優(yōu)控制量u(k+1).粒子更新的公式為[11]
式中:θini和θend為慣性權(quán)重的初始值和終值,c1和c2為學(xué)習(xí)因子,m為最大迭代次數(shù).慣性權(quán)重的大小代表算法的全局和局部的搜索能力.學(xué)習(xí)因子c1和c2反映了粒子群之間的信息交流[12].
基于以上算法的描述及分析,筆者算法流程如圖1所示.
圖1 筆者算法流程圖Fig.1 Algorithm flow chart this paper proposed
為了驗(yàn)證決策函數(shù)約簡對支持向量個數(shù)減少的效果,我們采用kinfamily數(shù)據(jù)庫中的4 000個數(shù)據(jù)點(diǎn)來進(jìn)行驗(yàn)證,簡化后的結(jié)果如表1所示.
為驗(yàn)證筆者方法在實(shí)際工業(yè)過程中的有效性,以水泥回轉(zhuǎn)窯窯尾煙室溫度模型為控制對象進(jìn)行控制仿真.選取分解爐出口溫度、預(yù)燃室下部溫度、入窯二次風(fēng)溫、五級筒出口溫度和窯尾煙室溫度歷史值5個變量為輸入量,輸出量為窯尾煙室溫度.數(shù)據(jù)采樣間隔為每分鐘采樣一次,選取水泥回轉(zhuǎn)窯連續(xù)正常工作3 d時(shí)5 000組數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),前4 000組用來建模,后1 000組用來測試.采取PSO算法來確定SVM的參數(shù),Cbest=86.301 8,gbest=0.01模型的預(yù)測誤差由圖2所示.
表1 RBF核函數(shù)SVM決策函數(shù)簡化結(jié)果Tab.1 Results of SVM decision functions simplification using RBF kernels
圖2 SVM建模誤差Fig.2 modeling error rate of SVM
由圖2可以看出LSSVM建立的模型誤差基本在-0.05~+0.05之間.根據(jù)相關(guān)工藝經(jīng)驗(yàn),窯尾煙室的最佳溫度為1 200℃左右.因此設(shè)定期望輸出值c=1 200,優(yōu)化時(shí)域?yàn)镹2-N1=10,控制時(shí)域nu=5,μ=0.9,PSO算法中粒子數(shù)m=10,θ=0.5 最大迭代次數(shù)為 200,c1=1.6 ,c2=1.5.系統(tǒng)響應(yīng)圖為圖3.從圖3中可以看出在對回轉(zhuǎn)窯窯尾煙室溫度模型的控制過程當(dāng)中,筆者所采用的方法能夠有效地減少系統(tǒng)的超調(diào)量,加快了系統(tǒng)的響應(yīng)速度.
圖3 筆者方法與傳統(tǒng)GPC控制效果對比Fig.3 Control effect of GPC and method we proposed
采取對決策函數(shù)進(jìn)行約簡的方式來對SVM進(jìn)行改進(jìn),實(shí)驗(yàn)數(shù)據(jù)表明這種方法能夠在不影響模型精度的情況下有效地減少SVM的支持向量個數(shù).廣義預(yù)測控制具有對模型精度要求不高的特性,因此約簡后的模型精度上完全滿足預(yù)測模型的精度要求,實(shí)現(xiàn)了廣義預(yù)測控制對非線性模型的控制.通過對水泥回轉(zhuǎn)窯窯尾煙室溫度模型的仿真結(jié)果上表明該算法在實(shí)際工業(yè)過程中的適用性.
[1]席裕庚.預(yù)測控制[M].北京:國防工業(yè)出版社,1993.
[2]VAPNIK V N.Statistical Learning Theory[M].New York:Wiley,1998.
[3]LECUN Y,JACKEL L,BOTTOU L.Comparision of learning algorithms for handwritten digit recognition[C]//International Conference on Artificial Neural Networks.P.Gallinari,1995.
[4]肖本賢,朱志國,劉一福.基于粒子群算法混合優(yōu)化的廣義預(yù)測控制器研究[J].系統(tǒng)仿真學(xué)報(bào),2007,19(4):820 -824.
[5]COLLOBERT R,BENGIC S.SVMTorch:Support vector machines for large-scale regression problems[J].Journal of Machine Learning Research.2001(1):143 -160.
[6]TOM D,KEVIN E G,ANNETTE M.Exact Simplification of support vector solutions[J].Journal of Machine Learning Research,2001(2):293 -297.
[7]姜諳男.基于PSO-SVM非線性時(shí)序模型的隧洞圍巖變形預(yù)報(bào)[J].巖土力學(xué),2007,27(6):1176-1179.
[8]LUCH T C C.Generalized predictive control using recurrent fuzzy neural networks for industrial processes[J].Journal of Process Control,2007,17(1):83-92.
[9]ALFI A.PSO with Adaptive mutation and inertia weight and its application in parameter estimation of dynamic systems[J].Acta Automatica Sinica,2011,37(5):541-549.
[10]郭巧,曹海璐.一種改進(jìn)的廣義預(yù)測控制方法及其應(yīng)用[J].控制理論與應(yīng)用,2001,18(2):310-313.
[11]穆朝絮,張瑞民,孫長銀.基于粒子群優(yōu)化的非線性系統(tǒng)最小二乘支持向量機(jī)預(yù)測控制方法[J].控制理論與應(yīng)用.2010,27(2):164-168.
[12]賈嶸,洪剛,薛建輝,等.粒子群優(yōu)化-最小二乘支持向量機(jī)算法在高壓斷路器機(jī)械故障診斷中的應(yīng)用[J].電網(wǎng)技術(shù).2010,34(3):197 -200.