崔浩陽,李凌
(沈陽化工大學 信息工程學院,遼寧 沈陽 110142)
針對傳統(tǒng)測量方法存在諸如操作復雜、價格昂貴、滯后時間長、測量誤差大等缺點[1],軟測量思想應運而生,通過選取與測量變量相關(guān)性大的輔助變量,并建立主變量與輔助變量之間關(guān)系,間接估算主變量的技術(shù)稱之為軟測量[2]。目前,軟測量技術(shù)廣泛應用到各行各業(yè)中,包括煉油、造紙、醫(yī)藥等,具體可應用在實時估計、質(zhì)量估計和智能校正等方面[3]。
在工業(yè)過程中,數(shù)據(jù)量大且變量維數(shù)高,變量之間存在很大的相關(guān)性,因此,在建模之前,提取數(shù)據(jù)特征并且對數(shù)據(jù)進行降維是非常重要的。目前對軟測量建模數(shù)據(jù)降維的研究越來越多,劉聰?shù)热死孟∈枳跃幋a器提取數(shù)據(jù)的特征,并用互信息對數(shù)據(jù)降維[4];趙榮榮等人利用k-近鄰互信息改進互信息,提取出與輸出變量相關(guān)性更大的變量[5];Jie等人結(jié)合熱軋過程機理和變量間的互信息對輸入變量降維[6];孫麗娜等人利用平均影響值方法找到對輸出變量影響較大的輸入變量[7];Wu等人利用套索算法對輸入變量降維[8]。
自動編碼器是一種無監(jiān)督的機器學習算法,它對于提取數(shù)據(jù)特征是非常有效的。在自動編碼器的隱含層的節(jié)點加入一個稀疏限制被稱為稀疏自編碼器。加入稀疏限制使提取出的數(shù)據(jù)特征更有意義,但是稀疏自編碼器把所有變量看做同等地位,會引入冗余變量,使建模的過程更加復雜,因此需要剔除冗余變量。k-近鄰互信息是用來計算兩個對象之間的相關(guān)性,通過計算出變量之間的相關(guān)性,剔除相關(guān)性較小的變量。
本文針對青霉素發(fā)酵過程,利用k-近鄰互信息剔除冗余變量,利用稀疏自編碼器提取數(shù)據(jù)的特征,避免出現(xiàn)過擬合現(xiàn)象,結(jié)合最小二乘支持向量機進行軟測量建模。經(jīng)仿真驗證,利用k-近鄰互信息選擇輔助變量的預測效果優(yōu)于僅利用互信息選擇輔助變量的預測效果,且降維至只有4個輔助變量時,預測效果同樣良好。
軟測量技術(shù)與傳統(tǒng)的測量方法有很大不同,軟測量對生物量的測量是利用軟件代替?zhèn)鹘y(tǒng)的儀表。在實際測量過程中,很多重要的變量,也就是主導變量都是難以測量的,而軟測量技術(shù)就是選擇可測變量,即輔助變量,利用它和主導變量之間的關(guān)系建立軟測量模型,用軟件來代替硬件(傳感器)功能[9]。軟測量模型如圖1所示。
圖1 軟測量模型示意
構(gòu)造輔助變量θ到主導變量y的函數(shù)是構(gòu)造軟測量模型的本質(zhì),可表示為
y=f(θ)
(1)
其中,輔助變量包括可測過程擾動、可測過程輸入和可測過程輸出。
自動編碼器是一種包括輸入層、隱含層和解碼層的3層神經(jīng)網(wǎng)絡(luò)。重構(gòu)其輸入,使其隱藏層學習到該輸入的良好表征是該網(wǎng)絡(luò)的目標,其結(jié)構(gòu)如圖2所示。
圖2 自動編碼器結(jié)構(gòu)示意
圖2中,輸入層為L1層,隱含層為L2層,輸出層為L3層。自動編碼器的實質(zhì)就是學習一個函數(shù)使得:
(2)
簡單來說,自動編碼器就是讓輸出等于輸入。
為提取出更有意義的數(shù)據(jù)特征,且避免出現(xiàn)過擬合現(xiàn)象,采用稀疏自編碼器。在自動編碼器隱含層加入1個稀疏限制就是稀疏自編碼器,它有激活和抑制兩種狀態(tài): 激活狀態(tài)是神經(jīng)元的輸出接近于1的時候,抑制狀態(tài)是輸出接近于0的時候,稀疏性限制是神經(jīng)元在大部分時間都處于抑制狀態(tài)[10]。
稀疏自編碼器的平均激活度函數(shù)可表示為
(3)
其中,隱含層的第j個神經(jīng)元對第i個樣本的激活值用h(j,xi)表示。為了使平均激活度接近于零,即達到稀疏性,在函數(shù)中加入1個懲罰因子,可以使用相對熵,如式(4)所示:
(4)
對于稀疏自編碼器來說,樣本每一維度的數(shù)據(jù)的地位都是相等的,但是每個輸入變量與輸出變量的相關(guān)性是不同的。因此需要對樣本數(shù)據(jù)降維,剔除冗余變量,這樣更能保證提取出來的特征是和輸出相關(guān)的,提高建模精度?;バ畔⑹且环N非線性、無模型、無數(shù)據(jù)的機器學習算法,它能夠很好地衡量2個變量之間的相關(guān)性。
2個隨機變量X和Y之間的互信息可表示為式(5)所示:
(5)
式中:p(X,Y)——X和Y之間的聯(lián)合概率密度;p(X),p(Y)——X,Y的邊緣概率密度。
求解變量之間的概率密度是利用互信息計算相關(guān)性中最重要的部分,但是在實際軟測量過程中概率密度是未知的。但是變量之間的相關(guān)性可以直接利用k-近鄰互信息估計,并且該方法不需要計算概率密度。首先找出在隨機變量X和Y構(gòu)成的空間中給定的n個樣本的k近鄰,再找出其他樣本分別在X和Y方向到當前樣本的距離小于當前樣本到k個近鄰距離的最大值的數(shù)目,通過統(tǒng)計數(shù)目估計變量之間的互信息稱為k-近鄰互信息[11]。最后根據(jù)計算出的互信息選擇與輸出變量相關(guān)性較大的變量,并修正稀疏自編碼器的重構(gòu)誤差。
作為一種非常有效的機器學習方法,支持向量機模式識別和函數(shù)逼近等領(lǐng)域得到非常廣泛的應用,同時支持向量機對于解決非線性、小樣本和高維度等問題效果良好[12]。將輸入向量映射到高維特征空間,在高維特征空間中構(gòu)造最優(yōu)決策函數(shù)是支持向量機的基本思路[13]。假設(shè)訓練樣本為(xi,yi),i=1, 2, …,n,利用非線性映射φ(·)將樣本的輸入空間R4映射到特征空間如式(6)所示:
ψ(x)=(φ(x1),φ(x2), …,φ(xn))
(6)
在特征空間中構(gòu)建最優(yōu)決策函數(shù)如式(7)所示:
y=wTφ(x)+b
(7)
式(7)中,模型參數(shù)w和b可利用結(jié)構(gòu)風險最小化準則求得,其中結(jié)構(gòu)風險R的計算如式(8)所示:
(8)
式中:c——正規(guī)化參數(shù);Remp——損失函數(shù)。不同于支持向量機,最小二乘支持向量機的損失函數(shù)為二次損失函數(shù)[14],如式(9)所示:
(9)
式中:ξi——預測誤差。根據(jù)結(jié)構(gòu)最小化準則,最小二乘支持向量機的目標函數(shù)如式(10)所示:
s.t.yi=wTφ(xi)+bi=1, 2, …,n
(10)
利用拉格朗日法求解正規(guī)化參數(shù)c如式(11)所示:
(11)
式中:α——拉格朗日乘子。
根據(jù)優(yōu)化條件:
(12)
可得:
(13)
(14)
2cξi=αi
(15)
yi=wTφ(xi)+b+ξi
(16)
消除w和ξi,可得線性方程組如式(17)所示:
(17)
其中,
A=[1, 1, …, 1]T
(18)
α=[α1,α2, …,αn]T
(19)
y=[y1,y2, …,yn]T
(20)
B={Kij=K(xi,xj),i,j=1, 2, …,n}
(21)
式(21)中,K(xi,xj)是核函數(shù),徑向基函數(shù)具有良好的跟蹤性能,比較適用于軟測量建模[15],其形式如式(22)所示:
(22)
式中:σ——核函數(shù)的帶寬。
根據(jù)式(17)求解得最終的決策函數(shù)如式(23)所示:
(23)
因為最小二乘支持向量機只求解線性方程,所以它的求解速度比支持向量機更快。
圖3 軟測量建模流程示意
青霉素發(fā)酵過程的輸出變量是青霉素濃度,仿真所用的數(shù)據(jù)利用PenSim軟件獲得。PenSim是為青霉素發(fā)酵過程設(shè)計的仿真軟件,該軟件是由伊利諾伊科技學院的過程建模、監(jiān)測及控制研究小組基于Birol模型開發(fā)的,該軟件可實現(xiàn)青霉素發(fā)酵過程的一系列仿真[16]。PenSim軟件實現(xiàn)的青霉素發(fā)酵過程仿真中會生成18種過程變量,仿真數(shù)據(jù)可通過對初始值的設(shè)定獲得。PenSim軟件的部分初始條件見表1所列。
表1 PenSim軟件部分初始條件
本文設(shè)定青霉素發(fā)酵的反應時間和采樣時間分別為400 h和1 h,因此共生成400組仿真數(shù)據(jù),選取前300組作為訓練數(shù)據(jù),后100組作為測試數(shù)據(jù)。通過k-近鄰互信息計算出的各輸入變量與青霉素濃度的相關(guān)性,見表2所列。
表2 輸入變量與青霉素濃度的相關(guān)性
本文提取出與青霉素濃度相關(guān)性較大的11個變量作為建模的輔助變量,包括菌體濃度、基質(zhì)體積、二氧化碳濃度、補料溫度、基質(zhì)濃度、溶解氧濃度、補料率、通風率、鼓風機功率、生成熱和pH值。然后利用稀疏自編碼器對輔助變量和青霉素濃度提取特征值,最后利用最小二乘支持向量機建模。
為了對比分析,利用互信息同樣提取出11個輔助變量,包括時間、生成熱、菌體濃度、二氧化碳濃度、基質(zhì)體積、補料率、溶解氧濃度、生成氧濃度、補料溫度、基質(zhì)流速和鼓風機功率。同樣利用稀疏自編碼器提取特征值,利用最小二乘支持向量機建模。兩種方法的仿真結(jié)果如圖4和圖5所示。
從圖4,圖5中可以看出,利用k-近鄰互信息選擇輔助變量的仿真效果比只用互信息選擇輔助變量的仿真效果更好。但是為了使軟測量建模更加簡便,繼續(xù)對輔助變量降維,選擇包括菌體濃度、基質(zhì)體積、二氧化碳濃度和補料溫度在內(nèi)的4個變量作為輔助變量,剔除了基質(zhì)濃度、溶解氧濃度、補料率、通風率、鼓風機功率、生成熱和pH值。其仿真結(jié)果如圖6所示。
圖4 利用互信息的仿真結(jié)果示意
圖5 利用k-近鄰互信息的仿真結(jié)果示意
圖6 降維后的仿真結(jié)果示意
從圖6中可以看出,當選擇4個變量作為輔助變量時,預測效果良好。但是經(jīng)過仿真驗證,當對輔助變量繼續(xù)降維時,其模型的仿真結(jié)果變差,因此不再繼續(xù)降維。
以青霉素發(fā)酵過程為背景,通過k-近鄰互信息選擇4個變量作為輔助變量,通過稀疏自編碼器提取特征值,并用于最小二乘支持向量機的建模,最后比較預測出的特征值和真實的特征值。與此同時,比較僅用互信息選擇輔助變量的方法,以及選擇11個變量作為輔助變量,可知基于k-近鄰互信息選擇4個變量作為輔助變量,結(jié)合稀疏自編碼器和最小二乘支持向量機建模的方法,其預測效果良好。也就是說菌體濃度、基質(zhì)體積、二氧化碳濃度和補料溫度對青霉素濃度影響較大。