,,,,
(1.科學(xué)技術(shù)部科技人才交流開發(fā)服務(wù)中心,北京 100045; 2.北京科技大學(xué) 自動(dòng)化學(xué)院,北京 100083;3.廣道高新(北京)科技有限公司,北京 100081)
工業(yè)大數(shù)據(jù)是新工業(yè)革命轉(zhuǎn)型升級(jí)的重要戰(zhàn)略資源。而真正為企業(yè)帶來價(jià)值的是數(shù)據(jù)分析和挖掘之后產(chǎn)生的結(jié)果,通過工業(yè)大數(shù)據(jù)的分析,可以幫助企業(yè)提高運(yùn)行效率,帶來新的利潤和業(yè)績。但在我國,工業(yè)控制系統(tǒng)中關(guān)鍵系統(tǒng)[1-2]設(shè)備的份額大多為國外主流廠商,尤其是高端設(shè)備。這些設(shè)備的故障代碼和處理方式大多不掌握在我們手中,這就需要我們通過機(jī)器學(xué)習(xí)和日常處理故障時(shí),將專家的處理方式形成專家知識(shí)庫,而后根據(jù)出現(xiàn)的故障信息,從專家知識(shí)庫中獲取最新的預(yù)測結(jié)果和解決方案。怎樣快速匹配到問題,及時(shí)找到處理問題的規(guī)則和策略成為亟待解決的問題。
設(shè)備畫像就是根據(jù)自動(dòng)化設(shè)備在運(yùn)行過程中留下的數(shù)據(jù),主動(dòng)或被動(dòng)采集基本信息,再針對(duì)設(shè)備本身提取有效信息當(dāng)成標(biāo)簽,按照標(biāo)簽信息構(gòu)造設(shè)備的抽象模型[3]。通過設(shè)備畫像推薦算法,為用戶推薦合適的專家知識(shí)庫規(guī)則,為當(dāng)前設(shè)備的故障診斷進(jìn)行及時(shí)響應(yīng)并提供解決方案。基于大數(shù)據(jù)的設(shè)備畫像技術(shù)已漸趨成熟,但對(duì)于設(shè)備畫像推薦算法采用的訓(xùn)練數(shù)據(jù)較少,無法充分體現(xiàn)設(shè)備信息特征,存在數(shù)據(jù)稀疏問題。為此,提出一種新的基于大數(shù)據(jù)技術(shù)的設(shè)備畫像專家知識(shí)庫推薦算法。
文章選擇工業(yè)大數(shù)據(jù)中專家知識(shí)庫資源作為推薦資源,通過Hadoop建立大數(shù)據(jù)信息存儲(chǔ)和處理平臺(tái)[4],把專家知識(shí)的基本信息、規(guī)則數(shù)據(jù)和故障描述、處理方式等信息存儲(chǔ)至HDFS(Hadoop Distributed File System)中,同時(shí)通過開源MapReduce技術(shù)完成對(duì)大規(guī)模數(shù)據(jù)的計(jì)算與處理[5]。
MapReduce技術(shù)的關(guān)鍵部分主要包括Map與Reduce,兩個(gè)部分的輸入與輸出為
Map部分主要用于讀入數(shù)據(jù),得到設(shè)備故障分組與專家知識(shí)庫分組,獲取設(shè)備故障、專家知識(shí)庫組合分組的ID,同時(shí)將其當(dāng)成鍵值對(duì)中的key[6,7]。Value值就是故障號(hào)ID與專家知識(shí)ID以及故障設(shè)備對(duì)專家知識(shí)的相關(guān)度進(jìn)行評(píng)分。Shuffle過程即將分布于不同Map節(jié)點(diǎn)的鍵值對(duì)數(shù)據(jù)依據(jù)某種規(guī)則分組,劃分至對(duì)應(yīng)Reduce節(jié)點(diǎn)。
Reduce部分主要用于得到優(yōu)化問題的解,輸出鍵值對(duì)專家知識(shí)ID或故障ID特征向量[8]。
Map端處理相對(duì)較為容易,主要是對(duì)數(shù)據(jù)進(jìn)行映射劃分,對(duì)不完整數(shù)據(jù)進(jìn)行過濾。Reduce端主要用于完成故障更新以及特征向量的更新。Reduce端需采集最新故障、專家知識(shí)特征向量,可在Reduce端執(zhí)行reduce函數(shù)實(shí)現(xiàn)裝載,將輸出的特征向量當(dāng)成下一次迭代的輸入,直至符合收斂條件,對(duì)結(jié)果進(jìn)行保存。
數(shù)據(jù)挖掘工具選用懷卡托智能分析環(huán)境,其為將數(shù)據(jù)挖掘算法作為應(yīng)用的開源平臺(tái),存在大規(guī)模機(jī)器學(xué)習(xí)算法,可實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理,也可完成新交互式界面的可視化處理。
把開源懷卡托智能分析環(huán)境和建立的Hadoop大數(shù)據(jù)處理平臺(tái)結(jié)合在一起,為設(shè)備畫像推薦算法提供依據(jù)。
聚類分析為數(shù)據(jù)挖掘的一種主要算法,聚類的目的為在無先驗(yàn)知識(shí)的情況下,按照數(shù)據(jù)相似性把大數(shù)據(jù)劃分成不同類,令同類元素最大程度類似,不同類元素間差異盡可能大,所以又被稱作非監(jiān)督聚類[10]。
當(dāng)前聚類分析法主要有基于劃分的聚類分析法、基于密度的聚類分析法以及基于網(wǎng)絡(luò)的聚類分析法等。K-means算法可簡單高效地處理大數(shù)據(jù),有效改善可擴(kuò)展性問題,在工業(yè)與科學(xué)領(lǐng)域中有很大的影響,本節(jié)選用K-means算法。
在大數(shù)據(jù)環(huán)境下,將K-means算法和改進(jìn)協(xié)同過濾算法結(jié)合在一起,實(shí)現(xiàn)設(shè)備畫像推薦的基本思想如下:首先任意確定k個(gè)聚類中心,通過相似度求出某條專家知識(shí)和各聚類中心的相似性,同時(shí)把專家知識(shí)劃分至和聚類中心最相似的簇中,直至全部專家知識(shí)均被劃分完成,產(chǎn)生k個(gè)簇,所有簇中專家知識(shí)間相似度均很高。完成聚類后,求出故障所需尋找的專家知識(shí)和各聚類中心間的相似程度,在相似度最高的簇中為故障找到最近鄰集合,向故障做出合理推薦。
也就是針對(duì)簇集合A={A1,A2,…,Ak},對(duì)下式求最小值:
式中,μi用于描述分類Ai的均值。
(1)
詳細(xì)流程為:
1)從n個(gè)對(duì)象中隨機(jī)選擇k個(gè)對(duì)象當(dāng)成初始聚類中心。
2)按照各聚類對(duì)象的均值,求出所有對(duì)象和中心對(duì)象的差異性,把元素劃分至差異度最低的簇中。
3)重新對(duì)各存在變化的聚類的均值進(jìn)行計(jì)算。
4)重復(fù)進(jìn)行步驟2)與步驟3),直至各聚類均不再出現(xiàn)改變。
5)輸出結(jié)果。
在對(duì)最近鄰選擇的過程中,本節(jié)通過多種相似性衡量因子加權(quán)的思想對(duì)相似性進(jìn)行計(jì)算[11],選用的相似性衡量因子主要有評(píng)分矩陣相似性和設(shè)備畫像特征相似度,則本節(jié)相似性計(jì)算公式為:
sim(u,v)=αsimr(u,v)+βsime(u,v)
(2)
式中,simr(u,v)用于描述故障u與其他故障v間評(píng)分相似性,sime(u,v)用于描述故障u與其他故障v間設(shè)備畫像相似度,α、β依次用于描述相應(yīng)權(quán)值。
得到相似度后,將相似度最大的前若干結(jié)果作為最近鄰。
下面對(duì)設(shè)備畫像相似度進(jìn)行計(jì)算。設(shè)備畫像為對(duì)設(shè)備特征的多維描述,是通過若干表示設(shè)備特征的標(biāo)簽以及設(shè)備故障組成的集合,例如設(shè)備的故障表現(xiàn)形式、故障影響程度等。
如圖1所示,集合故障u與其他故障v中的元素依次代表故障u與其他故障v的畫像特征,相交部分代表故障u與其他故障v存在的共同的畫像特征。因此設(shè)備畫像相似度可通過設(shè)備畫像特征文本集合相似性求出。
圖1 設(shè)備畫像特征圖
針對(duì)設(shè)備畫像信任度,假設(shè)存在m種設(shè)備畫像標(biāo)簽,故障u與其他故障v畫像特征文本均包含m個(gè)標(biāo)簽,依次用Qu與Qv進(jìn)行描述。故障u與其他故障v的畫像相似度也就是Qu與Qv的相似度,計(jì)算公式如下:
(3)
式中,Qu∩Qv用于描述故障u與其他故障v共同設(shè)備畫像特征元數(shù)數(shù)量,Qu∪Qv用于描述故障u與其他故障v設(shè)備畫像含有的全部特征數(shù)量。
評(píng)分相似性通過皮爾遜相關(guān)系數(shù)進(jìn)行描述。皮爾遜相關(guān)系數(shù)在[-1,1]范圍內(nèi)取值,皮爾遜相關(guān)系數(shù)絕對(duì)值越高,則相關(guān)性越強(qiáng)。在皮爾遜相關(guān)系數(shù)為1的情況下,認(rèn)為相似性最高,呈正相關(guān)關(guān)系;在皮爾遜相關(guān)系數(shù)為-1的情況下,認(rèn)為呈完全負(fù)相關(guān)關(guān)系。在皮爾遜相關(guān)系數(shù)為0時(shí),認(rèn)為無任何關(guān)系。
故障u與其他故障v間評(píng)分相似性simr(u,v)利用皮爾遜相關(guān)系數(shù)度量如下:
(4)
本節(jié)依據(jù)協(xié)同過濾算法的特點(diǎn),對(duì)評(píng)分相似度進(jìn)行優(yōu)化,防止在整個(gè)對(duì)象空間中查找最近鄰。
(5)
其中,R用于描述評(píng)分最大值。
分析上述關(guān)系可知,在對(duì)皮爾遜相關(guān)系數(shù)進(jìn)行求解時(shí),完成第h個(gè)專家知識(shí)的計(jì)算后,相似度至少是simh(u,v),則剩下的未計(jì)算相似度的部分符合下式:
maxsimr(u,v)≤simr(u,v)+
(6)
采用協(xié)同過濾算法向目標(biāo)故障推薦相關(guān)專家知識(shí)時(shí),主要依賴最近鄰,選擇前若干相似度最大的當(dāng)成最近鄰。目標(biāo)故障按照最近鄰用戶對(duì)專家知識(shí)的興趣度評(píng)分,得到傳統(tǒng)評(píng)分預(yù)測結(jié)果,公式描述如下:
(7)
式中,eui用于描述故障對(duì)某專家知識(shí)中描述的故障匹配程度預(yù)測評(píng)分。
在進(jìn)行任務(wù)推薦時(shí),數(shù)據(jù)規(guī)模逐漸增加,造成協(xié)同過濾評(píng)分矩陣規(guī)模越來越大。在大規(guī)模評(píng)分矩陣中為故障選擇最近鄰需耗費(fèi)大的量時(shí)間,這主要是由于需對(duì)大規(guī)模專家知識(shí)或故障間的相似性進(jìn)行計(jì)算,有很大的計(jì)算量。同時(shí)在添加新故障或新專家知識(shí)后,又需重新搜尋最近鄰,無法及時(shí)有效地體現(xiàn)目標(biāo)故障的偏好,大大降低了實(shí)時(shí)性,也會(huì)對(duì)推薦算法的推薦準(zhǔn)確性產(chǎn)生影響,造成推薦質(zhì)量大大降低。
為了避免出現(xiàn)上述分析問題,首先通過奇異值分解算法把a(bǔ)×b維評(píng)分矩陣R通過各行故障評(píng)分均值對(duì)各行缺少值進(jìn)行填充[12],獲取填充矩陣Rg,對(duì)其進(jìn)行分解,獲取三個(gè)低秩矩陣W、D、Z,同時(shí)令其相乘,則有:
Rg=Wg×Dg×Zg
(8)
其中:g< (9) 利用聚類把相似度高的故障聚集在一起,形成簇,從目標(biāo)故障所處簇中選擇最近鄰,為目標(biāo)故障推薦專家知識(shí),有效改善了擴(kuò)展性問題。 推薦算法步驟如下: 輸入:評(píng)分矩陣,聚類中心。 輸出:設(shè)備畫像推薦結(jié)果。 1)任意選擇k個(gè)聚類中心,求出故障和聚類中心的相似度,把故障劃分成k個(gè)簇。 2)求出目標(biāo)故障和聚類中心間的相似度,獲取和目標(biāo)故障相似度最高的簇。 3)在目標(biāo)故障所屬簇中,求出目標(biāo)故障和其余故障間的相似性,選擇前幾個(gè)相似度最高的故障當(dāng)成其最近鄰。 4)通過式(9)對(duì)目標(biāo)故障對(duì)某專家知識(shí)中描述的故障匹配程度進(jìn)行預(yù)測。 5)向目標(biāo)故障推薦前若干專家知識(shí)規(guī)則。 實(shí)驗(yàn)在Apache Mahout開源平臺(tái)進(jìn)行,該平臺(tái)可建立機(jī)器學(xué)習(xí)算法,包含聚類算法、協(xié)同過濾算法的應(yīng)用。通過平臺(tái)提供的工具構(gòu)造推薦引擎。 為了驗(yàn)證本文提出算法的性能,實(shí)驗(yàn)環(huán)境盡可能貼近真實(shí)網(wǎng)絡(luò),實(shí)驗(yàn)過程如下: 1)通過隨機(jī)技術(shù)產(chǎn)生設(shè)備屬性,得到相應(yīng)取值,實(shí)驗(yàn)數(shù)據(jù)源于我們歷時(shí)兩年從工業(yè)現(xiàn)場采集到的共269條風(fēng)箱故障數(shù)據(jù)。 2)得到訓(xùn)練集,訓(xùn)練集中包含設(shè)備一個(gè)月內(nèi)的歷史數(shù)據(jù),測試集中設(shè)備為訓(xùn)練集中的活躍設(shè)備,可保證數(shù)據(jù)的真實(shí)性。 3)完成對(duì)故障屬性與設(shè)備信息的統(tǒng)計(jì),獲取設(shè)備間互交換信息的分布情況,交換信息的統(tǒng)計(jì)結(jié)果為實(shí)驗(yàn)提供數(shù)據(jù)。 4)通過統(tǒng)計(jì)獲取的數(shù)據(jù)與評(píng)價(jià)標(biāo)準(zhǔn)對(duì)本文算法的有效性進(jìn)行驗(yàn)證。 由上述分析可知,實(shí)驗(yàn)數(shù)據(jù)選用的是工業(yè)現(xiàn)場采集的實(shí)際數(shù)據(jù),最大程度地模擬了實(shí)際情況。雖然真實(shí)應(yīng)用場景更加復(fù)雜,然而上述實(shí)驗(yàn)設(shè)置基本體現(xiàn)了工業(yè)系統(tǒng)實(shí)體的主要狀態(tài),基本滿足實(shí)際情況。 實(shí)驗(yàn)通過隨機(jī)函數(shù)形成的設(shè)備故障屬性值對(duì)故障屬性相似程度進(jìn)行計(jì)算。構(gòu)造故障屬性集合{unum,unom,user},包括數(shù)值型屬性、名稱型屬性與故障屬性。 針對(duì)相似度計(jì)算中的權(quán)重α與β,二者符合α+β=1。按照實(shí)際數(shù)據(jù)和線性規(guī)劃中的最小二乘擬合法,對(duì)α與β值進(jìn)行調(diào)整,從而獲取最優(yōu)結(jié)果。 下面針對(duì)α=0.65,β=0.35;α=0.55,β=0.45;α=0.35,β=0.55三種不同情況進(jìn)行實(shí)驗(yàn),比較三種情況下覆蓋率、成功率、召回率,確定權(quán)重取值。 覆蓋率計(jì)算公式為: (10) 成功率為故障成功匹配數(shù)量占總量的比重。 召回率即候選集中成功匹配數(shù)量占實(shí)驗(yàn)過程中實(shí)際接收匹配量的比重。 權(quán)重分析結(jié)果用表1進(jìn)行描述。 表1 權(quán)重分析結(jié)果 分析表1可知,在α增加的情況下,成功率逐漸增加,在α為0.65的情況下,成功率達(dá)到最高,但召回率較α為0.55時(shí)低,覆蓋率也隨α的增加而增加,在α為0.65時(shí)最高,所以,取α=0.65,β=0.35。 為了對(duì)本文算法推薦結(jié)果進(jìn)行主觀評(píng)價(jià),實(shí)驗(yàn)利用衡量相關(guān)故障和目標(biāo)知識(shí)庫規(guī)則對(duì)本文算法的推薦有效性進(jìn)行測試。 對(duì)80個(gè)目標(biāo)故障集合進(jìn)行訓(xùn)練,分別采用本文算法、主體模型算法和概率推薦算法推薦兩條專家知識(shí)規(guī)則,和直接按照設(shè)備故障號(hào)查找規(guī)則相比,以其中一個(gè)目標(biāo)故障為例,給出其推薦結(jié)果,比較三種算法給出的解決方案可知,本文算法推薦結(jié)果和目標(biāo)故障描述匹配結(jié)果最為相符,與主題模型算法和概率推薦算法相比,更加符合目標(biāo)故障的研究興趣,驗(yàn)證了本文推薦算法的有效性。 為了更加準(zhǔn)確地驗(yàn)證本文算法的有效性,在上述實(shí)驗(yàn)的基礎(chǔ)上,進(jìn)行數(shù)值分析驗(yàn)證。 推薦準(zhǔn)確性為評(píng)價(jià)推薦算法的可靠指標(biāo),本節(jié)將平均絕對(duì)誤差(Mean Absolute Wrror,MAE)、均方根誤差(Root Mean Squared Error,RMSE)、Perplexity指標(biāo)作為衡量指標(biāo)。 平均絕對(duì)誤差計(jì)算公式如下: (11) 均方根誤差計(jì)算公式如下: (12) 平均絕對(duì)誤差和均方根誤差值越低,認(rèn)為推薦算法推薦結(jié)果越準(zhǔn)確。 P值屬于信息理論測量指標(biāo),是似然估計(jì)值的體現(xiàn),用于衡量推薦結(jié)果和故障所需結(jié)果的相關(guān)性,其值越高,認(rèn)為推薦結(jié)果越可靠,公式描述如下: (13) 式中,u用于描述測試集故障,p(w)用于描述推薦給故障的專家知識(shí)規(guī)則,Nu用于描述設(shè)備故障集合總量。 P值越高,認(rèn)為推薦結(jié)果和設(shè)備所需結(jié)果越一致。 在上述實(shí)驗(yàn)的基礎(chǔ)上,比較本文算法、主題模型算法和概率推薦算法的平均絕對(duì)誤差、均方根誤差和P值,比較結(jié)果用表2進(jìn)行描述。 表2 三種算法設(shè)備畫像推薦準(zhǔn)確性比較結(jié)果 分析表2可以看出,采用本文算法進(jìn)行設(shè)備畫像推薦,平均絕對(duì)誤差為0.7025,均方根誤差為0.8526,低于主題模型算法的0.8236與0.8931,也低于概率推薦算法的0.8315和0.9165。說明本文推薦算法推薦結(jié)果準(zhǔn)確性明顯由于主題模型算法和概率推薦算法。本文算法Perplexity值為92.15,比主題模型算法的76.32和概率推薦算法的69.12明顯更高,說明本文算法推薦的專家規(guī)則和目標(biāo)故障所需要的策略更加相似,說明本文算法推薦結(jié)果和故障需要結(jié)果更加相符,進(jìn)一步驗(yàn)證了本文算法的有效性。 該算法也可以用在燒結(jié)工況的控制中,通過文中的算法,將工況不同模式聚在一起,按最接近的專家知識(shí)制策略推薦給當(dāng)前的工況模式,使得工況在該模式下的運(yùn)行達(dá)到預(yù)期的控制效果。 不妨設(shè)燒結(jié)機(jī)的控制模型為: (10) 首先對(duì)狀態(tài)空間進(jìn)行胞劃分,即對(duì)[-5 5]*[-5 5]*[-5 5]均勻劃分為10*10*10=1000個(gè)胞。每一維對(duì)應(yīng)的胞中心為圖2。 圖2 劃分形成的聚類中心 利用前面給出的有關(guān)故障的專家知識(shí),即這10個(gè)專家知識(shí)規(guī)則給出的控制策略,最終得到系統(tǒng)的控制效果如圖3所示。圖4展示了三種推薦算法的比較結(jié)果。 圖3 在專家給出的控制策略下得到的系統(tǒng)輸出 圖4 三種算法設(shè)備畫像推薦準(zhǔn)確性比較 因此達(dá)到了期望的控制效果,驗(yàn)證了該方法的有效性。 本文提出一種基于大數(shù)據(jù)技術(shù)的任務(wù)畫像推薦算法。將大規(guī)模多領(lǐng)域?qū)<覍W(xué)者資源作為推薦資源,通過Hadoop建立大數(shù)據(jù)信息存儲(chǔ)和處理平臺(tái),通過開源MapReduce技術(shù)完成對(duì)大規(guī)模數(shù)據(jù)的計(jì)算與處理。把開源懷卡托智能分析環(huán)境和建立的Hadoop大數(shù)據(jù)處理平臺(tái)結(jié)合在一起,為設(shè)備畫像推薦算法提供依據(jù)。 任意確定k個(gè)聚類中心,通過相似度求出某用戶和各聚類中心的相似性,同時(shí)把用戶劃分至和聚類中心最相似的簇中,直至全部用戶均被劃分完成,產(chǎn)生k個(gè)簇。 完成聚類后,在相似度最高的簇中為用戶找到最近鄰集合,依據(jù)經(jīng)奇異值分解處理后的填充評(píng)分矩陣,向用戶推薦合理的專家學(xué)者。 實(shí)驗(yàn)結(jié)果表明,所提算法主觀推薦結(jié)果可靠,將平均絕對(duì)誤差、均方根誤差和P值作為指標(biāo)進(jìn)行衡量,發(fā)現(xiàn)所提算法推薦精度高。在機(jī)器學(xué)習(xí)和專家知識(shí)庫的不斷更新和迭代中,相信工業(yè)控制系統(tǒng)中的故障診斷系統(tǒng)會(huì)更加完善。2 實(shí)驗(yàn)結(jié)果及分析
2.1 仿真實(shí)驗(yàn)環(huán)境設(shè)置
2.2 權(quán)重值確定
2.3 推薦結(jié)果主觀評(píng)價(jià)
3 算法在燒結(jié)機(jī)控制中的應(yīng)用
4 結(jié)束語