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