朱瑞鶴, 李 軍
(蘭州交通大學 自動化與電氣工程學院,甘肅 蘭州 730070)
pH中和過程普遍存在于化工、污水處理等復雜工業(yè)過程中。建立反映pH中和過程系統(tǒng)本質特征的良好模型是進行有效控制的必要條件。早期,神經(jīng)網(wǎng)絡和模糊邏輯系統(tǒng)等方法已廣泛應用于pH中和過程建模中[1,2],并取得了一定的應用效果;文獻[3,4]采用Hammerstein及Wiener模型對pH中和過程進行辨識,文獻[4]消除了辨識過程中誤差累積問題,但該類模型結構表征復雜系統(tǒng)全局性能比較困難;文獻[5]利用模糊頻率響應估計法對單輸出pH中和過程進行研究;文獻[6,7]進一步對雙輸出pH中和過程進行研究。
極限學習機(extreme learning machine,ELM)是由Huang G B等人[8]提出的用于單隱層前饋網(wǎng)絡(single-hidden layer feedforward neural network,SLFNs)的快速學習方法,文獻[8]將其成功應用于非線性系統(tǒng)建模與控制中。支持向量機(support vector machine,SVM)等基于核學習的計算智能方法,已成功應用于化工過程建模中[9~11]。文獻[9]則將核學習方法與偏最小二乘相結合,建立了丁苯橡膠聚合轉化率模型,取得了較好的效果;文獻[10]利用非線性偏最小二乘回歸建立了pH中和過程軟測量模型;文獻[11]則將最小二乘支持向量機(least squares SVM,LSSVM)方法應用于雙輸出的pH中和過程的辨識與控制中,取得了很好的效果。同時,考慮到在線學習與時變非線性過程的特性,文獻[12]給出了一種用于時變在線自適應過程的核學習方法——核遞推最小二乘(kernel recursive least squares,KRLS)方法,其基于近似線性依賴(approximate linear dependency,ALD)技術限制核矩陣的大小,并成功應用于混沌時間序列預測中。鑒于LSSVM等方法在過程建模中的成功應用,針對復雜的非線性pH中和過程,本文提出基于KRLS的核學習建模方法,將其應用于典型pH酸堿中和過程實例中,以進一步提高復雜非線性化工過程的建模精度及計算效率。在同等條件下,本文方法還將與核偏最小二乘(kernel partial least square,KPLS)、核主成分分析—支持向量機(kernel principal component analysis-support vector machine,KPCA—SVM),核函數(shù)極限學習機(extreme learning machine with kernel,KELM),極限學習機(extreme learning machine,ELM),SVM,LSSVM等現(xiàn)有方法進行比較,以驗證所提方法的有效性。
為考慮是否將數(shù)據(jù)xt加入字典中,需求得滿足ALD條件的系數(shù)向量a=[a1,…,amt-1]T,即有
(1)
式中 閾值參數(shù)μ的取值大小影響稀疏化程度。
考慮k(xi,xj)=φ(xi)Tφ(xj),由式(1)得到
(2)
對式(2)求解,可得到最優(yōu)系數(shù)向量a及ALD條件
(3)
借助ALD條件,直至t的所有數(shù)據(jù)均能由字典集合Dt中數(shù)據(jù)向量的近似線性組合來表示。由式(1)可得
(4)
延伸至特征空間,定義矩陣
針對pH中和過程輸入輸出數(shù)據(jù),完成基于ALD的KRLS方法的訓練,建立輸入與輸出之間的非線性映射關系f(x)。
t時刻,由RLS算法可知,最小化誤差平方和滿足
(5)
基于ALD的KRLS方法的算法具體實現(xiàn)步驟如下:
(6)
由于xt是字典中的數(shù)據(jù)向量,相應有
(7)
(8)
(9)
5)迭代計算步驟(2)~步驟(4),直至所有訓練數(shù)據(jù)依次完成。
若訓練數(shù)據(jù)的數(shù)目為l,則KRLS算法的計算復雜度為O(lm2)。
pH中和過程即通過酸液流入物和堿液反應物之間的中和,檢測反應過程流出物的pH值。pH值定義為溶液酸堿度,pH=-log[H+],其中H+為氫離子。實驗中,需對數(shù)據(jù)進行歸一化處理,并采用均方誤差(mean square error,MSE)來評價模型的辨識性能。核學習方法均采用高斯徑向基核函數(shù),即有
(10)
式中 σ(σ>0)為高斯核函數(shù)的核寬度參數(shù)。
具有緩沖流的雙輸出酸堿中和反應過程實驗裝置如圖1所示。
圖1 雙輸出pH中和過程反應裝置
設定過程的輸入為酸液(HNO3)流量Fa,緩沖液(NaHCO3)流量Fbf,堿液(NaOH+NaHCO3)流量Fb,輸出分別為流出物的pH值和CSTR的液位h,系統(tǒng)參數(shù)的取值同文獻[1]。定義物理量符號如下
wa為電平衡常數(shù),wb為離子平衡常數(shù)。則CSTR中的雙輸出pH中和過程動態(tài)模型可表示為
dx/dt=f(x)+g(x)u+p(x)d,c(x,y)=0
(11)
式中x=[x1x2x3]T,x1=h,x2=wa,x3=wb,u=[FaFb]T,d=Fbf,y=[hpH]T,c=[c1c2],且
(12)
式中A為反應釜的面積,Cv為閥門參數(shù),Wa1~Wa3,Wb1~Wb3為反應常數(shù)。CSTR過程中,給定流入溶液流量變化為
Fa(t)=16+4sin(2πt/15)
Fb(t)=16+4cos(2πt/25)
Fbf(t)=0.55+0.055sin(2πt/10)
(13)
根據(jù)式(11)描述的機理模型,以及式(13),產(chǎn)生600組數(shù)據(jù)集,前300組為訓練數(shù)據(jù)集,其余作為測試數(shù)據(jù)集。考慮辨識模型如下
ypH(t-1),yh(t-1)]
(14)
式中 模型ψ[·]采用KRLS方法建立。
通過交叉驗證方法選取KRLS,KPLS,KPCA-SVM,KELM方法的核參數(shù)σ=0.1,KRLS最大字典容量mmax=200,閾值μ=0.01。對比實驗中,KPLS的潛在變量數(shù)目L=50,KPCA-SVM方法中,選取非線性主元數(shù)目為20,SVM為線性核函數(shù)。單一SVM方法中,SVM采用臺灣大學林智仁教授等開發(fā)設計的LIBSVM軟件完成,懲罰因子c=200,ε=0.01,ELM方法中,隱含層節(jié)點數(shù)目為120,節(jié)點激活函數(shù)為Sigmiod函數(shù)。
表1給出了在同等條件已有文獻及SVM等其他方法結果的精度對比,可以看出,在測試數(shù)據(jù)集上KRLS方法的精度均明顯占優(yōu),其中KRLS的精度提高了約1個數(shù)量級。
表1 KRLS模型建模性能比較
圖2給出了KRLS方法在訓練集上的學習收斂曲線,看出,KRLS辨識模型表現(xiàn)出了良好的在線自適應學習特性。圖3、圖4分別給出了在測試數(shù)據(jù)集上h通道和pH通道的測試輸出與真實值的結果比較曲線,圖5給出了在測試數(shù)據(jù)集上h通道和pH通道的各點測試誤差比較曲線,從圖2~圖5的結果可以看出,在多輸出的情形下,KRLS方法呈現(xiàn)出較好的建模性能,驗證了該方法的有效性。
圖2 KRLS模型訓練誤差學習曲線
圖3 KRLS模型h通道上的測試輸出
圖4 KRLS模型pH通道上的測試輸出
圖5 KRLS模型測試誤差
本文針對未知的復雜非線性pH中和過程,從系統(tǒng)輸入輸出數(shù)據(jù)出發(fā),提出了基于核學習的KRLS建模方法。與ELM及其他核學習方法相比,本文方法在計算效率、建模精度等方面均呈現(xiàn)出良好的性能。KRLS方法適用于較大規(guī)模數(shù)據(jù)集時變非線性過程的建模,為難以得到精確數(shù)學模型的復雜工業(yè)過程建模提供了新思路。