劉繼清,黃金花
(武漢船舶職業(yè)技術(shù)學(xué)院,武漢 430050)
基于改進(jìn)決策樹算法的設(shè)備故障智能診斷模型
劉繼清,黃金花
(武漢船舶職業(yè)技術(shù)學(xué)院,武漢 430050)
在20世紀(jì)80年代,人工智能及計(jì)算機(jī)技術(shù)的飛速發(fā)展,為故障診斷技術(shù)提供了新的理論基礎(chǔ),產(chǎn)生了基于知識的故障診斷方法。如基于專家系統(tǒng)的故障診斷方法、基于模糊理論和神經(jīng)網(wǎng)絡(luò)的故障診斷方法、基于數(shù)據(jù)融合和數(shù)據(jù)挖掘的故障診斷方法等。這些方法由于不需要對象的精確數(shù)學(xué)模型,而且具有某些“智能”性,因此比以前基于信號的故障診斷技術(shù)有更強(qiáng)的生命力。
但是,由于設(shè)備結(jié)構(gòu)和功能日趨完善,設(shè)備故障征兆與故障特征的非線性特性也日趨復(fù)雜,從而導(dǎo)致現(xiàn)代故障診斷及識別難度不斷提高。僅僅靠一種理論、一種方法往往無法實(shí)現(xiàn)在復(fù)雜環(huán)境下準(zhǔn)確、及時地進(jìn)行設(shè)備的故障診斷。因此集多種理論和方法于一體的集成型智能故障診斷系統(tǒng)必將是設(shè)備故障診斷技術(shù)的新趨勢。
本文提出一種混合決策樹智能故障診斷方法。首先根據(jù)原始數(shù)據(jù)構(gòu)建故障診斷原始決策表,然后利用離散優(yōu)化理論和可辨識矩陣約簡算法得到屬性維數(shù)最少的離散數(shù)據(jù)決策表;最后利用C4.5 算法構(gòu)造診斷決策樹;并對實(shí)例進(jìn)行了故障診斷。結(jié)果表明:這種集多種理論為一體的智能故障診斷方法能大量減少計(jì)算量,有效降低決策樹規(guī)模,提高故障識別速度,具有很強(qiáng)的工程實(shí)用性。
決策樹(Decision Tree)[1]是數(shù)據(jù)挖掘技術(shù)中一種常用的分類方法。決策樹作為用于分類和決策的主要技術(shù),是一種類似于流程圖的樹結(jié)構(gòu)。決策樹也稱為判定樹,其方法就是利用信息論中的信息增益尋找樣本數(shù)據(jù)庫中具有最大信息量的屬性字段建立決策樹的一個節(jié)點(diǎn),再根據(jù)該屬性字段的不同取值建立樹的分枝,并在每個分枝重復(fù)建立樹的下一個節(jié)點(diǎn)和分枝的過程。
決策樹的構(gòu)建是一種自上而下、分而治之的歸納過程,本質(zhì)是“貪心”算法[2]。在一棵決策樹中,每個內(nèi)部節(jié)點(diǎn)表示一個屬性上的測試,每個分枝代表一個測試的輸出,而每個葉節(jié)點(diǎn)則存放一個類標(biāo)號,樹的頂層節(jié)點(diǎn)是根節(jié)點(diǎn)。決策樹的構(gòu)造從代表全部訓(xùn)練樣本的根節(jié)點(diǎn)開始,為每個內(nèi)部節(jié)點(diǎn)選擇一個分裂屬性,并根據(jù)該屬性的取值將樣本劃分為決策樹若干分枝,直到葉節(jié)點(diǎn)將樣本劃分為某一類[3]。典型的決策樹算法有ID3和C4.5兩種,它們在建樹的簡潔性、分類的快速性、可處理數(shù)據(jù)的范圍和規(guī)模等方面各有不同。以前進(jìn)行故障分類診斷的常用方法為ID3。
ID3算法的主要缺陷是,用信息增益作為選擇分枝屬性的標(biāo)準(zhǔn)時,偏向于取值較多的屬性。而且,ID3算法只能處理離散值屬性,在數(shù)據(jù)處理范圍上存在一定的局限性。基于以上原因,本例中選擇C4.5算法進(jìn)行故障分類診斷。
C4.5算法是由ID3算法演變而來的,有如下優(yōu)點(diǎn):
1)采用信息增益率進(jìn)行屬性分割,克服了用信息增益來分割屬性時偏向選擇值多的屬性的不足。信息增益率定義為[4]:
其中,Gain(A)為信息增益,SplitI(A)是屬性A劃分子集的熵。采用增益率劃分屬性得到的決策樹,其中每個節(jié)點(diǎn)取具有最大信息增益率的屬性。
2)可以處理連續(xù)數(shù)值型屬性。C4.5在選擇某節(jié)點(diǎn)上的分枝屬性時,對于離散型描述屬性,C4.5的處理方法與ID3相同,按照該屬性本身的取值個數(shù)進(jìn)行計(jì)算;而對于某個連續(xù)性描述屬性,C4.5將預(yù)先作以下離散化處理。具體如下:
(1)尋找該連續(xù)型屬性的最小值,并把它賦值給MIN,尋找該連續(xù)型屬性的最大值,并把它賦值給MAX;
(2)設(shè)置區(qū)間[MIN,MAX]中的N個等分?jǐn)帱c(diǎn)Ai,它們分別是
(3)分別計(jì)算把[MIN,Ai]和[Ai,MAX](i=1,2,…,N)作為區(qū)間值時的Gain值,并進(jìn)行比較;
(4)選取Gain值最大的Ak做為該連續(xù)屬性的斷點(diǎn),把屬性值設(shè)置為[MIN,Ak]和(Ak,MAX]兩個區(qū)間值。
3)決策樹構(gòu)建后可進(jìn)行剪枝。由于數(shù)據(jù)表示不當(dāng)、有噪聲或者由于決策樹生成時產(chǎn)生重復(fù)的子樹等原因,都會造成產(chǎn)生的決策樹過大。因此,簡化決策樹是一個不可缺少的環(huán)節(jié)。決策樹構(gòu)建后,可利用基于分類誤差率的剪枝算法對生成樹進(jìn)行修剪。該方法使用訓(xùn)練樣本集本身來估計(jì)剪枝前后的誤差,從而決定是否需要剪枝。方法中使用的公式如下:
其中N是實(shí)例的數(shù)量,f=E/N為觀察到的誤差率(其中E為N個實(shí)例中分類錯誤的個數(shù)),q為真實(shí)的誤差率,c為置信度(C4.5算法的一個輸入?yún)?shù),默認(rèn)值為0.25),z為對應(yīng)于置信度c的標(biāo)準(zhǔn)差,其值可根據(jù)c的設(shè)定值通過查正態(tài)分布表得到。通過該公式即可計(jì)算出真實(shí)誤差率q的一個置信度上限,用此上限為該節(jié)點(diǎn)誤差率e做一個悲觀的估計(jì):
通過判斷剪枝前后e的大小,從而決定是否需要剪枝。決策樹的剪枝可使生成的決策樹葉節(jié)點(diǎn)最少且每個葉節(jié)點(diǎn)的深度最小,從而簡化決策樹結(jié)構(gòu),在保證故障診斷正確率的前提下為決策規(guī)則庫“瘦身”。
表1為柴油機(jī)缸套活塞磨損的樣本數(shù)據(jù)[5],測取某型叉車柴油機(jī)缸體表面振動信號,對柴油機(jī)缸套活塞磨損程度進(jìn)行診斷。由于缸套活塞間的磨損是循序漸進(jìn)的,故不可能對磨損狀態(tài)定一個明顯的界限,選擇有代表性的3個狀態(tài)進(jìn)行分析即正常工作狀態(tài)、輕微磨損狀態(tài)及嚴(yán)重磨損狀態(tài)。將時間-頻率平面等分為12個區(qū)域[6],條件屬性C={C1,C2,C3…C12}對應(yīng)于這12個時域局部能量特征參數(shù),決策屬性d={1,2,3}對應(yīng)于正常狀態(tài)、輕微磨損狀態(tài)和嚴(yán)重磨損狀態(tài)。
表1 柴油機(jī)缸套活塞磨損的樣本數(shù)據(jù)
表2 離散化處理后的決策表
根據(jù)離散化優(yōu)化算法對表1的樣本數(shù)據(jù)進(jìn)行離散化,離散化后的決策表如表2所示。
如果直接對上表數(shù)據(jù)使用C4.5決策樹算法進(jìn)行故障分類診斷,由于特征屬性維數(shù)較多,C4.5算法需要一個個計(jì)算C1-C12各節(jié)點(diǎn)的信息量,比較信息增益率,勢必導(dǎo)致計(jì)算量太大。即使C4.5可在決策樹構(gòu)建后進(jìn)行剪枝,但在生成決策樹前期仍有很大的計(jì)算量。因此,筆者考慮采用可辨識矩陣約簡算法先對表2進(jìn)行約簡,然后再采用C4.5算法構(gòu)建決策樹,進(jìn)行故障分類診斷。
粗糙集(Rough Set)理論于1982年由波蘭科學(xué)家Pawlak提出,已成為信息科學(xué)最活躍的研究領(lǐng)域之一。屬性約簡作為粗糙集理論的核心內(nèi)容,它的意義在于可以有效地刪除冗余信息[7],形成精簡的決策規(guī)則庫,提高人工或機(jī)器識別的快速性和準(zhǔn)確性。目前,最常用的一致性數(shù)據(jù)屬性約簡方法是可辨識矩陣約簡算法。
Skowron可辨識矩陣定義為[8]:
可辨識矩陣約簡算法的原則是最后的約簡矩陣即包含了相對重要的屬性,且這些屬性之間的依賴度要充分小。在可辨識矩陣中只含單個屬性的元素構(gòu)成了相對核,不含相對核的元素構(gòu)成集合B=A-C0,其在可辨識矩陣中出現(xiàn)的頻率記為P(ak),則屬性ak的重要性為:
經(jīng)過可辨識矩陣約簡算法處理后,去除了表2 中的冗余屬性,將表2約簡為只有{C2, C3, C4,C11}四個代表屬性的決策如表3所示。
表3 約簡后的決策表
筆者將可辨識矩陣約簡算法和C4.5決策樹算法結(jié)合,設(shè)計(jì)了一種改進(jìn)型決策樹智能診斷模型。其基本結(jié)構(gòu)如圖1 所示。它主要包括數(shù)據(jù)庫模塊、決策表模塊、診斷規(guī)則庫模塊、診斷決策樹模塊和診斷結(jié)果輸出模塊。在進(jìn)行故障診斷時, 先將診斷規(guī)則和故障特征向量載入, 同時數(shù)據(jù)庫中的數(shù)據(jù)經(jīng)離散化處理后實(shí)時送到診斷模塊,診斷模塊根據(jù)載入的診斷規(guī)則進(jìn)行推理和診斷, 并將結(jié)果輸出。
圖1 基于改進(jìn)決策樹算法的設(shè)備故障診斷模型
圖2 利用本方法約簡的決策樹
將約簡后的決策表3數(shù)據(jù)送入后續(xù)的C4.5 模塊, 根據(jù)增益率最大原則生成決策樹如圖2所示。由此產(chǎn)生6條IF-THEN規(guī)則。將測試數(shù)據(jù)送入此模型進(jìn)行柴油機(jī)缸套活塞磨損情況的故障診斷,正確率達(dá)到90%以上。
這種將可辨識矩陣約簡算法和C4.5決策樹算法相結(jié)合的設(shè)備故障診斷模型可以對樣本特征參數(shù)進(jìn)行約簡,去除冗余信息,有效減少C4.5決策樹的節(jié)點(diǎn)數(shù),減少故障規(guī)則提取的工作量, 降低決策樹規(guī)模,實(shí)現(xiàn)故障類型的快速準(zhǔn)確識別。比單純使用決策樹算法具有更強(qiáng)的工程實(shí)用性。當(dāng)樣本數(shù)據(jù)充足時,該方法可推廣應(yīng)用。
[1]SUN Weixiang,CHEN Jun,LI Jiaqing.Decision Tree and PCA Based Fault Diagnosis of Rotating Machinery[J]. Mechanical Systems and Signal Processing,2007, 21(3):1300-1317.
[2]蘇新寧,楊建林.數(shù)據(jù)倉庫和數(shù)據(jù)挖掘[M].北京:清華大學(xué)出版社,2006.
[3]蒲元芳,杜紅樂.決策樹在網(wǎng)絡(luò)入侵檢測中的研究與應(yīng)用[J].電腦知識與技術(shù), 2010(7):1560-1563.
[4]Quinlan J.C4.5 Programs for Machine Learning[M].New York:Morgan Kauffman,1993.
[5]黃廣君,郭洪濤,張孝國.基于粗糙集與神經(jīng)網(wǎng)絡(luò)的故障診斷研究[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(35):229-231.
[6]王奉濤.基于局域波形法的時頻局部能量特征提取方法[J].中國機(jī)械工程,2003,14(23): 2012-2014.
[7]張超,馬存寶,宋東,等.基于粗糙決策樹模型的復(fù)雜設(shè)備智能故障診斷[J].兵工學(xué)報,2008(9):1123-1128.
[8]王國胤.粗糙集理論與知識獲取[M].西安交通大學(xué)出版社,2000.
Intelligent fault diagnosis method for equipments based on improved decision tree algorithm
LIU Ji-qing, HUANG Jin-hua
提出一種改進(jìn)決策樹智能故障診斷方法。首先構(gòu)建故障診斷原始決策表,然后對特征數(shù)據(jù)進(jìn)行離散化處理;接著利用可辨識矩陣約簡算法對決策表進(jìn)行屬性約簡;最后利用 C45 算法構(gòu)造出最優(yōu)診斷決策樹;并對實(shí)例進(jìn)行故障診斷。結(jié)果表明:該方法能有效地刪除冗余信息,形成精簡的決策規(guī)則庫,提高故障識別速度, 具有很強(qiáng)的工程實(shí)用性。
決策樹;C4.5算法;可辨識矩陣約簡算法;故障診斷
劉繼清(1965 -),男,湖北孝感人,副教授,碩士,主要從事算法研究、計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)、軟件開發(fā)等工作。
TH166;TP391.7
A
1009-0134(2011)4(上)-0030-04
10.3969/j.issn.1009-0134.2011.4(上).10
2010-11-24