劉天松,吳永明,b,c,盛曉靜,陳琳升
(貴州大學 a.現(xiàn)代制造技術教育部重點實驗室;b.公共大數(shù)據(jù)國家重點實驗室;c.機械工程學院,貴陽 550025)
隨著大數(shù)據(jù)時代的迅速崛起,工業(yè)數(shù)據(jù)安全預警問題正在逐步成為人民重點的關注對象[1]。周志方等[2]采用基于支持向量機(SVM)模型對企業(yè)風險進行預警并對重污染企業(yè)管控提出指導意見。張丁[3]采用Apriori算法進行關聯(lián)規(guī)則數(shù)據(jù)挖掘預警,得到的關聯(lián)關系可以作為煤礦安全的重要依據(jù)。Jo B W等[4]利用基于RSS范圍的加權質(zhì)心定位算法提高煤礦井下安全管理水平,預防煤礦井下事故的發(fā)生。因此,數(shù)據(jù)監(jiān)測與預警在工業(yè)應用中的地位較高。
在工業(yè)生產(chǎn)中常用聚類算法來實現(xiàn)數(shù)據(jù)的預警與控制。Duan Haiyang等[5]利用k-均值聚類和動態(tài)時間規(guī)整(DTW)相結合,研究開發(fā)了一種有效的漏鋼預警方法。宋杰鯤等[6]采用PCA-AR和K均值聚類構等建煤炭安全預警模型,利用K均值將煤炭安全劃分為不同的安全等級。
在聚類算法預警中大多是采用歐式距離進行劃分,但是沒有對聚類對象區(qū)別對待,使預警機制對重要的聚類對象不夠敏感。因此本文提出一種加權歐式距離與GNG算法相結合的增量學習模型,通過改變每個聚類對象的權重使聚類結果更加準確,同時通過構建閾值機制對工業(yè)數(shù)據(jù)進行實時監(jiān)督和預警。
GNG算法是一種自適應聚類算法,聚類是數(shù)據(jù)挖掘中常用的算法之一,主要用于把大量的數(shù)據(jù)集合成若干簇[7],同一簇內(nèi)數(shù)據(jù)相似程度較大,不同簇之間相似程度較小[8]。聚類算法劃分方法大多是基于距離的,有K-means算法[9],K-modes算法,GNG(Growing Neural Gas)算法[10]等。雷小鋒等[11]提出一種改進K-means算法解決了局部最優(yōu)問題,提高了聚類效率。Bulent Tutmez等[12]提出用K-modes算法快速實現(xiàn),不做數(shù)據(jù)分布處理進行火災的檢測與識別。
最早的無監(jiān)督生長神經(jīng)網(wǎng)絡之一生長細胞結構(GCS)是由1994年Fritzke B[13]提出。在一年后Fritzke再次提出一種無監(jiān)督的生長神經(jīng)氣(GNG)具有競爭特性的算法。GNG網(wǎng)絡拓撲結構是自由變化的,當有數(shù)據(jù)輸入時其拓撲結構是最活躍的。GNG會動態(tài)增減網(wǎng)絡節(jié)點,鏈接相關性大的點和刪除老化以及邊界點。曾鋒等[14]利用GNG算法對點云三角網(wǎng)格的拓撲結構進一步優(yōu)化更接近于三角形。吳永明等[15]通過控制節(jié)點生成機制的GNG對燃煤鍋爐數(shù)據(jù)動態(tài)特征分析與控制,實現(xiàn)了新生節(jié)點生成機制和節(jié)點淘汰機制。仲朝亮等[16]提出將GNG與A*算法結合用于機器人的路徑規(guī)劃方法,實現(xiàn)快速收斂于采樣空間。但GNG算法在前人不斷研究的過程中也有部分缺陷:通常采用歐氏距離計算獲勝節(jié)點,而忽略了數(shù)據(jù)之間的內(nèi)在聯(lián)系,導致有時候GNG在聚類時會達不到動態(tài)數(shù)據(jù)變化的預警。如圖1所示。
圖1 GNG的數(shù)據(jù)漂移
當t=100時,數(shù)據(jù)本身分布是比較穩(wěn)定的,因此可以形成穩(wěn)定的拓撲結構,在t=1000時,由于迭代次數(shù)的增加,數(shù)據(jù)開始出現(xiàn)了漂移。并且在數(shù)據(jù)的漂移過程中經(jīng)典的GNG無法形成明顯的簇,使之間依然有聯(lián)系。雖然Mohamed-Rafik Bouguelia等[17]提出了改進的GNG—A自適應增量無監(jiān)督學習方法對數(shù)據(jù)漂移有所改善,但是沒有注意其數(shù)據(jù)內(nèi)部關系。本文提出采用加權歐氏距離的GNG算法,即克服了數(shù)據(jù)內(nèi)部沒有關系的缺點,同時保存了經(jīng)典GNG算法良好收斂性的特點。
GNG在輸入新的數(shù)據(jù)時,轉化神經(jīng)元來刺激神經(jīng)元之間的相互競爭,其競爭模式一般采用歐式距離,其競爭公式為:
(1)
但是由于考慮對象內(nèi)部之間的關系,本文應用加權歐式距離,其競爭公式為:
(2)
其中,i=(X1,X2,…,Xp)和j=(W1,W2,…,Wp)分別表示p維的數(shù)據(jù),λp表示每個變量的權重。在實際的應用中λp的大小要根據(jù)工業(yè)背景計算或者選取。
改進的GNG算法主要擁有對新輸入數(shù)據(jù)的權重歐式距離計算,新節(jié)點的生成和淘汰機制,具體實驗步驟如下:
步驟1:初始化數(shù)據(jù),對必要參數(shù)進行設置,獲取具有時間序列的數(shù)據(jù),并獲取維度。
步驟2:輸入樣本向量X,計算其加權歐式距離,利用公式(2)。權重根據(jù)實際情況選取。
步驟3:在輸入新向量時會對所有節(jié)點進行求加權歐式距離,得到獲勝節(jié)點Sn,并且更新該節(jié)點的局部誤差ESn:
Esn=Esn+‖X-Sn‖2
(3)
Wn=Wn+α1×(X-Wn)
(4)
(5)
步驟6:在判斷獲勝節(jié)點Sn的年齡,若:
t(Sn)>Tmax
(6)
那么神經(jīng)元Sn被移除。并且存在單獨的獲勝節(jié)點也會被移除。
步驟7:增添新的節(jié)點Snewnode
Snewnode=0.5×(Serrmax+Serrmax2)
(7)
Enewnode=0.5×Emax
(8)
步驟8:Q,P是判斷閾值,一旦超過閾值便給予報警。在獲勝節(jié)點處進行預警判斷:若獲勝節(jié)點坐標滿足:
XSn>QorYSn>P
(9)
步驟9:一次循環(huán)結束,返回步驟2。
實驗對象選擇的是貴陽市某造鋁廠半年內(nèi)其中一個槽的數(shù)據(jù)(118號電解槽)。鋁液中Fe和Si的含量對鋁純度有著非常大的影響,鋁液純度的下降,會使鋁的耐磨性,韌性,剛性都會發(fā)生改變?;诟倪MGNG算法對具有時間序列的Fe和Si含量數(shù)據(jù)進行聚類,并進行預警同時也對數(shù)據(jù)進行了實時跟蹤,為監(jiān)管者提供了良好的理論支持。實驗數(shù)據(jù)如表1所示。
表1 實驗數(shù)據(jù)
圖2 數(shù)據(jù)動態(tài)時序分布圖
鋁電解中Fe和Si含量的數(shù)據(jù)是具有時間序列特性的。其動態(tài)時序分布圖如圖2所示。在118電解槽連續(xù)6個月的時間產(chǎn)生的Fe和Si在鋁液中的含量。時間序列聚類是指數(shù)據(jù)通過客觀組成同一特性的數(shù)據(jù)來識別未標記時間序列的數(shù)據(jù)結構,在同質(zhì)組中,簇與簇對象之間的相似度較小,簇內(nèi)的對象之間的相似度較大。同時還可以看出,鋁液中Fe和Si含量的數(shù)據(jù)具有數(shù)據(jù)漂移的現(xiàn)象,說明此數(shù)據(jù)在一個范圍內(nèi)是穩(wěn)定的,超過了這個范圍就會使數(shù)據(jù)變得活躍起來,進而使這一類數(shù)據(jù)變得不穩(wěn)定,在此利用聚類算法將數(shù)據(jù)進行預警分析。
在第2節(jié)中的實驗模型參數(shù)如表2所示。
表2 實驗參數(shù)
λ1和λ2分別表示Fe含量和Si含量在電解鋁溶液時Fe和Si含量雜質(zhì)對鋁的純度的影響是的權重大小。α1和α2表示調(diào)節(jié)系數(shù),獲勝節(jié)點的權重。Tmax是最大年齡。Q和P分別表示Fe含量和Si含量的閾值。
實驗是用對比的方法,采用了經(jīng)典K-means算法,經(jīng)典GNG算法和改進GNG算法的網(wǎng)絡拓撲圖進行比較與分析。實驗結果如圖3所示:
(a) k-means實驗結果
(b) 經(jīng)典GNG實驗結果
(c) 改進GNG實驗結果圖3 實驗結果
在圖3中可以看出鋁電解過程中產(chǎn)生的雜質(zhì)Fe與Si的含量是發(fā)生了明顯的數(shù)據(jù)漂移,數(shù)據(jù)被分成了兩塊區(qū)域。圖3a聚類出的結果可以看出一簇內(nèi)Fe含量增長的過程中沒有區(qū)分含量的多少,造成這種情況的原因是數(shù)據(jù)漂移后,k-means算法無法及時的檢測到數(shù)據(jù)的變化。在圖3b聚類出的結果中圓形的圈為神經(jīng)節(jié)點,線條相互連接神經(jīng)節(jié)點的線路,數(shù)據(jù)漂移的過程中GNG算法的連接線條無法及時的發(fā)現(xiàn)新的神經(jīng)元和移除舊的神經(jīng)元。在圖3c可以看出神經(jīng)元已經(jīng)遍及所有的數(shù)據(jù),并且設置閾值,當神經(jīng)元到達閾值的時候報警裝置立刻就會觸發(fā)。在每次輸入數(shù)據(jù)時網(wǎng)絡拓撲圖中都會產(chǎn)生相應的獲勝節(jié)點,并且會把新輸入數(shù)據(jù)形成的節(jié)點與關聯(lián)節(jié)點的誤差更新,但隨著網(wǎng)絡對新輸入數(shù)據(jù)的適應性的增強,誤差將會逐步減小。
如圖4所示,鋁液中Fe和Si含量的數(shù)據(jù)在不同算法中可以看出其聚類的特性是不同的。
圖4 實驗對比結果
在K-means算法中由于K-means的特性需要首先給定K的取值,一旦K值給定其聚類中心得個數(shù)也就確定了,在迭代的過程中只是在不斷的更新其獲勝節(jié)點的位置。經(jīng)典GNG和改進GNG算法可以從圖中看出在迭代次數(shù)不斷增多的過程中聚類中心個數(shù)有明顯差別。在數(shù)據(jù)具有時序性和漂移特性的情況下,改進的GNG在加權歐式距離的計算其相似度的情況下,會根據(jù)其每個樣本的特性進行給出權重,每個樣本在不同的權重下得到的獲勝節(jié)點并在獲勝節(jié)點的淘汰機制下,確定了聚類中心。在經(jīng)典的GNG中的聚類中會在數(shù)據(jù)發(fā)生漂移的過程中無法及時的監(jiān)測到。這就是本文所提出的改進GNG算法的對動態(tài)時間序列數(shù)據(jù)進行實時的監(jiān)督與跟隨,在聚類的過程中及時向工作人員反映。
對Fe和Si含量數(shù)據(jù)的預警分析主要是為了控制鋁液純度。影響鋁液純度的主要因素有:料量,次數(shù),氟化鹽,電壓以及電解質(zhì)水平和NB設定。下面給出某鋁廠連續(xù)一周沒有調(diào)整前的數(shù)據(jù)和連續(xù)一周調(diào)整后的數(shù)據(jù):
如表3和表4所示在電解鋁的過程中產(chǎn)生的Fe和Si的百分比受多個因素影響,其中Fe對于鋁純度的影響最大,所以控制Fe的濃度,就可以有效的提高鋁的純度。在表3中可以看出Fe含量最大是0.308%在調(diào)節(jié)氟化鹽的加入量之后在表4中可以看出最大Fe含量是0.172%。綜合表3和表4可以看出氟化鹽對Fe的含量影響比較大,在加入氟化鹽后Fe的含量明顯降低。在以提高鋁液含量為目標時,為了降低Fe的含量,即在加料中要加入適當?shù)姆},便可提高鋁的純度。由此可見,氟化鹽是在眾多影響因素中最重要的。所以在電解鋁的過程中為了控制鋁液純度,要在投料時加入適當?shù)姆}。
表3 控制調(diào)整前
表4 控制調(diào)整后
為了實現(xiàn)對生產(chǎn)工業(yè)中時序數(shù)據(jù)的實時監(jiān)督與控制,本文對無監(jiān)督GNG的原理以及特性進行分析和研究,采用一種基于加權歐式距離的改進GNG算法實現(xiàn)了對時間序列數(shù)據(jù)的實時監(jiān)督預警。以電解鋁廠動態(tài)數(shù)據(jù)監(jiān)督控制為例,通過電解槽雜質(zhì)含量進行聚類分析并且以K-means、經(jīng)典GNG算法為參照進行了實驗比對。結果表明本文改進GNG算法在跟蹤與監(jiān)督雜質(zhì)含量數(shù)據(jù)更具有優(yōu)勢,能夠提高動態(tài)異常數(shù)據(jù)預警的有效性和精確性,進而為工廠管理者提供理論技術支持。