劉觀華,李香泉,夏 輝,劉 波
(景德鎮(zhèn)學院,江西 景德鎮(zhèn) 333400)
青霉素濃度是青霉素工業(yè)生產(chǎn)過程中的重要指標,其生產(chǎn)過程中存在許多不確定因素,如溫度、濕度、pH值等,并且一些關鍵參數(shù)如葡萄糖濃度、菌絲濃度等在實際操作中沒有合適的在線檢測儀器,故而無法實現(xiàn)青霉素濃度的實時測量。因此,建立有效的青霉素濃度軟測量模型是十分迫切的[1-2]。
針對生產(chǎn)過程中青霉素濃度無法實時監(jiān)測的問題,國內(nèi)外學者做了大量的研究。文獻[2]提出了一種基于混沌最小二乘支持向量機的青霉素濃度預測方案,實驗仿真表明混沌優(yōu)化算法具有良好的全局優(yōu)化性能以及較高的青霉素濃度預測精度。文獻[3]提出了基于“灰箱”建模的一種新的混合建模方法,先對過程進行機理建模,然后針對實際生產(chǎn)過程中不可識別因素對機理模型結(jié)果的影響,采用了RBF神經(jīng)網(wǎng)絡加以解決,此方法對于青霉素發(fā)酵過程的青霉素濃度的預測取得了較好的效果。文獻[4]使用SVM方法建立了青霉素效價預估模型,實驗證明該模型對青霉素發(fā)酵過程參數(shù)調(diào)整有良好的擬合效果,優(yōu)于神經(jīng)網(wǎng)絡(ANN)建模方法。文獻[5]以青霉素發(fā)酵過程生化機理模型產(chǎn)生的數(shù)據(jù)為樣本,訓練RBF神經(jīng)網(wǎng)絡,建立了基于RBF神經(jīng)網(wǎng)絡的發(fā)酵過程模型。文獻[6]提出了一種基于RF-IHHO-LSTM(隨機森林-改進的Harris鷹群優(yōu)化-長短期記憶)的新型混合軟測量模型方法,利用隨機森林對青霉素的輔助變量進行特征選擇,然后對Harris鷹群優(yōu)化(HHO)算法進行了改進。文獻[7]提出了一種基于大數(shù)據(jù)特征分析的青霉素發(fā)酵過程多輸出軟測量建模方法,該方法將過程數(shù)據(jù)按順序劃分為若干個批次,然后,根據(jù)深度稀疏自編碼神經(jīng)網(wǎng)絡方法提取多變量、時變數(shù)據(jù)集的數(shù)據(jù)特征,實現(xiàn)了對多變量時間序列因素間關系的有效挖掘,并基于多輸出支持向量回歸方法建立多個針對不同預測目標的軟測量模型;同時采用了改進的黑洞算法對模型參數(shù)進行優(yōu)化,提高了軟測量模型的預測性能。文獻[8]討論了工業(yè)抗生素補料分批發(fā)酵過程的經(jīng)驗模型,采用線性模型、徑向基函數(shù)神經(jīng)網(wǎng)絡和混合線性——神經(jīng)網(wǎng)絡模型進行建模,提出了過程動態(tài)建模和發(fā)酵樣本空間建模兩種抗生素發(fā)酵過程建模方法。
以上文獻的研究,均只考慮青霉素發(fā)酵過程的相關參數(shù)對于青霉素濃度的影響,缺少對相關工藝生產(chǎn)過程的分類處理,未從生產(chǎn)工況對青霉素濃度的影響上進行分析。針對上述情況,本文擬對青霉素的工藝生產(chǎn)過程進行分類,分別使用K-Means聚類算法與ISODATA算法進行聚類分析,再對各類別的樣本進行SVR建模,比較分析兩種聚類算法的結(jié)果,選擇準確性好、穩(wěn)定性優(yōu)的算法建立分類模型和預測模型。最后,對基于青霉素發(fā)酵過程的數(shù)據(jù)集進行仿真實驗,驗證所提方法的有效性。
本文的研究思路:首先采用K-Means聚類[9]和ISODATA聚類算法[10]進行工況數(shù)據(jù)的分類處理;然后,針對各類別的工況數(shù)據(jù),采用SVR算法分別進行預測模型的構(gòu)建。
K-Means聚類算法是由Steinhaus(1955)、Lloyd(1957)、Ball&Hall(1965)、Mc Queen(1967)分別在各自不同的科學研究領域獨立提出的[11-12],是一種基于距離的聚類算法。它的基本原理是:將數(shù)據(jù)集中的樣本點分為K個簇,通過不斷迭代使其滿足:簇內(nèi)的樣本點之間的距離最小、不同簇之間的距離最大。算法的過程為:選定初始K個質(zhì)心,之后對所有數(shù)據(jù)進行處理,將每個樣本點分配到最近的聚類中心,并計算每個聚類的平均值。然后,將每個聚類的平均值作為新的聚類中心,重復分配與更新,直到聚類中心不再更新或達到最大迭代次數(shù)。最后將每個樣本點分配到最近的聚類中心,得到聚類結(jié)果。
K-Means中距離的計算公式為:
其中,Ck表示第k個簇,μk表示第k個簇的質(zhì)心,||x-μk||2表示樣本點x到質(zhì)心μk距離的平方。
K-Means的聚類效果主要依賴于距離的計算方法。當前K-Means聚類算法支持三種不同的距離計算方法,分別是歐式距離、曼哈頓距離和切比雪夫距離,計算公式如(2)、(3)、(4)所示:
d(x,y)=max(|xi-yi|)
(4)
K-Means聚類算法選擇距離計算方法取決于數(shù)據(jù)集的特征。一般原則是,如果數(shù)據(jù)集中的樣本點具有較大的維度,則推薦使用歐式距離;如果數(shù)據(jù)集中的樣本點具有較小的維度,則推薦使用曼哈頓距離或切比雪夫距離。鑒于本文中樣本點的維度較大,因此,選擇歐氏距離作為距離的計算方法。
ISODATA聚類算法是由Beazdek提出的一種聚類分析方法,可以獲得豐富的聚類信息,而且在計算過程中不需要過多的人工干預[13]。
ISODATA聚類算法是在K-Means聚類算法的基礎上,增加對聚類結(jié)果的“合并”和“分裂”兩個操作。當聚類結(jié)果中某一類樣本數(shù)太少,或兩個類間的距離太近時,進行合并操作;當聚類結(jié)果中某一類樣本數(shù)太多,或某個類樣本某個特征類內(nèi)方差太大時,進行分裂操作。該算法通過設定控制參數(shù)實現(xiàn)其自適應聚類過程,其中控制參數(shù)有:預期的聚類中心數(shù)目K、每一聚類域中最少的樣本數(shù)θN、聚類域中樣本距離分布的標準差θS、兩聚類中心間的最小距離θc、一次迭代運算中可以合并的聚類中心的最多對數(shù)L和迭代運算的次數(shù)I。
ISODATA算法過程如下所示:
(1)選擇某些初始值。預選不同的參數(shù)指標,將所有的樣本按指標分配到各聚類中心。
(2)計算各類樣本之間的距離指標函數(shù)。
(3)依據(jù)參數(shù)指標的閾值,對前一次獲得的聚類結(jié)果進行分裂或合并操作,獲得新的聚類中心。
(4)重復(2)-(3)步驟,進行迭代運算,判斷聚類結(jié)果是否符合要求。若迭代次數(shù)結(jié)束或過程收斂,則運算結(jié)束,得到聚類結(jié)果。
支持向量機(support vector machine,SVM)是近幾年發(fā)展起來的,是由Vapnik[14]根據(jù)統(tǒng)計學習理論中的結(jié)構(gòu)風險最小化原則提出的一種全新高效的機器學習方法,有效解決了以往困擾很多學習方法的小樣本、非線性、過學習、高維數(shù)、局部極小點等實際問題,具有很強的推廣能力[4,15]。
支持向量機線性回歸(SVR)是一種基于SVM的機器學習算法,用于解決回歸問題。SVR算法的基本思想是:構(gòu)建模型來擬合數(shù)據(jù),求解參數(shù)確定能夠最大程度擬合數(shù)據(jù)的模型,從而得到最優(yōu)的結(jié)果[16]。SVR算法的應用過程如下:
(1)構(gòu)建模型。根據(jù)給定的訓練數(shù)據(jù),構(gòu)建一個線性模型y=w*x+b,其中,w和b分別表示模型的權(quán)重和偏置。
(2)求解模型。根據(jù)訓練數(shù)據(jù),求解模型的參數(shù)w和b,使得模型能夠最大限度地擬合數(shù)據(jù)。
(3)應用模型。將建立的模型應用于新的數(shù)據(jù),得到預測結(jié)果。
模型的擬合度和準確性決定了SVR模型性能的優(yōu)劣,可以通過決定系數(shù)R2、均方根誤差RMSE及平方絕對誤差MAE等指標來描述。R2計算公式如下:
其中,Var為方差,RMSE為均方根誤差。
R2越大(靠近1)時,樣本中預測值和真實值誤差越小,表示回歸分析中自變量對因變量的解釋越好,即模型預測結(jié)果越準確。
RMSE為均方根誤差,是回歸模型的典型指標,表示模型在預測中產(chǎn)生的誤差。
(6)
MAE為平方絕對誤差,用來衡量預測值與真實值之間的平均絕對誤差。
(7)
本實驗采用的數(shù)據(jù)為文獻[17]中青霉素發(fā)酵過程仿真平臺產(chǎn)生的仿真數(shù)據(jù)。通過對青霉素工藝生產(chǎn)過程中的工況條件進行分析,確定影響青霉素濃度的相關因素有:通氣速率X1(L/h)、溶解氧濃度X2(g/L)、生物濃度X3(g/L)、二氧化碳濃度X4(g/L)、酸堿度X5(Ph)、發(fā)酵罐溫度X6(K)和生成熱X7(kcal)。根據(jù)仿真平臺產(chǎn)生不同條件下的青霉素濃度X8(g/L),由此得到包含899組數(shù)據(jù)的仿真數(shù)據(jù)集如表1所示。
表1 仿真數(shù)據(jù)集
2.2.1聚類簇數(shù)
Gap準則是一種用于確定K-Means聚類算法K值(聚類簇數(shù))的方法,它可以用來評估不同K值下的聚類結(jié)果。Gap準則的思想是:初始時隨著K值增大,聚類結(jié)果的輪廓系數(shù)會提高,但是當K值增大到一定程度后,聚類結(jié)果的輪廓系數(shù)會出現(xiàn)明顯的下降,選擇此時的K值作為最佳聚類簇數(shù)。本文采用Gap準則來確定K-Means和ISODATA聚類算法的聚類簇數(shù),對仿真數(shù)據(jù)集進行處理,最佳聚類數(shù)的評估結(jié)果如圖1所示。
圖1 最佳聚類簇數(shù)評估
由圖1可得:當K值為6時,聚類結(jié)果的輪廓系數(shù)達到峰值,因此設定聚類簇數(shù)為6,即將仿真數(shù)據(jù)分為6類,對應青霉素工業(yè)生產(chǎn)過程中6種不同的生產(chǎn)工況。
2.2.2K-Means與ISODATA聚類
確定最佳聚類簇數(shù)后,分別應用K-Means聚類算法和ISODATA聚類算法對仿真數(shù)據(jù)集進行聚類,將聚類后的每類數(shù)據(jù)量進行統(tǒng)計,如圖2和圖3所示。采用ISODATA算法聚類時,調(diào)整θN(每一聚類中心中最少的樣本數(shù),少于此數(shù)就不作為一個獨立的聚類)、θS(一個聚類中樣本距離分布的標準差)和θc(兩聚類中心之間的最小距離,如小于此數(shù),兩個聚類進行合并)三個參數(shù)的值,每種狀態(tài)下分類的效果變化不大,最終選擇各類樣本數(shù)量差異最小的分類作為最終結(jié)果。
圖2 K-Means聚類的各類數(shù)據(jù)量
圖3 ISODATA聚類的各類數(shù)據(jù)量
對比圖2和圖3可知,K-Means聚類結(jié)果中,各類的樣本數(shù)目差異不大,各類數(shù)據(jù)量的分布較均衡;而ISODATA的聚類結(jié)果中,各類數(shù)據(jù)量差異較大。
2.3.1K-Means-SVR預測模型
針對K-Means聚類算法聚類后的六類數(shù)據(jù)(劃分的六種工況),采用SVR算法建立對應的六個青霉素濃度預測模型,以決定系數(shù)R2、均方根誤差RMSE及平方絕對誤差MAE作為模型評價指標來評估不同工況下預測模型的性能,結(jié)果如表2所示。
表2 k-means-SVR預測模型評價指標
從表2中模型的R2、RMSE和MAE指標可以看出所建模型的擬合度高,偏差較小,預測的準確性較高。為了直觀地觀察擬合效果,隨機選取第6類,訓練集和測試集的預測效果如圖4和圖5所示,從圖中可以看出模型擬合效果較好。
圖4 訓練集預測結(jié)果
圖5 測試集預測結(jié)果
對各類數(shù)據(jù)集,使用Rand函數(shù)隨機抽取其中的數(shù)據(jù)構(gòu)成模型的訓練集和測試集,進行建模與預測,多次進行實驗,R2、RMSE、MAE等評價指標的波動較小,預測結(jié)果穩(wěn)定,說明該模型的可靠性較優(yōu)。
由以上分析可知:經(jīng)K-Means聚類算法聚類后的數(shù)據(jù)集進行SVR建模預測,其青霉素濃度的預測值和真實值相近,且重復實驗預測的結(jié)果誤差小,預測結(jié)果可以解釋青霉素復雜工況生產(chǎn)過程中青霉素濃度的變化,能夠較好地說明不同工況(復雜工況)對于青霉素濃度預測的影響。
2.3.2ISODATA-SVR預測模型
針對ISODATA聚類算法聚類后的六類數(shù)據(jù)(劃分的六種工況),采用SVR算法建立對應的六個青霉素濃度預測模型,以決定系數(shù)R2、均方根誤差RMSE及平方絕對誤差MAE作為模型評價指標來評估不同工況下預測模型的性能,結(jié)果如表3所示。
表3 ISODATA-SVR預測模型評價指標
對于ISODATA聚類后的各類數(shù)據(jù)分別建立的SVR模型,從表3中可以看出其RMSE和MAE較小,R2趨近于1,說明該模型偏差較小,模型的準確性較高。對各類數(shù)據(jù)集,使用Rand函數(shù)隨機抽取其中的等比例數(shù)據(jù)構(gòu)成模型的訓練集和測試集,反復進行建模和預測,每次的模型結(jié)果與評價指標波動較大,該模型的可靠性較差,不能有效說明不同工況(復雜工況)對于青霉素濃度預測的影響。
對比K-Means聚類和ISODATA聚類兩種方法的結(jié)果,K-Means聚類的各類樣本數(shù)目較均衡,對后期的建模預測結(jié)果具有同樣水平的可解釋性;而ISODATA聚類的各類樣本數(shù)量不均衡,數(shù)量少的類,預測值不具備代表性。
再從SVR建模后的預測結(jié)果來看,對K-Means聚類后的各類別樣本數(shù)據(jù)進行建模預測,其準確性和可靠性通過檢驗;而對ISODATA聚類后的各類別樣本數(shù)據(jù)進行建模預測,檢驗發(fā)現(xiàn)其準確性稍低于K-Means的結(jié)果,但可靠性較差。因此確認采用K-Means聚類方法進行工況分類,之后采用SVR進行建模預測,得出聚類中心和六種類別下的青霉素濃度預測值如表4和表5所示。
表4 K-Means聚類中心
表5 六種類別下的青霉素濃度真實值及預測值
將六類簇中心和六種類別下的青霉素濃度進行對應,可知要生產(chǎn)某種濃度的青霉素,需將生產(chǎn)過程中的各指標值控制在相應的水平。以第一類為例,要生產(chǎn)濃度為1.33870 g/L的青霉素,應將通氣速率、溶解氧濃度、生物濃度、二氧化碳濃度、酸堿度、發(fā)酵罐溫度及生成熱分別控制在8.5953 L/h、1.1137 g/L、11.2160 g/L、2.2009 g/L、4.9986 Ph、297.9979 K、65.9245 kcal的水平上。
本文以青霉素工藝生產(chǎn)過程為具體研究對象,探索了一種基于K-Means和SVM算法的復雜生產(chǎn)過程工況分類和預測模型。以青霉素工藝生產(chǎn)中的工況數(shù)據(jù)作為樣本,分別使用K-Means和ISODATA聚類兩種方法對工況進行分類,然后分別進行SVR建模預測。對比分類結(jié)果和預測結(jié)果,最后選擇K-Means聚類算法和SVR模型分別作為工況分類算法和青霉素濃度預測模型。通過分析各類的簇中心與各類別條件下的青霉素濃度值,掌握工況類別和青霉素濃度的對應關系,為精準控制青霉素生產(chǎn)過程提供指導。下一步,將考慮對青霉素工藝生產(chǎn)過程中的影響因素進行深度挖掘和分析,通過完善指標體系來提高分類結(jié)果和預測結(jié)果的準確性以及模型的可靠性。