劉聰,謝莉,楊慧中
(江南大學教育部輕工過程先進控制重點實驗室,江蘇無錫214122)
產品質量、能耗、產物生成效率等關鍵性變量能夠反映間歇過程的性能,但是由于測量環(huán)境、時滯、成本等原因,這些關鍵性變量通常無法在線測量[1-3]。隨著集散控制系統(tǒng)在間歇過程中的普遍應用,使得大量生產現場過程數據的獲得成為可能。因此,利用這些能夠通過傳感器在線測量的過程變量作為輔助變量來估計關鍵性變量的軟測量技術就應運而生[4-7]。
由于青霉素發(fā)酵過程中伴隨著復雜的生物、物理和化學等變化,因此,呈現出嚴重的非線性、時變性以及多階段特性,單一的軟測量模型難以保證系統(tǒng)對模型精度的要求,而解決此類問題的常用方法是基于聚類建立軟測量多模型,從而較好地描述工業(yè)對象的復雜特性,提高模型的估計精度以及泛化能力[8-13]。多模型軟測量建模的關鍵在于如何利用聚類算法對樣本數據進行準確的劃分,常用的聚類算法包括基于劃分聚類的K-means 算法[14-15],基于密度的空間聚類(density-based spatial clustering of applications with noise,DBSCAN)算法[16],基于樣本之間相似度與歸屬度的仿射傳播聚類(affinity propagation,AP)算法[17-18]等。
密度峰值聚類算法(density peaks clustering,DPC)是Rodriguez 等[19]于2014 年提出的一種新的聚類算法,該算法簡單高效,不需要迭代就能找到聚類中心點,且性能不受空間維度的影響,目前受到廣泛研究與應用[20-22]。但是該算法也存在缺陷:一是閾值dc較難選取,而算法中的局部密度值ρi的計算是與dc有關的,因此dc對聚類結果有較大影響;二是樣本點在分配時,當一個點錯分,會導致一系列點錯分[23-24]。文獻[24]通過樣本點到其k 個近鄰的距離之和代替dc來計算局部密度(記為KNN-DPC),解決了dc選取的問題,但并未考慮樣本點的分配問題。文獻[25]通過引入共享近鄰代替dc定義樣本點的局部密度,同時對聚類中心的選擇策略進行改進(記為SNN-DPC),一定程度上減少了樣本點的錯分。本文在DPC 算法的基礎上,提出了一種新的基于改進密度峰值聚類的多模型軟測量建模方法。首先,通過計算樣本點的k 近鄰以及樣本點與其k 近鄰之間的共享近鄰來重新定義樣本點的局部密度。同時,考慮到傳統(tǒng)的k 近鄰計算方法是通過歐氏距離定義的,難以反映樣本的數據結構,因此本文進一步引入了相似度函數計算k 近鄰點。然后,利用樣本點之間的k 近鄰關系來重新定義樣本點的分配策略,從而提高聚類效果。最后,將改進后的DPC 算法對訓練樣本集進行聚類,基于得到的子集分別建立最小二乘支持向量機子模型,采用開關方式對新來測試樣本進行估計輸出。將本文方法應用于青霉素發(fā)酵過程,驗證算法的有效性。
密度峰值聚類算法是一種基于密度的、簡單高效的聚類算法。它基于兩個假設條件,一是聚類中心的密度高于它周圍的點,二是聚類中心點與比它密度更高的點之間的距離相對較大。對于給定樣本集X ={x1,x2,xi,…,xn},xi∈Ra×1,DPC 算法主要可分為如下三個步驟:第一步是計算每個樣本點的局部密度ρi以及距離值δi;第二步是根據局部密度及距離值繪制決策圖并且在決策圖上選擇最佳聚類中心;第三步是將剩余的樣本點分配給密度比它大且距離最近的點所屬的類中[25]。DPC 局部密度ρi的定義為:
其中d(xi,xj)是樣本點xi與xj之間的歐氏距離,dc表示截斷距離。距離值δi定義為樣本點xi到比它局部密度更高的其他所有樣本點的距離的最小值,若xi為具有最大局部密度的點,則δi為樣本點xi到其他樣本點距離的最大值,即:
根據每個樣本點的局部密度ρi及距離δi得到決策圖,在決策圖上找到局部密度和距離都較大的點作為聚類中心。在聚類中心選好之后,將剩余的樣本點分配給局部密度比它高而且距離最近的樣本點所屬的類簇中。
原始的DPC算法[19]雖然簡單,計算量小,但是也存在較大的缺陷與不足。
(1)DPC算法將dc作為全局密度閾值,因此dc值對聚類結果影響較大,而確定合適的dc值較為困難,原文是將所有樣本點對之間的距離按照升序排列,排在第M×s 位的樣本點對的距離值設置為dc,其中M 為樣本點對的總個數,s 在1%~2%范圍內取值。
(2)局部密度是DPC算法的關鍵,原文僅僅使用了歐氏距離來計算樣本點的局部密度,而沒有考慮到樣本點與周圍點之間的緊密程度,因此計算出的局部密度是不夠準確的,不能較好地反映數據的密度分布。
(3)DPC 算法在確定聚類中心后,其分配策略是將剩余的樣本點分配給密度比它大且距離最近的點所屬的類,這種分配方式會導致當一個點錯分時,很可能接下來的一系列點都會錯分,從而影響聚類精度。
針對上述問題,本文將重新定義局部密度以及樣本點的分配方式,從而有效提高聚類的質量。
DPC 算法中任意一個樣本點的局部密度定義可以理解為:通過設定一個全局距離閾值dc,計算其他樣本點與該點的歐氏距離,歐氏距離越小,則與該點的相似度越高,該點的局部密度即為其他樣本點與它的相似度之和。但是,僅僅通過歐氏距離來定義兩點之間的相似度是不夠準確的,而且全局的距離閾值的選擇十分困難。因此,本文考慮了全局的數據結構,通過引入樣本點的k 近鄰以及樣本點與k 近鄰之間的共享近鄰來計算樣本點之間的相似度,進而計算樣本的局部密度。
定義1 設K(xi)表示樣本集中距離xi第k 近的樣本點,則樣本點xi的k近鄰集合可表示為:
定義2 樣本點xi和xj之間的共享近鄰為兩個樣本點k近鄰的交集,可以表示為:
定義3 樣本點的局部密度ρi:
其中|snn(xi,xj)|表示共享近鄰集合snn(xi,xj)中的元素個數。
由于樣本點的k 近鄰是計算局部密度的關鍵,因而k 近鄰的質量對局部密度影響較大。常用的計算某個樣本點k 近鄰的方法是通過計算其他樣本點到該點的歐氏距離后選擇最近的k 個樣本點,但是僅僅通過歐氏距離得到的k 近鄰不能反映出樣本的數據結構。因此,受文獻[26]啟發(fā),本文進一步考慮引入相似度函數來計算樣本點的k近鄰。
定義4 樣本點之間相似度函數S(xi,xj)的定義為:
該相似度函數不僅考慮了距離,而且引入了共享近鄰,兩點之間的共享近鄰個數越多,表明兩點之間連接得越緊密,進而兩點之間越相似,因此由相似度函數選擇新的k 近鄰更符合樣本的數據結構。
局部密度的計算步驟如下。
(1)對于每個樣本點xi,通過歐氏距離選擇初始的k 近鄰點及共享近鄰,使用相似度函數(6)計算其他樣本點與xi之間的相似度,將第k 大的相似度記為Sk(xi,xj)。
(2)通過相似度大小選擇新的k 近鄰點以及共享近鄰。
(3)基于得到的k 近鄰點以及共享近鄰計算局部密度。
由于DPC 算法的分配方式是把樣本點分配給密度比它大且距離最近的點所屬的類別,如圖1 中所示,紅圈及其附近的點由于DPC 分配方式的缺陷,錯分給了箭頭所指的類別中,圖中相同顏色的點表示其屬于同一類別。
通常來說,如果樣本點屬于同一類,它們之間是可以通過點與點之間的k 近鄰相互連接的,任意兩個樣本的k 近鄰連接如定義5 所示,可以看出圖1中紅圈與箭頭所指類別的點是不能通過k近鄰相互連接的。因此,本文利用k 近鄰關系對原始方法樣本點的分配方式進行改進。
圖1 DPC錯分圖Fig.1 The wrong allocation results for DPC
定義5 k 近鄰連接:對于任意一個樣本點,先通過相似度大小即式(6)~式(8)搜索它的k近鄰,然后繼續(xù)搜索這k 個近鄰點的k 近鄰,重復搜索,直到搜索得到的所有k近鄰點組成的集合不發(fā)生改變,該集合記為Z。如果兩個樣本點xi和xj對應的Zi和Zj有交集,則認為它們能夠通過k近鄰連接。
改進后的分配策略流程框圖如圖2 所示,其中,對任一待分配樣本點xi,將密度比它大的點通過距離由近到遠分別記為xi1,xi2,…,xil,…,xiq,其中q表示密度比xi大的點的個數。令l = 1,判定待分配點xi與xil之間是否能夠通過k 近鄰連接,如果是則將該點分配給xil所屬的類別,否則,令l = l + 1,繼續(xù)尋找密度比它大并且與它能夠通過k 近鄰連接的點。
多模型軟測量建模方法流程圖如圖3所示。
圖2 分配策略流程圖Fig.2 The flow chart of allocation strategy
圖3 多模型建模框圖Fig.3 The framework of multi-model soft sensor
設訓練樣本集為D ={(xi; yi)},i = 1,2,…,n,xi∈Ra×1為a 維輸入變量,yi∈R1×1為一維輸出變量,多模型軟測量建模步驟如下。
(1)樣本聚類:采用本文改進的DPC算法對訓練樣本集的輸入數據進行聚類劃分,得到K 個子數據集{D1,D2,…,DK}以及各子集聚類中心。
圖4 不同聚類方法在UCI數據集上的聚類評價指標Fig.4 Evaluation indexes on UCI datasets for different clustering methods
(2)建立子模型:采用最小二乘支持向量機[27-29]對得到的各個子數據集建立相應的子模型{m1,m2,…,mK}。
(3)待測樣本類別劃分:對于待測樣本xtest,計算其到各個聚類中心的歐氏距離,將xtest劃分到與其最近的聚類中心所屬的類別r(r = 1,2,…,K)中。
(4)采用“開關切換”融合方式,基于xtest計算對應子模型mr的輸出ypr,并將其作為最終軟測量模型的預測輸出ytest。
圖5 不同聚類方法在人工數據集上的聚類評價指標Fig.5 Evaluation indexes on synthetic datasets for different clustering methods
為了驗證本文方法的有效性,首先在UCI 真實數據集以及常用人工數據集上對改進DPC 聚類算法的有效性進行仿真驗證。進一步將改進的DPC聚類算法應用于青霉素發(fā)酵工業(yè)過程中,通過聚類建立軟測量多模型對青霉素產物濃度進行估計。
本 文 選 取Iris、Seeds、Wine、WDBC、Zoo、Ionosphere 共6 個不同屬性和樣本個數的UCI 數據集[23,25]進行仿真實驗,并將本文算法與KNN-DPC[24]、SNN-DPC[25]、DPC[19]、AP[30]和K-means[31]進 行 比 較。采用準確率(accuracy, ACC)、標準化互信息(normalized mutual information, NMI) 和F 值(FMeasure)[24]三種指標對聚類結果進行評價,評價指標如圖4 所示。三種評價指標的取值范圍均為[0,1],值越大表示聚類效果越好。
從圖4 的三個評價指標可以看出本文方法在6個UCI數據集上的效果均優(yōu)于其他聚類算法以及兩種改進的DPC 算法,并且相較于原始DPC 算法效果有較大提高,驗證了本文所提算法的有效性。
本文選用了Aggregation、Two moos、A1、A3 共4個常用人工數據集[23,32](二維)對不同算法進行實驗比較,相應的ACC、NMI 和F-Measure 如圖5 所示。從圖5可以看出,本文方法的聚類評價指標最優(yōu),為了更加直觀地體現本文方法的優(yōu)越性,將其與KNN-DPC 和SNN-DPC 兩種改進DPC 算法的聚類結果進行對比,如圖6~圖9 所示。從圖6~圖9 可以看出,只有本文方法能夠對4 個人工數據集進行完全正確地聚類,其他兩種改進DPC 聚類算法都存在錯誤聚類的情形。
為了驗證本文方法的有效性,選取青霉素發(fā)酵過程作為研究對象。所用數據通過Pensim 仿真平臺獲取,該平臺以Birol 模型為內核,充分考慮了多種物理量和生物量,是一個能夠全面反映青霉素發(fā)酵過程且常用的仿真平臺,具有較高的權威性與實用性[33-35]。
圖6 算法在Aggregation數據集上的聚類結果Fig.6 Clustering results on Aggregation
圖7 算法在Two moons數據集上的聚類結果Fig.7 Clustering results on Two moons
圖8 算法在A3數據集上的聚類結果Fig.8 Clustering results on A3
圖9 算法在A1數據集上的聚類結果Fig.9 Clustering results on A1
本文以難以在線測量的青霉素產物濃度作為輸出變量,選取與其密切相關的11個過程變量作為軟測量模型的輸入變量,包括通風速率、底物流加速率、底物濃度、溶氧量、底物流加溫度、培養(yǎng)液體積、CO2濃度、反應熱、pH、反應罐溫度、堿流加速率。
通過設定不同的初始條件,產生7 個批次的樣本數據,并設定每個批次的發(fā)酵時間和采樣間隔分別為400 h 和1 h。將其中的5 個批次作為訓練數據,剩余2 個批次作為測試數據??紤]到實際發(fā)酵過程中可能受到環(huán)境的影響,因此給測量數據加入了信噪比為35 dB的高斯白噪聲。
首先,運用本文改進后的DPC 算法對訓練集的輸入數據進行聚類劃分,得到各個子集以及聚類中心,然后對得到的子集分別建立最小二乘支持向量機(least squares support vector machine,LSSVM)模型,對于測試批次數據,根據其到各個聚類中心的距離,將其劃分到與其最近的聚類中心所屬的類別中,采用相應的子模型進行估計輸出。測試數據的劃分結果如圖10所示,改進后的DPC算法將青霉素發(fā)酵過程劃分為四個階段,分別對應于滯后期、快速生長期、合成期和死亡期。該分段結果與實際青霉素發(fā)酵過程的階段劃分相吻合,表明了本文提出的改進DPC算法的有效性。
為了進一步驗證本文方法的有效性和優(yōu)越性,將本文所提基于改進DPC 聚類多模型軟測量建模方法與LSSVM 單模型方法,以及基于未改進DPC聚類的LSSVM 多模型方法(記為DPC-LSSVM)進行仿真比較,2 個測試批次的青霉素濃度預測結果分別如圖11 所示。為了定量評價各個軟測量模型的效果,本文采用均方根誤差(root mean square error,RMSE),最大誤差(max error,MAXE)以及平均誤差(mean error,ME)[11]來對不同方法進行比較,結果如表1所示。
表1 不同模型的預測誤差比較Table 1 Comparison of prediction errors of different models
從圖11 及表1 可以看出,在初始條件不同也即發(fā)酵過程不同的兩個測試批次上,本文方法的預測效果最好,三個誤差評價指標比DPC-LSSVM 及LSSVM 單模型都要小很多。在RMSE 指標上,DPCLSSVM 相較于LSSVM 單模型分別提高了13.9%及8.2%,而本文方法分別提高了36.2%及30.9%,這是由于青霉素發(fā)酵過程自身的時變性、非線性及階段特性造成LSSVM 單模型的估計精度有限,而多模型的估計精度更高,性能更優(yōu)越。本文所提方法在原始DPC 聚類算法上進行改進,能對樣本數據更加合理地聚類,因此,相較于DPC-LSSVM 具有更好的預測能力和泛化能力。
圖10 DPC改進前后的分類結果Fig.10 Classification results for the original DPC and improved DPC
圖11 兩個測試批次的青霉素濃度預測結果Fig.11 Test sample simulation results of two batches for product concentration
針對青霉素發(fā)酵過程中的時變性、非線性、階段性以及關鍵生物參數青霉素濃度難以在線測量的問題,提出了一種基于改進密度峰值聚類的多模型軟測量建模方法。該方法通過引入相似度函數代替歐氏距離,得到更加符合數據分布的k 近鄰以及共享近鄰并利用其重新定義局部密度,然后通過點與點之間的k 近鄰關系來重新定義樣本點的分配策略,能夠獲得更合理的聚類,從而提高軟測量多模型的估計精度?;赨CI真實數據集以及常用人工數據集的仿真結果表明,本文提出的改進DPC 算法相對于原始DPC 算法性能有很大提高,且優(yōu)于用于對比的兩種改進DPC 算法以及其他聚類算法。進一步將改進的DPC 算法應用于青霉素發(fā)酵工業(yè)過程,建立軟測量多模型對產物濃度進行估計,仿真結果表明,相較基于原始DPC 方法建立的模型,本文方法建立的模型估計精度更高,且泛化能力更好。