胡興武,羅 毅
(華北電力大學控制與計算機工程學院,北京102206)
目前,中國城市生活垃圾成分復雜、含水率高、熱值低、無機物含量高、有機物含量少,給焚燒爐燃燒控制帶來一定難度。因此,采用全局建模方法很難精確描述系統,而傳統的建模方法(如神經網絡等)多數基于經驗風險最小化原則,泛化能力不強,存在“過擬合”問題。支持向量機[1](Support Vector Machines,SVM)是近年來應用于建模的一種新學習方法,與傳統的神經網絡相比,支持向量機算法最終將轉化為一個二次型尋優問題,在理論上得到的是全局最優點,解決了在神經網絡中無法避免的局部極小值問題。最小二乘支持向量機是標準支持向量機的一種擴展和二次損失函數下的一種形式,由于其解題速度快,在函數估計和逼近中得到了廣泛應用。
近年來,Vapnik等[1-2]提出的標準支持向量機(SVM)方法已在許多領域取得了成功應用。支持向量機最優求解基于結構風險最小化的思想,因此具有比其它非線性函數逼近方法更強的泛化能力,局部最優解一定是全局最優解;核函數利用隱式非線性變換,解決了維數災難問題;拓撲結構由支持向量決定,避免了神經網絡結構需要經驗試湊的缺點,能以任意的精度逼近任意函數。
支持向量機大部分應用實例都是離線式的,采用離線式學習算法就可以解決。如果學習機的樣本是在線采集的,就必須使用在線學習算法,要求在1個采樣時間周期內必須完成1次完整的運算,以更新參數。
Suykens[4]提出了最小二乘支持向量機(LSSVM),把支持向量機的學習問題轉化為解線性方程組問題,降低了計算復雜性,具有較快的運算速度。表1為SVM與LS-SVM訓練速度的對比,可以看出最小二乘支持向量機收斂速度更快。最小二乘支持向量機[2]是支持向量機的一種改進,將傳統支持向量機中的不等式約束改為等式約束且將誤差平方和(Sum Squares Error)損失函數作為訓練集的經驗損失,這樣就把解二次規劃問題轉化為求解線性方程組問題,提高了求解問題的速度和收斂精度。

表1 SVM與LS-SVM訓練速度的對比
回歸最小二乘支持向量機的提法如下[4]:

式中x∈Rn,y∈R;非線性函數φ(x)將輸入空間映射為高維特征空間。
給定訓練數據集{xk,yk}Nk=1,LS-SVM定義如下優化問題,表達式為

滿足約束

定義Lagrange函數為

式中αk為Lagrange乘子。
根據K-T最優條件

對于k=1,2,…,n,消去w和ek,得到此優化問題如下解析解,表達式為

式中,y=[y1,y2,…,yN]T;l=[1,…,1]T; α=[α1,α2,…,αN]T。Ω為一個方陣,第k列l行的元素為
Ωkl=φ(xk)Tφ(xl)=K(xk,xl),K(·,·)為核函數。
在式(5)的基礎上可進一步求出w,從而得到訓練數據集的非線性逼近,表達式為

常用的核函數形式有線性、徑向、多項式、感知器等,這里使用徑向基函數RBF函數為

式中σ為待定參數,表示徑向基函數的寬度。
從式(7)可知,SVM回歸可用3層的網絡結構來表示,其中輸入層、隱層、輸出層節點數分別為n、N、l,而輸入與隱層之間、隱層與輸出之間的連接權值分別為l、αk(k=1,2,…,N)。
另外,由于在求解式(2)的過程中,所有元素都不為零,使LS-SVM不具有標準SVM的支持向量稀疏性。為了得到稀疏的支持向量集,Suykens[3-4]提出一種修剪算法,按照αk的絕對值的大小決定訓練集中數據向量(支持向量)的重要程度,并從數據集中去掉一小部分最不重要的數據向量,利用剩下的數據向量重新進行函數估計。在調整過程中可以調整處罰因子γ和核寬度σ的值,從而提高函數的逼近性能。
LS-SVM控制器結構如圖1所示。控制器由二維輸入、一維輸出構成,中間部分為LS-SVM網絡,功能為實現系統的控制決策,中間節點個數為支持向量個數。變量e(t)、ec(t)、u(t)分別是系統的偏差值、系統的偏差變化率以及控制器的輸出值。

圖1 LS-SVM控制器結構
圖1中虛線內為LS-SVM控制器,控制器分為輸入層、隱含層和輸出層3層。控制決策過程如下。
輸入層:將輸入變量e(t)、ec(t)作為控制系統的輸入x。
隱含層:完成二維輸入x與SVM進行核運算,

影響LS-SVM控制器性能的參數主要有處罰因子γ、核寬度σ等,這些參數總是在1個有限的范圍內才能表現出較好的性能,偏離這些范圍會使LS -SVM控制器的性能明顯下降且不同的被控對象總存在1個最佳的參數組合點。
應用最小二乘法求解時,處罰因子γ和核參數σ的選擇很重要。本文用網絡搜索法先選擇參數對(γ、σ),然后用交叉驗證法[5-6]對目標函數(如均方差最小)進行尋優,直至找到最佳參數對,使交叉驗證精度最高。選擇最佳參數對的過程如下。
a.找到合適的γ和σ集。通過實驗測試,發現按照指數增長方式生成2種參數集是一種有效的方法,例如

采用網格搜索簡單直接,每對參數(γ、σ)相互獨立,可以并行地進行網格搜索。
b.采用網格搜索法選擇1對參數(γ、σ)并進行交叉驗證。把樣本集D分為S組{G1,G2…GS},把任意的S-1組作為訓練集,剩余的1組作為驗證集。通過選擇不同的驗證集,可重復S次。泛化性能P可通過下式評價,表達式為

式中Gi為第i組驗證集;yN為驗證集的樣本;xi為用D-Gi作為訓練樣本時得到的參數向量,y(xN|xi)為LS-SVM系統的輸出。
c.循環選擇參數對并進行交叉驗證,計算每對參數的性能P,直至網格搜索停止,使式(8)P最小的參數對(γ、σ)最佳。應用交叉驗證方法選擇參數能夠避免過擬合問題。
由于垃圾燃燒具有大遲延、大慣性的特性,采用全局建模方法很難精確描述系統,只能得到近似模型。以馬丁式爐排爐為例,控制燃燒主要為控制爐溫,爐排對控制爐溫起著重要作用。以爐排為控制對象,以爐膛溫度偏差作為控制器輸入、爐排速度作為控制器輸出構成的控制系統如圖2所示。變量r(t)、y(t)、u(t)、e(t)、ec(t)分別是系統給定值、被控對象的輸出值、被控對象的輸入值、系統的偏差值、系統的偏差變化率,e(t)=r(t)-y(t),ec(t)=de(t)/dt。
以爐排速度為輸入,爐溫為輸出,用階躍響應法得到爐排系統的近似數學模型如下[9],表達式為

式中K0=20,τ=0.5s,T1=8,T2=6,a=1,b=1,即被控對象為1個二階時滯非線性系統。

圖2 LS-SVM控制系統結構
系統仿真過程:首先用網格搜索法選擇參數對,用交叉驗證法進行尋優,找到最佳參數對,然后用已知數據對控制器進行訓練,把訓練好的控制器模型加入控制系統中,利用一階階躍信號模擬給定信號,將其與反饋信號相減后得到偏差信號,并將偏差信號做微分處理,得到偏差變化率;將偏差信號與偏差變化率送入LS-SVM控制器進行運算,由控制器得到控制量對被控對象進行控制。
為了比較LS-SVM控制器與傳統PID控制器的控制效果,用以上模型分別控制算法進行仿真對比。輸入采用單位階躍信號,同時為了比較系統的抗干擾能力,在仿真時間30 s時加入寬度0.01 s、幅值0.2的脈沖信號作為干擾。圖3為兩種不同控制系統的仿真結果。表2為兩種控制系統在性能指標上的對比。仿真結果表明:對于階躍輸入,LS -SVM控制系統易于達到穩定,響應平穩,更迅速;對于脈沖干擾,LS-SVM系統抗干擾能力更強。可以看出,在超調量、穩態精度和調節時間方面,LSSVM控制系統有比較好的控制效果。

圖3 階躍與脈沖輸入下二階非線性時滯系統仿真圖

表2 PID與LS-SVM控制效果的對比
圖4為控制器輸出變化曲線。PID控制器輸出變化率很大,LS-SVM控制器輸出平緩,可見LS -SVM比常規PID控制具有更強的適應性。

圖4 二階非線性時滯系統控制輸出仿真
本文將最小二乘支持向量機運用于垃圾焚燒發電控制,設計了一種最小二乘支持向量機控制器。垃圾焚燒控制仿真結果表明,該控制器抗干擾效果好,適應性強,具有小樣本學習、泛化能力強、控制性能優良等特點。
[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,李國正,等.支持向量機導論[M].北京:電子工業出版社,2004.
[9] 華祥貴,孫躍.垃圾焚燒爐垃圾自動燃燒模糊控制研究[D].重慶:重慶大學,2008.
[10] 張學工.關于統計學習理論與支持向量機[J].自動化學報,2000,26(11):34,42.
[11] 許建華,張學工,李衍達.支持向量機的新發展[J].控制與決策,2004,19(5):481-484,495.
[12] 閻輝,張學工,李衍達.支持向量機與最小二乘法的關系研究[J].清華大學學報,2001,41(9):77-80.
[13] 馬勇,黃德先,金以慧.基于支持向量機的軟測量建模方法[J].信息與控制,2004,33(4):417-421.
[14] 馮瑞,張浩然,邵惠鶴.基于SVM的軟測量建模[J].信息與控制,2002,31(6):567-571.
[15] 靳濤,付忠廣,劉剛,等.反向建模方法在火電廠關鍵參數建模中的應用[J].動力工程,2009,29(11):1008-1012.