龔錦紅,凌仕勇
(華東交通大學(xué)1.電子與電氣工程學(xué)院;2.現(xiàn)代教育技術(shù)中心,江西南昌330013)
案例推理(case-based reasoning,CBR)技術(shù)是近年來人工智能領(lǐng)域中興起的一項新興的推理技術(shù)[1],其通過檢索歷史案例,充分利用以前的經(jīng)驗,推理得到新問題的解決方案。一個典型的案例推理過程的基本步驟包括4個主要過程:案例檢索、案例重用、案例修正和案例保存。通常,案例的恰當(dāng)表示、合理組織、獲取的有效性以及案例檢索的有效性及快速性關(guān)系到問題求解的效率和質(zhì)量。
Rough集理論[2]由波蘭數(shù)學(xué)家Pawlak在1982年提出,以處理含糊和不精確性問題。Rough集理論在處理含糊信息方面,具有不需要外界信息和先驗知識的獨特優(yōu)點,能夠依賴于統(tǒng)計知識提煉規(guī)則,有效地解決實踐中遇到的不精確性屬性難題,在對問題的計算分析方面具有客觀性。因而,應(yīng)用Rough集理論對案例推理系統(tǒng)具有積極的作用。
在解決問題時,可借助于該類問題的歷史經(jīng)驗進行推理得出該問題的解決方法。在案例推理系統(tǒng)中,對某個問題的表述及解決方法通常用一個或多個案例來表達,這些案例按一定的結(jié)構(gòu)和模式組織在案例庫中。當(dāng)某類新問題出現(xiàn)時,此推理系統(tǒng)依據(jù)相關(guān)的事實和索引,在案例庫中檢索得到相似的案例,并對其求解策略進行分析,重用,得到此問題的求解;最后,將此問題及相應(yīng)的求解模式和策略作為一個新的案例追加到系統(tǒng)的案例庫中,供日后所需。案例庫是存儲過去案例的空間,隨著時間的推移,案例庫中存儲的案例不斷增加,會存在失敗的案例及冗余的案例,使得案例推理系統(tǒng)的推理質(zhì)量和效率大大降低。應(yīng)用Rough理論可以對案例庫進行有效的知識約簡,在優(yōu)化案例庫的同時,提高案例推理的效率和質(zhì)量,積極地解決案例推理系統(tǒng)所面臨的難題[3]。
在Rough集理論中,案例庫是以一個二維表格的決策系統(tǒng)形式來表示的,即S=(U,A,V)。其中,U定義為非空有限集,即案例全域;A代表案例的條件屬性,是案例的描述特征屬性集,A=﹛f1,f2,…,fn﹜,f1f2…fn為不同的案例特征屬性;V代表案例的決策屬性,即解特征屬性集,V=﹛fS1,fS2,…,fSn﹜,其中fS1fS2…fSm為不同的案例解特征屬性。在決策表中,行代表研究的案例對象,列代表其屬性,行代表案例庫中的某個案例。
應(yīng)用Rough集理論在案例推理系統(tǒng)中時,為了優(yōu)化案例庫,并處理不完備數(shù)據(jù)及不精確知識表達的問題,在案例檢索前須采用Rough Set對案例庫進行初步處理,如對初始數(shù)據(jù)的補全、離散化處理以及對案例知識進行約簡等等[4]。
1.2.1 數(shù)據(jù)補全
形式上描述為:案例庫中定義的S=(U,A,V),進行補全后的數(shù)據(jù)集={x∈U|?a∈A,a(x)≠T},T為缺失數(shù)據(jù),集合A為全集U中的屬性集合。
數(shù)據(jù)補全簡單的有均值補全和模式補全,均值補全是,若其屬性數(shù)據(jù)是數(shù)值類型的,則取屬性均值為補全后的數(shù)據(jù)。若其屬性數(shù)據(jù)是字符類型的,則取出現(xiàn)概率次數(shù)最多的屬性值作為補全后的數(shù)據(jù)。
1.2.2 數(shù)據(jù)離散化
采用Rough集對案例和案例庫進行處理時,要求案例庫中的屬性值必須用離散數(shù)據(jù)進行表示。但是,實際中數(shù)據(jù)多數(shù)是連續(xù)的,因此,必須首先離散化處理連續(xù)的數(shù)據(jù),然后再進行相關(guān)分析[5]。對聯(lián)系數(shù)據(jù)進行離散化應(yīng)滿足:①信息處理復(fù)雜度應(yīng)盡可能小,即離散后屬性維數(shù)盡量小,也就是屬性值種類盡量少;②信息熵丟失少,即離散后的屬性值信息丟失應(yīng)盡量少。
1.2.3 知識約簡
知識約簡是Rough集理論的核心內(nèi)容之一,就是在保持知識庫的分類和決策能力不變的條件下,刪除一些無關(guān)或多于的信息。設(shè)C表示數(shù)據(jù)的集合,ω(C)是C的權(quán)重集,D是最后得到的約簡集,算法描述如下:
①設(shè)D=φ。②設(shè)b是有最大?w(C)的屬性,ω(C)表示集合D的沒有放入的,集合C的權(quán)重集總和。③將b加入到D中。④從S中移除包含b的屬性集。⑤若S=φ,得到最終的最小約簡,返回集合D,否則轉(zhuǎn)到②繼續(xù)執(zhí)行。
例如,對于對象C={{fish,cat,dog},{cat,man},{man,dog},{cat,fish}},令ω=1。首先設(shè)定D=φ,因為cat是集合C中最經(jīng)常發(fā)生的屬性,把cat加入到D中且需從集合C中移除含cat的項,這樣C={{man,dog}};繼續(xù)上面發(fā)現(xiàn)dog是接下來的集合中最經(jīng)常發(fā)生的屬性,將dog加至集合D中且移除含dog的項,最后,C=φ,得到集合D={cat,dog}。
案例庫構(gòu)建是對案例進行處理的中心,首先利用類DTImporter從基礎(chǔ)數(shù)據(jù)庫中導(dǎo)入初始數(shù)據(jù);然后利用GetMethod(SCALER)對數(shù)據(jù)進行預(yù)處理和離散化處理;接下來采用Johnson約簡方法,即GetMethod(JOHNSONREDUCER)對數(shù)據(jù)進行約簡;最終產(chǎn)生系統(tǒng)的推理規(guī)則。最后寫入數(shù)據(jù)庫或內(nèi)存中,供以后的瀏覽案例庫,維護(增,刪,改)案例庫及測試使用。
案例庫構(gòu)建的代碼片段如下[6]:
Method*method;
//數(shù)據(jù)導(dǎo)入,決策表方法(DECISIONTABLE)
DTImporter dtIm;
method=&dtIm;
SetStruc(Creator::Create(DECISIONTABLE));
GetStruc().Apply(*method);
//數(shù)據(jù)離散化(SCALER)
method=GetMethod(SCALER);
GetStruc().Apply(*method);
//知識約簡(JOHNSONREDUCER)
method=GetMethod(JOHNSONREDUCER);
method->SetParam(“DISCERNIBILITY=Object;SEED=1111”);
GetStruc().Apply(*method);
//規(guī)則產(chǎn)生(RULEGENERATOR)
method=GetMethod(RULEGENERATOR);
GetStruc().Apply(*method);
應(yīng)用Rough集進行案例檢索的基本過程為:對某個新問題,根據(jù)模型找出案例屬性的索引,求取屬性集合中等價類屬性集合的交集,通過檢索找出相似的案例;若沒有從案例庫中找到相似的案例,則重新選擇較合適的案例索引進行檢索。案例的Rough集檢索算法流程大致如圖1所示[7]。
圖1 案例推理系統(tǒng)的Rough集檢索算法流程圖Fig.1 Rough set retrieval algorithm flow chart of case reasoning system
現(xiàn)以文獻[8]中稀土萃取分離生產(chǎn)過程的料液處理量,產(chǎn)品純度等指標(biāo)的優(yōu)化控制為例,將Rough集推理與案例推理相結(jié)合,對稀土萃取分離過程中的萃取劑、料液和洗滌液的流量值通過構(gòu)造案例,將稀土萃取分離過程的優(yōu)化設(shè)定控制問題轉(zhuǎn)變?yōu)閷Π咐P偷姆治?,案例庫的?gòu)建,案例的檢索,重構(gòu),復(fù)用及對案例庫的增刪改過程,從而確定實際過程的動態(tài)模型。
將現(xiàn)場采集到的30組數(shù)據(jù)作為測試集如表1所示,針對該推理系統(tǒng)進行精確性和可行性的測試。
表1 測試集數(shù)據(jù)Tab.1 Testing set data
輸入為單個測試集的案例工況描述特征,輸出為實際解特征和基于Rough集的歸納法檢索方法得到的解特征如圖2所示。
案例檢索結(jié)果與實際采樣數(shù)據(jù)比較,可發(fā)現(xiàn),經(jīng)案例檢索后導(dǎo)出的特征數(shù)值與實際值非常接近,各項誤差小于2%。
對整個測試集的30組數(shù)據(jù)分別采用基于歐拉距離的近鄰檢索法和基于Rough集的歸納法,兩種檢索結(jié)果和實際值繪制成對比圖。以檢測點組分含量測試對比結(jié)果為例繪制測試對比圖如圖3所示。
采用近鄰法和歸納法分別得到這兩種檢索方法的解結(jié)構(gòu)特征和實際值解特征的誤差對比圖。此處以檢測點組分含量測試誤差為例繪制對比圖如圖4所示。
圖2 單元測試歸納法檢索結(jié)果Fig.2 Retrieval results of unit testing result induction
圖3 檢測點組分含量測試對比圖Fig.3 Testing contrast of component content on check point
圖4 檢測點組分含量測試誤差對比圖Fig.4 Testing error contrast of component content on check point
從圖中可以看出,兩種檢索結(jié)果和實際值之間具有一定的誤差:Rough集推理模型與實際值的誤差范圍比較小,基本圍繞0%這個中心點上下浮動,最多10%;而基于歐拉距離的模型與實際值的誤差范圍較大并且極不平均,曲線呈不規(guī)則的形狀有些誤差達到了50%。從對比的結(jié)果可以看出這種案例推理模型相對于基于歐拉距離的模型更接近于實際工程數(shù)值,在案例推理過程中具有很強的可行性和精確性。
結(jié)合Rough集對案例知識進行推理,在對案例進行分析形成案例模型,構(gòu)造Rough集的屬性集合,進而形成Rough集案例模型,根據(jù)不同問題采用不同方案進行快速檢索,能有效地解決實際工況中的不完備和不確定性問題。實驗證明,該推理模型構(gòu)建方法對解決實際問題是客觀可行的。
[1]WATSON I,MARIR F.Case-based reasoning:Areview[J].The Knowledge Engineering Review,1994,9(4):335-381.
[2]PAWLAK Z.Rough sets[J].International Journal of Computer and Information Seience,1982(11):341-356.
[3]HOANG XUAN HUAN.Case-based reasoning with rough features[J].Knowledge-Based System.2003(4):321-327.
[4]DUNTSCH I,GEDIGA G.Statistical evaluation of rough set dependency analysis[J].International Journal of Human Computer Study,1997,46(5):589-604.
[5]LINGRAS P.Application of rough pattern,Rough set in datamining and knowledge discovery[J].Series Softcomputing,Physical Velag(Springer),1998(2):369-384.
[6]龔錦紅.基于案例推理的稀土萃取分離過程優(yōu)化設(shè)定控制方法研究[D].南昌:華東交通大學(xué),2007:221-222.
[7]龔錦紅,楊輝,衷路生.稀土萃取分離過程中的Rough集案例推理方法[J].第二十九屆中國控制會議(No 29,CCC’10),2010(7):1701-1706.
[8]楊輝,柴天佑.稀土萃取分離過程的優(yōu)化設(shè)定控制[J].控制與決策,2005,20(4):398-407.