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