孫順遠 周 乾
(1.輕工過程先進控制教育部重點實驗室 無錫 214122)(2.江南大學物聯網工程學院 無錫 214122)
在復雜工業(yè)中為了獲得較好的產品質量,通常需要對關鍵質量變量進行準確實時的監(jiān)測,然而這些質量變量大多不易直接測量,如:脫丁烷塔塔底丁烷濃度[1]、青霉素發(fā)酵過程產物濃度[2]、水質中微生物濃度[3]等。軟測量技術根據易測量到的過程變量信息建立數學模型以實現關鍵質量變量的實時估計,從而解決上述問題。常用的軟測量建模方法有主元回歸[4](Principal Component Regression,PCR)、高斯過程回歸[5](Gaussian Process Regression,GPR)、支持向量機[6](Support Vector Machine,SVM)、偏最小二乘(Partial Least Squares,PLS[7])等。
極限學習機(Extreme Learning Machine,ELM)是由Huang[8~9]等提出的一種單隱層前饋神經網絡(Single-hidden Layer Feedforward Network,SFLN)訓練算法,該算法首先隨機賦值給輸入權值和偏置,通過激活函數實現非線性轉換,再根據最小二乘法求得輸出權值矩陣。在極限學習機中,激活函數中的速率參數a和位移參數b以及目標函數中的懲罰系數C對模型精度影響很大。
由于工業(yè)過程中確定關鍵質量變量的值需要花費大量的時間和經濟,收集到的大部分數據樣本通常只含輸入數據、僅有少量數據樣本同時包含輸入輸出數據。一般地,將僅包含輸入而缺失輸出數據的樣本稱為未標記樣本,將同時包含輸入輸出數據的樣本稱為標記樣本。若僅采用少量有標記樣本對模型進行訓練,則軟測量模型的預測精度和泛化能力將很難令人滿意,并且丟棄大量的未標記樣本造成了嚴重的數據浪費。為此有必要引進半監(jiān)督學習[10~12]方法,利用大量未標記樣本輔以少量標記樣本來提高模型的學習性能。常用的半監(jiān)督學習范式包括分歧式方法、圖方法、半監(jiān)督支持向量機和生成式模型。圖方法將數據集之間的聯系映射為一個無向圖[13~15],利用流形正則化將未標記數據和目標函數聯系起來,是一種廣泛采用的半監(jiān)督學習方法。因此,本文將流形正則化框架引入極限學習機,在充分利用無標記樣本信息的同時提高模型的泛化能力。
雖然半監(jiān)督極限學習機能夠在大量無標記樣本的情況下有效提升模型精度,但較多的模型參數為優(yōu)化帶來了困難。除傳統(tǒng)有監(jiān)督極限學習機包含a,b,C外,半監(jiān)督極限學習機又新增了相似度矩陣核寬參數σ和流形正則項的系數λ兩個參數。參數對模型精度起關鍵作用,參數選擇不當會造成模型學習性能下降,泛化能力差。為了確定模型參數,可以采用群智能優(yōu)化算法對模型中的多個參數進行優(yōu)化。群智能優(yōu)化算法是一種模擬自然界生態(tài)系統(tǒng)機制的優(yōu)化算法,常見的群智能優(yōu)化算法有[16~18]蟻群算法、粒子群算法、遺傳算法、頭腦風暴算法、魚群算法等。自然界中,蝙蝠生活在黑暗環(huán)境中,無法靠視覺識別周圍環(huán)境,其利用回聲定位器發(fā)出脈沖,根據反彈回來的回聲判斷物體的位置、距離、特征。蝙蝠算法[19~20]正是基于此基礎上產生的,利用回聲定位的原理不斷調整脈沖發(fā)射度和響度從而尋找到食物,該算法具有結構簡單、搜索能力強等特點。
綜上所述,本文通過半監(jiān)督學習方法將少量有標記樣本和大量無標記樣本結合,并應用于極限學習機模型中;利用蝙蝠算法對模型中的參數(a,b,σ,C,λ)進行全局搜索尋優(yōu),得到最優(yōu)參數的半監(jiān)督極限學習機軟測量模型。此模型不僅解決了極限學習機收斂性差的問題,同時也克服了隨機選取參數導致精度不穩(wěn)定的問題,提高了模型的預測精度。最后,將本文方法應用于污水處理中生物需氧量含量和脫丁烷塔塔底丁烷濃度的仿真實驗研究,與不同的建模方法比較后,驗證了該方法的有效性和適用性。
極限學習機是由Huang 提出的一種單隱層前饋神經網絡(Single-hidden Layer Feedforward Networks,SLFNs)學習算法,該算法首先確定隱含層神經元節(jié)點個數,再隨機賦值給輸入層的輸入權值和偏置,通過最小二乘方法求解得隱含層和輸出層之間的輸出權值。該算法不僅克服了傳統(tǒng)梯度算法的復雜迭代問題,而且其訓練速度快、泛化能力強。極限學習機用于回歸問題時,訓練的步驟分為隨機學習和計算輸出權值。
極限學習機的訓練目標為最小化預測誤差,其目標函數為
其中ei∈Rm為第i個輸出樣本的訓練誤差,C為懲罰系數。
將約束條件帶入目標函數后,可轉換為無約束優(yōu)化問題:
上述函數可認為是嶺回歸的問題,將LELM相對于β的梯度設為0,得到:
于是可將輸出權值β表為
流形正則化的本質是將原特征空間的數據映射到新的空間[21~22],并保留原特征空間中數據的局部幾何關系,旨在充分挖掘數據的非線性幾何特性。需最小化的目標函數如下:
其中f(xi)和f(xj)分別是輸入樣本xi和xj的模型預測輸出,wij是xi和xj間的相似度。采用高斯函數計算相似度,可得相似度矩陣W:
其中kNN(xj)表示樣本xj的近鄰。
通過數學計算將目標函數展開:
其中,tr(·) 表示矩陣的跡,nl為標記樣本個數,nu為未標記樣本個數,為 模 型 預 測輸出,矩陣L=D-W是拉普拉斯矩陣。
半監(jiān)督極限學習機采用流形學習,通過樣本間的幾何關系讓未標記樣本輔以標記樣本學習。利用流形正則化將幾何關系與預測誤差聯系起來,提升模型的預測精度。
在半監(jiān)督極限學習機訓練過程中,不同類的數據對訓練效果的影響不同。模型傾向于訓練所含樣本個數較多的類,為了提高模型的預測精度,在預測誤差前各加不同的懲罰系數因子,以此平衡各個類中數據對模型的影響程度。假設訓練樣本中xi屬于類ti,類ti中含Nti個訓練樣本,對每個樣本的預測誤差乘以一個懲罰參數Ci:
其中C為懲罰系數。由此將半監(jiān)督極限學習機約束問題轉換為無約束問題:
其中,Y′為根據實際輸出樣本擴展得到的,前s 行為標記的輸出樣本,其余行均為0 ;C=diag(C1,…,Cnl)為懲罰系數組成對角矩陣。通對式(12)求β的梯度,可得
求解可得:
蝙蝠對自身發(fā)出超聲波及接收到回聲的時差建立周圍環(huán)境的映像,利用回聲定位原理感知食物的距離、大小及運動方向。蝙蝠算法是模仿蝙蝠搜尋食物的過程而演化出的一種優(yōu)化算法,首先初始化每只蝙蝠的位置和速度,把蝙蝠的位置看成待尋優(yōu)問題的解,在每次迭代后對每只蝙蝠相對應的適應度函數值進行排序,找出位置最佳的蝙蝠xb。每次迭代中,利用回聲定位原理進行位置和速度的更新,其中頻率決定了蝙蝠搜索的范圍,如下:
其中,θ均勻分布在[0 ,1] 中,fi表示第i只蝙蝠的當前頻率值,fmax和fmin分別代表蝙蝠搜索頻率的最大值和最小值表示第i只蝙蝠在t 時刻時的速度,表示第i只蝙蝠在t時刻時的位置。
在迭代時,對當次迭代的最優(yōu)位置進行局部尋優(yōu),探索最優(yōu)解的附近區(qū)域。在最優(yōu)位置附近隨機生成一個新的解:
其中,ε是[- 1,1] 中的隨機數,A(t)為t 時刻所有蝙蝠的平均響度,xold為當前最優(yōu)位置。
在蝙蝠靠近食物時,會加快脈沖發(fā)射速率并減小響度,直至吃到食物。在蝙蝠算法的尋優(yōu)過程中,沒找到一個最優(yōu)位置時,頻度r和響度A均會進行相應的更新:
其中α∈( 0,1) ,γ>0,通常?。害?0.9,γ=0.9。脈沖頻度和響度的變化一定程度上反映著距離目標的遠近程度。
綜上所述以上分析,蝙蝠算法步驟為
1)初始化蝙蝠個數n1、迭代次數N1、維數d、位置xi、速度vi、頻率范圍[fmin,fmax] 、頻率fi、初始脈沖頻度Ai和響度ri;
2)定義適應度函數q(x);
3)根據頻率fi對每只蝙蝠的位置和速度進行更新;
4)若滿足(rand>ri),在最佳位置處隨機產生一個新的位置x′;
5)根據新的位置求出qnew,若滿足(rand>Aiq(x′)<q(xb)),接收新值并對頻度和響度進行更新;
6)根據各只蝙蝠的適應度函數值重新排列選出當前時刻的最佳位置;
7)迭代次數未達到設定次數,返回至3);
8)輸出迭代N1次后的最佳位置xb。
蝙蝠算法中的位置和速度更新方式類似于標準粒子群算法中的更新方式。不過,在蝙蝠算法中,通過調節(jié)頻率fi大小進而控制每只蝙蝠的搜索范圍。所以,蝙蝠算法的突出特點是使用頻率和參數調整進行全局尋優(yōu)。
基于流形正則化的半監(jiān)督極限學習機的性能受多個參數影響:激活函數中的速率參數a與位移參數b、核寬σ、懲罰系數C和權重λ。參數選擇不當時,會大大影響模型的預測輸出。為提高模型的預測精度,利用蝙蝠算法對基于流形正則化的半監(jiān)督極限學習機進行參數尋優(yōu),每只蝙蝠的位置相當于待尋優(yōu)的最優(yōu)解組合(a,b,σ,C0,λ)。
圖1 為蝙蝠算法優(yōu)化半監(jiān)督極限學習機的流程。
圖1 BA優(yōu)化SS-ELM參數的流程圖
基于蝙蝠算法的半監(jiān)督極限學習機的訓練步驟為
Step1:根據收集到的訓練樣本,構建半監(jiān)督極限學習機網絡結構;
Step2:初始化蝙蝠算法相關參數:蝙蝠個數n1、迭代次數N1、維數d、速度vi、頻率范圍[fmin,fmax] 、頻率fi、初始脈沖頻度Ai和響度ri;
Step3:隨機產生一組數據(a,b,σ,C0,λ)作為蝙蝠的初始位置xi;通過比較每只蝙蝠對應的適應度值更新各自的速度和位置;
Step4:判斷迭代次數是否達到設定次數,若達到,得到蝙蝠的最佳位置xb,即模型的最優(yōu)參數;否則繼續(xù)對模型參數進行迭代尋優(yōu);
脫丁烷塔過程是工業(yè)石油煉制中脫硫和石油腦分離的組成部分[23],塔底丁烷濃度對煉制出的石油品質影響很大且不易通過在線儀器直接測量。在工業(yè)生產中需要對其嚴格監(jiān)測和控制,為此采用軟測量技術對丁烷濃度進行預測。圖2 為脫丁烷塔過程示意圖。
圖2 脫丁烷塔過程示意圖
選取脫丁烷塔過程中易測得的7 個變量為輔導變量,作為軟測量模型的輸入,各輔助變量的說明如表1 所示,相應的輔助變量測試儀器安裝位置標注在圖2 圈出部分;主導變量為脫丁烷塔塔底丁烷濃度。
表1 脫丁烷塔的輸入變量及其描述
共收集到2000 組過程數據,其中1000 組作為訓練樣本,剩下1000 組作為測試樣本,接著對訓練樣本作歸一化處理?;谝陨蠑祿謩e建立三種軟測量模型:有監(jiān)督ELM 模型、半監(jiān)督ELM 模型和蝙蝠算法優(yōu)化的半監(jiān)督ELM 模型,進行實驗仿真并比較各模型效果。采用均方根誤差RMSE和相關系數COR作為模型的性能指標:
其中ntest是樣本個數,ytest,i和ypred,i分別表示第i個測試樣本的真實值和預測值,而- ---ytest和- -----ypred分別為測試樣本真實值和預測值的平均值。
表2 所示為三種軟測量模型的預測結果,分析可得:在有標記樣本數量較少時,有監(jiān)督的ELM 并不能較好地預測丁烷濃度;為利用大量無標記樣本,引入半監(jiān)督學習后一定程度上能夠提高模型的預測精度;由于半監(jiān)督ELM 模型中含5 個參數:a,b,σ,C0,λ,這些參數選擇的不同,會造成模型的預測精度不穩(wěn)定,故利用優(yōu)化算法找到模型的最優(yōu)參數。在半監(jiān)督ELM 中引入蝙蝠算法,利用其回聲定位原理快速找到模型的最優(yōu)參數,能夠提高模型的預測精度。由此可見,本文方法能夠有效預測脫丁烷塔塔底丁烷的濃度。
表2 三種建模方法的預測結果比較
圖3 所示為三種模型的仿真結果,由圖比較分析可得:BA-SSELM 模型對脫丁烷塔塔底丁烷濃度的預測值與真實值較為接近,利用蝙蝠算法較好的全局尋優(yōu)性能,能夠快速找到適合模型的全局最優(yōu)參數,使得模型的輸出緊湊地跟隨實際值的變化,說明BA-SSELM模型的預測結果較準確,對丁烷濃度的預測效果更佳。相比于有監(jiān)督極限學習機,本文所提方法對丁烷濃度的擬合效果更好,預測精度也更高。
圖3 ELM、SSELM、BA-SSELM的仿真結果
為充分利用訓練樣本集中的無標記數據,通過流形正則化框架,在極限學習機中采用半監(jiān)督學習方法。并利用蝙蝠算法對半監(jiān)督極限學習機模型中的a,b,σ,C0,λ這五個參數優(yōu)化以獲得模型的最優(yōu)參數,從而提高模型的泛化能力。通過污水處理中BOD 含量和脫丁烷塔塔底丁烷(C4)濃度的仿真實驗,驗證了本文方法能夠提高對工業(yè)過程中關鍵質量變量的預測精度并具有較好的泛化性能。