王 杰,陳鍇鵬
(鄭州大學電氣工程學院,河南鄭州450001)
預測控制因其對模型的精度和表達形式要求不高而受到了廣泛關注,但是在面臨非線性控制對象時存在著模型失配、魯棒性差的問題.因此研究和改進非線性預測控制是一個非常有意義的課題[1].
支持向量機(Support Vector Machine,SVM)在解決非線性問題上與其它算法相比有泛化能力強、魯棒性好等優點[2].但是LeCun等人的在研究大規模樣本回歸時發現,SVM訓練的速度要明顯慢于同等精度的神經網絡[3].為了提高SVM的訓練速度,筆者提出了一種基于簡化決策函數的SVM預測控制器,采用SVM對非線性對象進行回歸建模,并通過矩陣變換對SVM的支持向量進行約簡,加快了模型訓練速度,將對象的SVM模型作為預測控制中的預測模型,通過粒子群算法(Particle Swarm Optimization,PSO)來確定 SVM的最優參數和對預測控制的最優控制律進行滾動優化[4].

s.t.yi(〈φ ( xi),w〉+b )≥1 - ξi,ξi≥0,i∈ N構造決策函數K(·, ·)是將樣本向量映射至高維空間的核函數.根據基礎線性代數理論,可以證明支持向量x(k)在特征空間Z中與其它支持向量是線性相關的,即有為標量常數.則決策函數的表達式可以寫成如下形式:

已知線性相關的向量可以用其它向量表示,因此,在表述決策函數的時候線性相關的支持向量是不需要的.所以,我們可以對支持向量進行消減來簡化決策函數.采取行階次消減的的形式來對決策函數進行簡化[6].
研究過程中發現,僅僅通過矩陣線性變換來約簡決策函數,效果不太明顯,為了提高簡化的效果,引入松弛變量Γ,在通過矩陣變換尋找依賴關系的時候,如果某一行的元素值全部小于Γ,則該樣本點對應的支持向量可以刪除.合理選擇松弛因子的大小,使得訓練誤差在可以接受的范圍內實現決策函數的最簡化.由于決策函數復雜度降低,訓練的速度得到了明顯提升.
采用Lagrange乘數法解決上述約束問題

式中:α為拉格朗日乘子.根據最優性條件可以得到原問題的對偶問題:

公式(4)問題的求解通過訓練數據集得到.
如何選取最佳的SVM參數,國際上還未出現一個公認的最好方法,目前所用的方法是讓c和g在一定范圍內取值,利用訓練數據來測試分類準確率,利用分類準確率來確定c和g的值[7].如果遇到多組最優的c和g,則采取c值最小的一組數據.這樣可以避免c值過大引起的過學習情況.為了得到最佳的SVM參數,筆者采用PSO算法對SVM的懲罰參數c、不敏感損失系數g及核函數σ參數進行優化,最終得到的SVM模型表達式為:

為使廣義預測控制器能夠作用于SVM非線性模型,對式(5)進行線性化處理:對第k個采樣周期,xk是相應的回歸向量,取式(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核函數,式(6)可寫為

式(7)可作為預測控制的預測模型.
預測控制的任務就是使系統輸出y(t+j)盡可能逼近輸出設定值yr(t+j).性能指標函數如下[9]:

式中:E{·}表示取數學期望,一般工業過程中最終輸出設定值為常值c,為了使輸出平穩,令yr(k+j)=αjy(k)+(1-αj)c,α∈[0,1)為柔化因子;N1和N2分別為優化時域的起始與終止時刻;nu為控制時域[10].為了計算預測控制器的控制律,采用粒子群算法進行迭代計算.
設定待優化的控制量u(k+1)為PSO算法中的位置向量,SVM預測輸出量為yM(k+j+1),系統實際的輸出量和預測輸出量之間的偏差為e(k+j)=y(k+j)-yM(k+j),誤差修正后估計輸出為yP(k+j+1)=yM(k+j+1)+e(k+j).PSO適應度函數選取為預測控制的性能指標函數.輸出gbest為最優控制量u(k+1).粒子更新的公式為[11]


式中:θini和θend為慣性權重的初始值和終值,c1和c2為學習因子,m為最大迭代次數.慣性權重的大小代表算法的全局和局部的搜索能力.學習因子c1和c2反映了粒子群之間的信息交流[12].
基于以上算法的描述及分析,筆者算法流程如圖1所示.

圖1 筆者算法流程圖Fig.1 Algorithm flow chart this paper proposed
為了驗證決策函數約簡對支持向量個數減少的效果,我們采用kinfamily數據庫中的4 000個數據點來進行驗證,簡化后的結果如表1所示.
為驗證筆者方法在實際工業過程中的有效性,以水泥回轉窯窯尾煙室溫度模型為控制對象進行控制仿真.選取分解爐出口溫度、預燃室下部溫度、入窯二次風溫、五級筒出口溫度和窯尾煙室溫度歷史值5個變量為輸入量,輸出量為窯尾煙室溫度.數據采樣間隔為每分鐘采樣一次,選取水泥回轉窯連續正常工作3 d時5 000組數據作為實驗數據,前4 000組用來建模,后1 000組用來測試.采取PSO算法來確定SVM的參數,Cbest=86.301 8,gbest=0.01模型的預測誤差由圖2所示.

表1 RBF核函數SVM決策函數簡化結果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之間.根據相關工藝經驗,窯尾煙室的最佳溫度為1 200℃左右.因此設定期望輸出值c=1 200,優化時域為N2-N1=10,控制時域nu=5,μ=0.9,PSO算法中粒子數m=10,θ=0.5 最大迭代次數為 200,c1=1.6 ,c2=1.5.系統響應圖為圖3.從圖3中可以看出在對回轉窯窯尾煙室溫度模型的控制過程當中,筆者所采用的方法能夠有效地減少系統的超調量,加快了系統的響應速度.

圖3 筆者方法與傳統GPC控制效果對比Fig.3 Control effect of GPC and method we proposed
采取對決策函數進行約簡的方式來對SVM進行改進,實驗數據表明這種方法能夠在不影響模型精度的情況下有效地減少SVM的支持向量個數.廣義預測控制具有對模型精度要求不高的特性,因此約簡后的模型精度上完全滿足預測模型的精度要求,實現了廣義預測控制對非線性模型的控制.通過對水泥回轉窯窯尾煙室溫度模型的仿真結果上表明該算法在實際工業過程中的適用性.
[1]席裕庚.預測控制[M].北京:國防工業出版社,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]肖本賢,朱志國,劉一福.基于粒子群算法混合優化的廣義預測控制器研究[J].系統仿真學報,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非線性時序模型的隧洞圍巖變形預報[J].巖土力學,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].控制理論與應用,2001,18(2):310-313.
[11]穆朝絮,張瑞民,孫長銀.基于粒子群優化的非線性系統最小二乘支持向量機預測控制方法[J].控制理論與應用.2010,27(2):164-168.
[12]賈嶸,洪剛,薛建輝,等.粒子群優化-最小二乘支持向量機算法在高壓斷路器機械故障診斷中的應用[J].電網技術.2010,34(3):197 -200.