摘 要:利用Rough集理論的基本原理和方法,在提出一種缺省規則挖掘策略和算法的基礎上,系統地描述了基于缺省規則的決策支持方法,將其應用于汽車故障診斷決策分析中。試用表明,該方法能較好地排除噪聲的影響,使決策者在有限的時間和有限的知識下,作出比較合理的決策。
關鍵詞: Rough集;決策支持;缺省規則;類描述;不一致性
中圖分類號:TP301文獻標志碼:A
文章編號:1001—3695(2007)03—0082—03
從數據挖掘的角度來看,數據集可以分成兩大類,即一致性的和不一致性的。如果一些數據具有相同的條件屬性值,而具有不同的分類,則這類數據是不一致性的;否則為一致性的。在不一致性情況下,數據挖掘系統不能根據條件屬性值將物體進行確定的分類。由于知識獲取和知識表示等種種原因,目前大部分用于數據挖掘的數據庫均存在著不一致性。
決策分析時,計算機與人一樣經常被要求必須在有限的時間內迅速作出決策。有限的時間限制了可進一步獲取知識的可能性,這就勢必要求決策者能夠在有限知識(不一致性)的情況下作出決策推理。因此應該需要一種方法,它能夠處理在數據存在不一致性時的推理情形,提供一種挖掘出更多潛在的、有趣的統計信息的框架,而在這種情況下得到的知識是在僅挖掘出確定性規則時所丟失的信息。
Rough集[1]是一種基于數學概念的方法,已廣泛用于處理數據的不一致性。文獻[2]提出了一種有效利用集合上近似用于處理一致性的方法。隨后人們提出了產生肯定規則和可能規則的方法[3]。文獻[4]提出一種算法,將訓練集中出現頻率低的元組視為噪聲,從訓練集中予以剔除。文獻[5]的邊界區域收縮概念將對于決策來說具有較小的概率分布的對象視為噪聲。文獻[6]提出了從不一致性的數據中提取命題缺省規則的方法。文獻[7]分析了文獻[6]中算法的不足,提出的改進算法顯著地提高了規則的提取效率,并有效地過濾了小概率分布。
本文系統地提出了基于缺省規則的決策支持方法,它是利用Rough集理論的基本原理和方法,提出一種有效處理不一致性的缺省規則挖掘策略,能在決策系統上確定規則的同時進行缺省規則的挖掘。
1 決策系統與類描述
2 基于Rough集缺省決策方法
2.1 缺省規則與搜索策略
在進行決策分析或數據挖掘時,為了能產生覆蓋數據集中所有模式的確定性規則,則描述對象的數據庫必須是完好的和含有所有必要的信息。另外,所有對象獨一無二的特征也必須是已知的。只有這樣,才有可能挖掘出對所有情況行之有效的確定性規則,甚至能覆蓋未知對象。但在實際中,這樣的理想數據是不存在的。由于人們對事物特性認識的有限性、知識表達的局限性以及數據獲取的誤差,可利用的大部分數據集都存在著不一致性。另外,人類專家在實際推理決策時,通常被要求在有限時間和有限知識的情況下作出推理決策。有限的知識就意味著存在不一致性,從某種意義上說,也就是要求決策者具備處理不一致性數據的決策推理能力。
因此,有必要在不一致的情況下也能從決策系統中吸取那些能反映正常情況或大部分情況下的模式。它雖然不一定對所有情況均是正確的,但在目前所掌握的知識前提下是正確的,這種模式就是缺省規則。
數據中存在噪聲是不可避免的。例如,假設當一個特定的對象占數據集中對象數的1%,并且由此產生一條確定規則。由于支持這條規則的對象所占百分比極小,可以懷疑是數據中的噪聲所致。為了降低噪聲的影響,下面引入規則支持度的概念。
在進行規則挖掘時,既要考慮所產生規則的置信度,也要考慮規則的支持度。在上面的例子中,假設支持度的閾值為0.1,由于此規則的支持度為0.01,可以認為這條規則為噪聲干擾所致,不作為合理的規則提交給用戶。這樣就能比較有效地排除噪聲的干擾,提高在使用規則決策時的效率。
有了前面的定義,本文提出自下向上的搜索策略來挖掘缺省規則。首先,在第一層上,即單個屬性上進行規則挖掘;第二層,即在兩個屬性構成的屬性集上進行規則挖掘;然后進行第三層……。依此類推,直至滿足預先設定支持度閾值條件。
通過上述策略對決策系統進行規則挖掘時,搜索深度是影響時間計算復雜性的重要因素。從下向上搜索得越深,則產生的規則越多,從而時間消耗就越大,并且規則的適用范圍也越來越小。
由此可以看出:當某一規則的支持度小于支持度閾值,則所有x∈E∩X的對象在上一層節點上產生的規則,其支持度也將小于μs。因此當某一節點產生的所有規則的支持度均小于事先規定的支持度閾值μs時,則與它相關的所有上層節點所產生的規則也將小于μs。進一步,當某一層的所有節點所產生的規則的支持度均小于μs時,其所有上層節點產生的規則的支持度均小于μs,故可以停止對其所有上層節點的搜索。
因此,當選擇合適的支持度閾值,搜索過程往往是在沒有到達最頂層前就結束,其搜索深度小于文獻[6]中方法的搜索深度|C|。越靠近頂部節點,其所產生的規則往往越是比較特殊,適用范圍很小,支持度也很低。根據本文的算法,在搜索到頂部節點之前,就有可能停止了搜索(選擇合適的支持度閾值),從而避免了耗時的頂部節點搜索,在時間上提高了效率。
自下向上的搜索時,上一層節點的屬性集可以認為是下層兩個節點屬性集的并集,如屬性集{a,b}可以認為是屬性集{a}和{b}的并集。
2.2 基于Rough集缺省決策方法
通常決策者是利用決策規則進行決策分析的。利用提出的缺省規則挖掘策略在決策系統上進行規則挖掘,這里包括前面提及的確定規則和缺省規則。在規則挖掘前,應該根據實際決策需要,設定規則支持度閾值和置信度閾值。下面描述在決策系統上的規則挖掘算法。
算法1 條件屬性集B上的規則挖掘算法
算法2能夠有效地去除噪聲的影響,提高規則產生的實際分類效率,具有一定的實用價值[7]。
進行決策分析時,決策者根據目前所擁有的知識,直接進行決策,而不需要等待所有的知識獲取后再進行決策,節約了決策時間,滿足了對時間要求比較強的決策問題的要求。首先,從算法2產生的規則庫中,尋找對應的規則,根據規則的結論,盡可能快地作出比較合理的決策判斷分析,對待求解的問題求解;若對結論不滿意,或有新知識可以利用的話,就加入新的知識,再在規則庫中搜索相應規則,重新決策。這時,由于缺省規則的存在,本次決策結論可能與前一次的決策結論不同,應該以本次決策為準。擁有的知識越多,即意味著對問題了解得越深,此條件下得出的結論就越合理。這一過程可被認為是對上一次決策的修正和完善。隨著上述過程的進行,決策越來越準確,直至問題被圓滿解決。
3 汽車故障診斷中的應用
在東風EQ140汽車異響故障診斷中,選取其中的離合器異響故障數據集,如表1所示。為了敘述簡單起見,其中四個條件屬性表示故障現象, 一個決策表示屬性故障的實際診斷結果。
利用算法2在表1上進行缺省規則挖掘。限于篇幅,僅列出在屬性集{ Attr1},{ Attr1,Attr2}和{ Attr1,Attr2,Attr3}上挖掘出的部分規則,如表2所示。
表2中,0表示 “尤為明顯”;1表示“明顯”;2表示“比較明顯”;3表示“輕微”;4表示“無”。
在診斷汽車故障定位時,汽車維修人員往往是按照汽車一些屬性的重要性程度逐步進行測試。當某一屬性測試完畢后,人類專家可能采取兩種措施:當故障確定時問題解決;如果還不能對故障進行定位,則加入另一屬性予以考慮,繼續分析,直至故障定位。
上例中,如果維修人員只有知識Attr1=0,則比較合理的決策是Fault2,但不能肯定;但如果維修人員有新的知識Attr2=3,則此時比較合理的決策是Fault1,但還不能百分之百肯定;再考慮加入新知識Attr3=0,則此時合理的決策是Fault1,置信度為1,故障定位確定,即離合器分離軸承缺油或松曠響。
4 結束語
決策者經常被要求在有限的時間內作出決策,因此必須具備在有限知識的情況下作出推理的能力。本文利用Rough集理論的思想,首先提出一種缺省規則挖掘策略,能有效地處理數據集中數據不一致的情況,然后系統地描述了基于缺省規則的決策支持方法,使得決策者能利用挖掘的缺省規則在有限的時間和有限的知識下,迅速作出比較合理的決策。該方法已經在軍用汽車故障診斷中得到了應用,且應用效果良好。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。