韓順成, 潘 豐, 李艷坡
(江南大學輕工過程先進控制教育部重點實驗室,江蘇無錫 214122)
谷氨酸[1]發酵過程具有較強的非線性和時變性,建立其機理模型較為困難,而復雜的機理模型也不易用于控制和優化。因此,建立一個精確有效的黑箱模型對谷氨酸發酵生產過程具有重要意義。
支持向量機(SVM)是基于結構風險最小原則和統計學理論的機器學習方法之一。SVM能較好地解決小樣本、非線性、過學習、維數災難和局部極小等問題,具有很強的泛化能力,目前已經廣泛應用于模式識別、回歸估計、概率密度估計等各個領域。M.Martin和J.S.Ma在Ger提出的支持向量機分類(Support Vector Machine Classification,SVC)在線算法[2]的基礎上,提出了支持向量機回歸(Support Vector Machine Regression,SVR)[3-4]在 線 算 法。OSVR(Online Support Vector Machine Regression)是一種先進的SVM訓練方法,WANG等[5]運用標準的OSVR對谷氨酸發酵過程建模,實現了對于菌體質量濃度、基質質量濃度和產物質量濃度的在線建模。實驗結果表現出良好的泛化能力并降低了模型的預測誤差,優于基于神經網絡(Neural Network)和SVM模型。但是研究發現在標準的OSVR算法中,由于核函數是非線性的,計算核函數需要大量的訓練時間,增加了算法的計算量;并且核函數的數據并非在每一步中都被更新,且被更新的數據僅僅占據了一小部分。
因此,為了提高算法運算速度和預測精度,文中利用緩存保存核函數,將其核函數矩陣進行相應調整,對OSVR進行改進。文中應用改進的OSVR對谷氨酸進行模型建立,并在仿真軟件Matlab上,與標準的OSVR進行比較。結果表明,基于改進的OSVR算法建立的谷氨酸動力學模型表現出良好的精確性,并提高了算法的在線學習速度。
給出一訓練集:T={(xi,yi),i=1,2,…,l},yi∈R和x∈RN,可以構造線性回歸函數[6]:

式中:l為訓練集T中樣本個數;ai,a為拉格朗日因子;K(xi,x)= φ(xi)·φ(x)為核函數;φ(xi)為非線性映射將數據xi映射到高維特征空間。
ai和b可以通過求解以下優化函數得到:

通過拉格朗日因子和 Karush-Kuhn-Tucke(KKT)條件[7](具體推導過程參見文獻[4]),訓練數據可以分為:
1)錯誤的支持向量集合E:

2)邊緣支持向量集合S:
S={i|0 <|θi|< C,|h(xi)|= ε}
3)保留的支持向量集合R:
R={i||θi|=0,|h(xi)|≤ ε}
當增加一個新的樣本xc至訓練集T中,初始令θc=0,為使xc進入E,R,S其中一個集合中,并同時滿足KKT條件,必須滿足以下等式:

標準的OSVR算法[5]中,由于核函數是非線性的,計算核函數浪費了大量的訓練時間,增加了算法的計算量;并且關于核函數的數據并非都被更新在每一步中,被更新的數據僅僅占據了一小部分。為了提高算法運算速度,用一個核矩陣K(xn,xG)來表示 K(xn,xE),K(xn,xR)和 K(xn,xS)。此時 K(xn,xG),K(xn,xc)可表示為

xGi∈ G,i=1,2,…,ln,ln是E ∪ R∪S∪c集合中樣本的數目。G是E,S,R 3個集合中的其中一個。
當增加一個樣本xc:

當移除一個樣本xc:

在xc被增加或者被移除時,其余的某些樣本可能被從原本的集合中更新至另外一個集合中,在每步更新過程中,一些樣本會被從一個集合更新另一個集合中。當一樣本xGli從集合G1更新至G2內時,有以下4種可能更新情況:
Case 1:G1=R,G2=S;Case 2:G1=S,G2=R;Case 3:G1=E,G2=S;Case 4:G1=S,G2=E。
在每一種情況下,矩陣 K(xn,xG1),K(xn,xG1i)和K(xn,xG2)的相應更新情況分別如下:

增量算法:當一個樣品被增加至訓練樣本集,通過逐漸改變θc,直到xc進入R,S,E 3個子集的一個,這個過程中一些其他的樣品也從G1更新至G2,通過計算和更新 K(xn,xG1),K(xn,xG1i),K(xn,xG2)來確保其他樣本仍滿足KKT條件。
減量算法:當一個樣本的θc為零時,由于該樣本不影響支持向量機模型;在式(4)的前提下,改變θc和h(xc),當xc樣本被移除時,使得剩余其他樣本仍繼續滿足KKT條件。
上述是通過核函數矩陣進行處理改進OSVR算法,其算法的有效性將在下面進行驗證。
谷氨酸是一種重要的氨基酸物質,主要采用補料分批發酵方法生產。影響發酵過程的可在線測量變量主要有溫度、通氣流量、pH值、溶解氧質量濃度DO、補料量等,這些參數密切相關谷氨酸質量濃度。根據發酵機理的過程,文中選擇溫度xT(i)、pH值xpH(i)、溶氧質量濃度xDO(i)和尾氣CO2排放量xCO2(i)作為輸入變量的谷氨酸質量濃度軟測量模型。溫度、pH值、溶氧質量濃度和尾氣CO2排放量在線數據通過相應傳感器獲取,谷氨酸的質量濃度由SBA-40B生物傳感儀(山東省科學院生物研究所生產)測定。選取第i+1次谷氨酸質量濃度xG(i+1)作為輸出預測量。
詳細的動力學模型建立過程如下:
1)構建一個OSVR訓練樣本集X{Xi=(xTi,xpHi,xCO2i,xDOi,xGi)},總計有 l個樣本。
2)當增加一個新樣本xc,初始化θc=0,并計算 K(xn,xE),K(xn,xR),K(xn,xs),K(xn,xc);
3)利用增量算法對樣本訓練:(1)If|h(xc)|≤ε,xc→ R,并更新 K(xn,xR);(2)當一個樣本被更新從G1→G2中時,通過式(8),(9),(10)計算出相應的K(xn,xG1),K(xn,xG1i),K(xn,xG2);
4)當訓練樣本數目溢出值max_sp=l,利用減量算法移除多余樣本;
5)計算訓練誤差e=xG(i+1)-xG(i)(xG(i+1)表達式,參考公式(11),當e≤min_error,訓練停止,否則繼續3);
6)用該模型預測xG(i+1)。
OSVR算法一旦確定,就可以對變量進行預測,由式(1)可得基于支持向量回歸機軟測量的谷氨酸模型如下:

這里選用 RBF 核函數[8],即

支持向量機中σ,C,ε等參數的選取直接影響到訓練結果。因此文中通過交叉算法經多次實驗選取:σ =0.6,C=100,ε =0.1,此時訓練效果為最佳,可確保建模具有優良的預測性能。均方誤差

文中的數據來自某實驗室提供由5 L發酵罐生產谷氨酸所獲得的10批次正常發酵數據,每批數據表達一個完整的谷氨酸發酵過程。每批分為15個樣品。7個批次數據作為訓練數據,其余的作為測試數據。仿真計算機為Intel(R)Celeron(R)CPUE330,1 024 M內存,仿真軟件為Malabr2010a。
可以得到谷氨酸質量濃度的預測結果,與實際測量值的比較如圖1所示。

圖1 基于改進的OSVR的谷氨酸質量濃度預測曲線Fig.1 Prediction curve based on the improved OSVR glutamate concentration
圖1顯示基于改進的OSVR的谷氨酸動力學模型與測試值比較表現出較好的擬合效果,尤其在發酵過程10 h后,優于OSVR。為了驗證該模型具有較強的泛化能力,采用預測誤差值來比較模型的精確度,預測誤差值可以用相對誤差的形式表示:

基于改進的OSVR相對誤差如圖2所示。

圖2 基于改進的OSVR的相對誤差Fig.2 Relative error based on of the improved OSVR
表1中的訓練時間,改進的OSVR是3個方法之中速度最快的,且均方差MES最小。圖1,2和表1,顯示基于改進的OSVR谷氨酸動力學模型獲得了良好的泛化能力,表現出最優的訓練精度,其谷氨酸預測模型表現出良好的精確性,與此同時提高了算法的訓練速度,取得了改進算法的預期效果。以上顯示谷氨酸產物質量濃度獲得了良好的預測精度,在保證良好精度的前提下,并提高了建模過程的運行速度,對谷氨酸實際生產具有一定參考價值。

表1 訓練時間、測試時間和MSE比較Tab.1 Comparison of training time, testing time and MSE
近年來隨著生物技術工業迅速發展,生物發酵過程建模已獲得了高度的關注,由于缺乏可靠的傳感器用于過程變量的在線檢測等原因,其自動化水平與其他工業生產過程相比還較低。因此,一個精確的在線模型對減少發酵原材料和動力消耗、提高產物生產量具有重要意義。
微生物發酵具有高度的非線性和時變性,其內在機理復雜。在線支持向量機是一種較好的估計預測手段。基于在線支持向量機的模型具有較高的精度,該模型泛化能力強,動態性能好,能較好地描述實際對象的特性,該模型可用于發酵過程中狀態變量的估算與預測。
[1]Kinoshita S,Udaka S.Shimono studies on the amino acid fermentation-Part I.Production of L-glutamic acid by various microorganisms[J].Journal of General and Applied Microbiology,1957,3:193-205.
[2] Gert Cauwenberghs,Tomaso Poggio.Incremental and decremental support vector machine learning[J].In Advances Neural Information Processing Systems(NIPS’2000)[J/OL].http://books.nips.cc/papers/files/nips13/CauwenberghsPoggio.pdf
[3]Martin M.Online support vector machines for function approximation,Technical Report LSI-02-11-R[R].Software Department,Universitat Politecnica de Catalunya,Spain,2002.
[4]MA J S,James T,SimonP.Accurate on-line support vector regression[J].Neural Compuing,2003,15(11):2683-2704.
[5]WANG X,DU Z,PAN F.Dynamic modeling of biotechnical process based on online support vector machine[J].Journal of Computers,2009,4(3):251-258.
[6]鄧乃揚,田英杰.數據挖掘中的新方法-支持向量機[M].北京:科學出版社,2004.
[7]Takahashi N,Guo J,Nishi T.Global convergence of SMO algorithm for support vector rgression[J].IEEE Trans on Neural Networks,2008,19(6):971-982.
[8]Smola A J,Scholkopf B.Learning with Kernels[M].Cambridge,MA:MIT Press,2001.