韓順成, 潘 豐, 李艷坡
(江南大學(xué)輕工過程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,江蘇無錫 214122)
谷氨酸[1]發(fā)酵過程具有較強(qiáng)的非線性和時(shí)變性,建立其機(jī)理模型較為困難,而復(fù)雜的機(jī)理模型也不易用于控制和優(yōu)化。因此,建立一個(gè)精確有效的黑箱模型對(duì)谷氨酸發(fā)酵生產(chǎn)過程具有重要意義。
支持向量機(jī)(SVM)是基于結(jié)構(gòu)風(fēng)險(xiǎn)最小原則和統(tǒng)計(jì)學(xué)理論的機(jī)器學(xué)習(xí)方法之一。SVM能較好地解決小樣本、非線性、過學(xué)習(xí)、維數(shù)災(zāi)難和局部極小等問題,具有很強(qiáng)的泛化能力,目前已經(jīng)廣泛應(yīng)用于模式識(shí)別、回歸估計(jì)、概率密度估計(jì)等各個(gè)領(lǐng)域。M.Martin和J.S.Ma在Ger提出的支持向量機(jī)分類(Support Vector Machine Classification,SVC)在線算法[2]的基礎(chǔ)上,提出了支持向量機(jī)回歸(Support Vector Machine Regression,SVR)[3-4]在 線 算 法。OSVR(Online Support Vector Machine Regression)是一種先進(jìn)的SVM訓(xùn)練方法,WANG等[5]運(yùn)用標(biāo)準(zhǔn)的OSVR對(duì)谷氨酸發(fā)酵過程建模,實(shí)現(xiàn)了對(duì)于菌體質(zhì)量濃度、基質(zhì)質(zhì)量濃度和產(chǎn)物質(zhì)量濃度的在線建模。實(shí)驗(yàn)結(jié)果表現(xiàn)出良好的泛化能力并降低了模型的預(yù)測(cè)誤差,優(yōu)于基于神經(jīng)網(wǎng)絡(luò)(Neural Network)和SVM模型。但是研究發(fā)現(xiàn)在標(biāo)準(zhǔn)的OSVR算法中,由于核函數(shù)是非線性的,計(jì)算核函數(shù)需要大量的訓(xùn)練時(shí)間,增加了算法的計(jì)算量;并且核函數(shù)的數(shù)據(jù)并非在每一步中都被更新,且被更新的數(shù)據(jù)僅僅占據(jù)了一小部分。
因此,為了提高算法運(yùn)算速度和預(yù)測(cè)精度,文中利用緩存保存核函數(shù),將其核函數(shù)矩陣進(jìn)行相應(yīng)調(diào)整,對(duì)OSVR進(jìn)行改進(jìn)。文中應(yīng)用改進(jìn)的OSVR對(duì)谷氨酸進(jìn)行模型建立,并在仿真軟件Matlab上,與標(biāo)準(zhǔn)的OSVR進(jìn)行比較。結(jié)果表明,基于改進(jìn)的OSVR算法建立的谷氨酸動(dòng)力學(xué)模型表現(xiàn)出良好的精確性,并提高了算法的在線學(xué)習(xí)速度。
給出一訓(xùn)練集:T={(xi,yi),i=1,2,…,l},yi∈R和x∈RN,可以構(gòu)造線性回歸函數(shù)[6]:
式中:l為訓(xùn)練集T中樣本個(gè)數(shù);ai,a為拉格朗日因子;K(xi,x)= φ(xi)·φ(x)為核函數(shù);φ(xi)為非線性映射將數(shù)據(jù)xi映射到高維特征空間。
ai和b可以通過求解以下優(yōu)化函數(shù)得到:
通過拉格朗日因子和 Karush-Kuhn-Tucke(KKT)條件[7](具體推導(dǎo)過程參見文獻(xiàn)[4]),訓(xùn)練數(shù)據(jù)可以分為:
1)錯(cuò)誤的支持向量集合E:
2)邊緣支持向量集合S:
S={i|0 <|θi|< C,|h(xi)|= ε}
3)保留的支持向量集合R:
R={i||θi|=0,|h(xi)|≤ ε}
當(dāng)增加一個(gè)新的樣本xc至訓(xùn)練集T中,初始令θc=0,為使xc進(jìn)入E,R,S其中一個(gè)集合中,并同時(shí)滿足KKT條件,必須滿足以下等式:
標(biāo)準(zhǔn)的OSVR算法[5]中,由于核函數(shù)是非線性的,計(jì)算核函數(shù)浪費(fèi)了大量的訓(xùn)練時(shí)間,增加了算法的計(jì)算量;并且關(guān)于核函數(shù)的數(shù)據(jù)并非都被更新在每一步中,被更新的數(shù)據(jù)僅僅占據(jù)了一小部分。為了提高算法運(yùn)算速度,用一個(gè)核矩陣K(xn,xG)來表示 K(xn,xE),K(xn,xR)和 K(xn,xS)。此時(shí) K(xn,xG),K(xn,xc)可表示為
xGi∈ G,i=1,2,…,ln,ln是E ∪ R∪S∪c集合中樣本的數(shù)目。G是E,S,R 3個(gè)集合中的其中一個(gè)。
當(dāng)增加一個(gè)樣本xc:
當(dāng)移除一個(gè)樣本xc:
在xc被增加或者被移除時(shí),其余的某些樣本可能被從原本的集合中更新至另外一個(gè)集合中,在每步更新過程中,一些樣本會(huì)被從一個(gè)集合更新另一個(gè)集合中。當(dāng)一樣本xGli從集合G1更新至G2內(nèi)時(shí),有以下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)的相應(yīng)更新情況分別如下:
增量算法:當(dāng)一個(gè)樣品被增加至訓(xùn)練樣本集,通過逐漸改變?chǔ)萩,直到xc進(jìn)入R,S,E 3個(gè)子集的一個(gè),這個(gè)過程中一些其他的樣品也從G1更新至G2,通過計(jì)算和更新 K(xn,xG1),K(xn,xG1i),K(xn,xG2)來確保其他樣本仍滿足KKT條件。
減量算法:當(dāng)一個(gè)樣本的θc為零時(shí),由于該樣本不影響支持向量機(jī)模型;在式(4)的前提下,改變?chǔ)萩和h(xc),當(dāng)xc樣本被移除時(shí),使得剩余其他樣本仍繼續(xù)滿足KKT條件。
上述是通過核函數(shù)矩陣進(jìn)行處理改進(jìn)OSVR算法,其算法的有效性將在下面進(jìn)行驗(yàn)證。
谷氨酸是一種重要的氨基酸物質(zhì),主要采用補(bǔ)料分批發(fā)酵方法生產(chǎn)。影響發(fā)酵過程的可在線測(cè)量變量主要有溫度、通氣流量、pH值、溶解氧質(zhì)量濃度DO、補(bǔ)料量等,這些參數(shù)密切相關(guān)谷氨酸質(zhì)量濃度。根據(jù)發(fā)酵機(jī)理的過程,文中選擇溫度xT(i)、pH值xpH(i)、溶氧質(zhì)量濃度xDO(i)和尾氣CO2排放量xCO2(i)作為輸入變量的谷氨酸質(zhì)量濃度軟測(cè)量模型。溫度、pH值、溶氧質(zhì)量濃度和尾氣CO2排放量在線數(shù)據(jù)通過相應(yīng)傳感器獲取,谷氨酸的質(zhì)量濃度由SBA-40B生物傳感儀(山東省科學(xué)院生物研究所生產(chǎn))測(cè)定。選取第i+1次谷氨酸質(zhì)量濃度xG(i+1)作為輸出預(yù)測(cè)量。
詳細(xì)的動(dòng)力學(xué)模型建立過程如下:
1)構(gòu)建一個(gè)OSVR訓(xùn)練樣本集X{Xi=(xTi,xpHi,xCO2i,xDOi,xGi)},總計(jì)有 l個(gè)樣本。
2)當(dāng)增加一個(gè)新樣本xc,初始化θc=0,并計(jì)算 K(xn,xE),K(xn,xR),K(xn,xs),K(xn,xc);
3)利用增量算法對(duì)樣本訓(xùn)練:(1)If|h(xc)|≤ε,xc→ R,并更新 K(xn,xR);(2)當(dāng)一個(gè)樣本被更新從G1→G2中時(shí),通過式(8),(9),(10)計(jì)算出相應(yīng)的K(xn,xG1),K(xn,xG1i),K(xn,xG2);
4)當(dāng)訓(xùn)練樣本數(shù)目溢出值max_sp=l,利用減量算法移除多余樣本;
5)計(jì)算訓(xùn)練誤差e=xG(i+1)-xG(i)(xG(i+1)表達(dá)式,參考公式(11),當(dāng)e≤min_error,訓(xùn)練停止,否則繼續(xù)3);
6)用該模型預(yù)測(cè)xG(i+1)。
OSVR算法一旦確定,就可以對(duì)變量進(jìn)行預(yù)測(cè),由式(1)可得基于支持向量回歸機(jī)軟測(cè)量的谷氨酸模型如下:
這里選用 RBF 核函數(shù)[8],即
支持向量機(jī)中σ,C,ε等參數(shù)的選取直接影響到訓(xùn)練結(jié)果。因此文中通過交叉算法經(jīng)多次實(shí)驗(yàn)選取:σ =0.6,C=100,ε =0.1,此時(shí)訓(xùn)練效果為最佳,可確保建模具有優(yōu)良的預(yù)測(cè)性能。均方誤差
文中的數(shù)據(jù)來自某實(shí)驗(yàn)室提供由5 L發(fā)酵罐生產(chǎn)谷氨酸所獲得的10批次正常發(fā)酵數(shù)據(jù),每批數(shù)據(jù)表達(dá)一個(gè)完整的谷氨酸發(fā)酵過程。每批分為15個(gè)樣品。7個(gè)批次數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),其余的作為測(cè)試數(shù)據(jù)。仿真計(jì)算機(jī)為Intel(R)Celeron(R)CPUE330,1 024 M內(nèi)存,仿真軟件為Malabr2010a。
可以得到谷氨酸質(zhì)量濃度的預(yù)測(cè)結(jié)果,與實(shí)際測(cè)量值的比較如圖1所示。
圖1 基于改進(jìn)的OSVR的谷氨酸質(zhì)量濃度預(yù)測(cè)曲線Fig.1 Prediction curve based on the improved OSVR glutamate concentration
圖1顯示基于改進(jìn)的OSVR的谷氨酸動(dòng)力學(xué)模型與測(cè)試值比較表現(xiàn)出較好的擬合效果,尤其在發(fā)酵過程10 h后,優(yōu)于OSVR。為了驗(yàn)證該模型具有較強(qiáng)的泛化能力,采用預(yù)測(cè)誤差值來比較模型的精確度,預(yù)測(cè)誤差值可以用相對(duì)誤差的形式表示:
基于改進(jìn)的OSVR相對(duì)誤差如圖2所示。
圖2 基于改進(jìn)的OSVR的相對(duì)誤差Fig.2 Relative error based on of the improved OSVR
表1中的訓(xùn)練時(shí)間,改進(jìn)的OSVR是3個(gè)方法之中速度最快的,且均方差MES最小。圖1,2和表1,顯示基于改進(jìn)的OSVR谷氨酸動(dòng)力學(xué)模型獲得了良好的泛化能力,表現(xiàn)出最優(yōu)的訓(xùn)練精度,其谷氨酸預(yù)測(cè)模型表現(xiàn)出良好的精確性,與此同時(shí)提高了算法的訓(xùn)練速度,取得了改進(jìn)算法的預(yù)期效果。以上顯示谷氨酸產(chǎn)物質(zhì)量濃度獲得了良好的預(yù)測(cè)精度,在保證良好精度的前提下,并提高了建模過程的運(yùn)行速度,對(duì)谷氨酸實(shí)際生產(chǎn)具有一定參考價(jià)值。
表1 訓(xùn)練時(shí)間、測(cè)試時(shí)間和MSE比較Tab.1 Comparison of training time, testing time and MSE
近年來隨著生物技術(shù)工業(yè)迅速發(fā)展,生物發(fā)酵過程建模已獲得了高度的關(guān)注,由于缺乏可靠的傳感器用于過程變量的在線檢測(cè)等原因,其自動(dòng)化水平與其他工業(yè)生產(chǎn)過程相比還較低。因此,一個(gè)精確的在線模型對(duì)減少發(fā)酵原材料和動(dòng)力消耗、提高產(chǎn)物生產(chǎn)量具有重要意義。
微生物發(fā)酵具有高度的非線性和時(shí)變性,其內(nèi)在機(jī)理復(fù)雜。在線支持向量機(jī)是一種較好的估計(jì)預(yù)測(cè)手段?;谠诰€支持向量機(jī)的模型具有較高的精度,該模型泛化能力強(qiáng),動(dòng)態(tài)性能好,能較好地描述實(shí)際對(duì)象的特性,該模型可用于發(fā)酵過程中狀態(tài)變量的估算與預(yù)測(cè)。
[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]鄧乃揚(yáng),田英杰.?dāng)?shù)據(jù)挖掘中的新方法-支持向量機(jī)[M].北京:科學(xué)出版社,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.