龔錦紅,凌仕勇
(華東交通大學(xué)1.電子與電氣工程學(xué)院;2.現(xiàn)代教育技術(shù)中心,江西南昌330013)
案例推理(case-based reasoning,CBR)技術(shù)是近年來(lái)人工智能領(lǐng)域中興起的一項(xiàng)新興的推理技術(shù)[1],其通過(guò)檢索歷史案例,充分利用以前的經(jīng)驗(yàn),推理得到新問(wèn)題的解決方案。一個(gè)典型的案例推理過(guò)程的基本步驟包括4個(gè)主要過(guò)程:案例檢索、案例重用、案例修正和案例保存。通常,案例的恰當(dāng)表示、合理組織、獲取的有效性以及案例檢索的有效性及快速性關(guān)系到問(wèn)題求解的效率和質(zhì)量。
Rough集理論[2]由波蘭數(shù)學(xué)家Pawlak在1982年提出,以處理含糊和不精確性問(wèn)題。Rough集理論在處理含糊信息方面,具有不需要外界信息和先驗(yàn)知識(shí)的獨(dú)特優(yōu)點(diǎn),能夠依賴于統(tǒng)計(jì)知識(shí)提煉規(guī)則,有效地解決實(shí)踐中遇到的不精確性屬性難題,在對(duì)問(wèn)題的計(jì)算分析方面具有客觀性。因而,應(yīng)用Rough集理論對(duì)案例推理系統(tǒng)具有積極的作用。
在解決問(wèn)題時(shí),可借助于該類問(wèn)題的歷史經(jīng)驗(yàn)進(jìn)行推理得出該問(wèn)題的解決方法。在案例推理系統(tǒng)中,對(duì)某個(gè)問(wèn)題的表述及解決方法通常用一個(gè)或多個(gè)案例來(lái)表達(dá),這些案例按一定的結(jié)構(gòu)和模式組織在案例庫(kù)中。當(dāng)某類新問(wèn)題出現(xiàn)時(shí),此推理系統(tǒng)依據(jù)相關(guān)的事實(shí)和索引,在案例庫(kù)中檢索得到相似的案例,并對(duì)其求解策略進(jìn)行分析,重用,得到此問(wèn)題的求解;最后,將此問(wèn)題及相應(yīng)的求解模式和策略作為一個(gè)新的案例追加到系統(tǒng)的案例庫(kù)中,供日后所需。案例庫(kù)是存儲(chǔ)過(guò)去案例的空間,隨著時(shí)間的推移,案例庫(kù)中存儲(chǔ)的案例不斷增加,會(huì)存在失敗的案例及冗余的案例,使得案例推理系統(tǒng)的推理質(zhì)量和效率大大降低。應(yīng)用Rough理論可以對(duì)案例庫(kù)進(jìn)行有效的知識(shí)約簡(jiǎn),在優(yōu)化案例庫(kù)的同時(shí),提高案例推理的效率和質(zhì)量,積極地解決案例推理系統(tǒng)所面臨的難題[3]。
在Rough集理論中,案例庫(kù)是以一個(gè)二維表格的決策系統(tǒng)形式來(lái)表示的,即S=(U,A,V)。其中,U定義為非空有限集,即案例全域;A代表案例的條件屬性,是案例的描述特征屬性集,A=﹛f1,f2,…,fn﹜,f1f2…fn為不同的案例特征屬性;V代表案例的決策屬性,即解特征屬性集,V=﹛fS1,fS2,…,fSn﹜,其中fS1fS2…fSm為不同的案例解特征屬性。在決策表中,行代表研究的案例對(duì)象,列代表其屬性,行代表案例庫(kù)中的某個(gè)案例。
應(yīng)用Rough集理論在案例推理系統(tǒng)中時(shí),為了優(yōu)化案例庫(kù),并處理不完備數(shù)據(jù)及不精確知識(shí)表達(dá)的問(wèn)題,在案例檢索前須采用Rough Set對(duì)案例庫(kù)進(jìn)行初步處理,如對(duì)初始數(shù)據(jù)的補(bǔ)全、離散化處理以及對(duì)案例知識(shí)進(jìn)行約簡(jiǎn)等等[4]。
1.2.1 數(shù)據(jù)補(bǔ)全
形式上描述為:案例庫(kù)中定義的S=(U,A,V),進(jìn)行補(bǔ)全后的數(shù)據(jù)集={x∈U|?a∈A,a(x)≠T},T為缺失數(shù)據(jù),集合A為全集U中的屬性集合。
數(shù)據(jù)補(bǔ)全簡(jiǎn)單的有均值補(bǔ)全和模式補(bǔ)全,均值補(bǔ)全是,若其屬性數(shù)據(jù)是數(shù)值類型的,則取屬性均值為補(bǔ)全后的數(shù)據(jù)。若其屬性數(shù)據(jù)是字符類型的,則取出現(xiàn)概率次數(shù)最多的屬性值作為補(bǔ)全后的數(shù)據(jù)。
1.2.2 數(shù)據(jù)離散化
采用Rough集對(duì)案例和案例庫(kù)進(jìn)行處理時(shí),要求案例庫(kù)中的屬性值必須用離散數(shù)據(jù)進(jìn)行表示。但是,實(shí)際中數(shù)據(jù)多數(shù)是連續(xù)的,因此,必須首先離散化處理連續(xù)的數(shù)據(jù),然后再進(jìn)行相關(guān)分析[5]。對(duì)聯(lián)系數(shù)據(jù)進(jìn)行離散化應(yīng)滿足:①信息處理復(fù)雜度應(yīng)盡可能小,即離散后屬性維數(shù)盡量小,也就是屬性值種類盡量少;②信息熵丟失少,即離散后的屬性值信息丟失應(yīng)盡量少。
1.2.3 知識(shí)約簡(jiǎn)
知識(shí)約簡(jiǎn)是Rough集理論的核心內(nèi)容之一,就是在保持知識(shí)庫(kù)的分類和決策能力不變的條件下,刪除一些無(wú)關(guān)或多于的信息。設(shè)C表示數(shù)據(jù)的集合,ω(C)是C的權(quán)重集,D是最后得到的約簡(jiǎn)集,算法描述如下:
①設(shè)D=φ。②設(shè)b是有最大?w(C)的屬性,ω(C)表示集合D的沒(méi)有放入的,集合C的權(quán)重集總和。③將b加入到D中。④從S中移除包含b的屬性集。⑤若S=φ,得到最終的最小約簡(jiǎn),返回集合D,否則轉(zhuǎn)到②繼續(xù)執(zhí)行。
例如,對(duì)于對(duì)象C={{fish,cat,dog},{cat,man},{man,dog},{cat,fish}},令ω=1。首先設(shè)定D=φ,因?yàn)閏at是集合C中最經(jīng)常發(fā)生的屬性,把cat加入到D中且需從集合C中移除含cat的項(xiàng),這樣C={{man,dog}};繼續(xù)上面發(fā)現(xiàn)dog是接下來(lái)的集合中最經(jīng)常發(fā)生的屬性,將dog加至集合D中且移除含dog的項(xiàng),最后,C=φ,得到集合D={cat,dog}。
案例庫(kù)構(gòu)建是對(duì)案例進(jìn)行處理的中心,首先利用類DTImporter從基礎(chǔ)數(shù)據(jù)庫(kù)中導(dǎo)入初始數(shù)據(jù);然后利用GetMethod(SCALER)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理和離散化處理;接下來(lái)采用Johnson約簡(jiǎn)方法,即GetMethod(JOHNSONREDUCER)對(duì)數(shù)據(jù)進(jìn)行約簡(jiǎn);最終產(chǎn)生系統(tǒng)的推理規(guī)則。最后寫(xiě)入數(shù)據(jù)庫(kù)或內(nèi)存中,供以后的瀏覽案例庫(kù),維護(hù)(增,刪,改)案例庫(kù)及測(cè)試使用。
案例庫(kù)構(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);
//知識(shí)約簡(jiǎn)(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ìn)行案例檢索的基本過(guò)程為:對(duì)某個(gè)新問(wèn)題,根據(jù)模型找出案例屬性的索引,求取屬性集合中等價(jià)類屬性集合的交集,通過(guò)檢索找出相似的案例;若沒(méi)有從案例庫(kù)中找到相似的案例,則重新選擇較合適的案例索引進(jìn)行檢索。案例的Rough集檢索算法流程大致如圖1所示[7]。

圖1 案例推理系統(tǒng)的Rough集檢索算法流程圖Fig.1 Rough set retrieval algorithm flow chart of case reasoning system
現(xiàn)以文獻(xiàn)[8]中稀土萃取分離生產(chǎn)過(guò)程的料液處理量,產(chǎn)品純度等指標(biāo)的優(yōu)化控制為例,將Rough集推理與案例推理相結(jié)合,對(duì)稀土萃取分離過(guò)程中的萃取劑、料液和洗滌液的流量值通過(guò)構(gòu)造案例,將稀土萃取分離過(guò)程的優(yōu)化設(shè)定控制問(wèn)題轉(zhuǎn)變?yōu)閷?duì)案例模型的分析,案例庫(kù)的構(gòu)建,案例的檢索,重構(gòu),復(fù)用及對(duì)案例庫(kù)的增刪改過(guò)程,從而確定實(shí)際過(guò)程的動(dòng)態(tài)模型。
將現(xiàn)場(chǎng)采集到的30組數(shù)據(jù)作為測(cè)試集如表1所示,針對(duì)該推理系統(tǒng)進(jìn)行精確性和可行性的測(cè)試。

表1 測(cè)試集數(shù)據(jù)Tab.1 Testing set data
輸入為單個(gè)測(cè)試集的案例工況描述特征,輸出為實(shí)際解特征和基于Rough集的歸納法檢索方法得到的解特征如圖2所示。
案例檢索結(jié)果與實(shí)際采樣數(shù)據(jù)比較,可發(fā)現(xiàn),經(jīng)案例檢索后導(dǎo)出的特征數(shù)值與實(shí)際值非常接近,各項(xiàng)誤差小于2%。
對(duì)整個(gè)測(cè)試集的30組數(shù)據(jù)分別采用基于歐拉距離的近鄰檢索法和基于Rough集的歸納法,兩種檢索結(jié)果和實(shí)際值繪制成對(duì)比圖。以檢測(cè)點(diǎn)組分含量測(cè)試對(duì)比結(jié)果為例繪制測(cè)試對(duì)比圖如圖3所示。
采用近鄰法和歸納法分別得到這兩種檢索方法的解結(jié)構(gòu)特征和實(shí)際值解特征的誤差對(duì)比圖。此處以檢測(cè)點(diǎn)組分含量測(cè)試誤差為例繪制對(duì)比圖如圖4所示。

圖2 單元測(cè)試歸納法檢索結(jié)果Fig.2 Retrieval results of unit testing result induction

圖3 檢測(cè)點(diǎn)組分含量測(cè)試對(duì)比圖Fig.3 Testing contrast of component content on check point

圖4 檢測(cè)點(diǎn)組分含量測(cè)試誤差對(duì)比圖Fig.4 Testing error contrast of component content on check point
從圖中可以看出,兩種檢索結(jié)果和實(shí)際值之間具有一定的誤差:Rough集推理模型與實(shí)際值的誤差范圍比較小,基本圍繞0%這個(gè)中心點(diǎn)上下浮動(dòng),最多10%;而基于歐拉距離的模型與實(shí)際值的誤差范圍較大并且極不平均,曲線呈不規(guī)則的形狀有些誤差達(dá)到了50%。從對(duì)比的結(jié)果可以看出這種案例推理模型相對(duì)于基于歐拉距離的模型更接近于實(shí)際工程數(shù)值,在案例推理過(guò)程中具有很強(qiáng)的可行性和精確性。
結(jié)合Rough集對(duì)案例知識(shí)進(jìn)行推理,在對(duì)案例進(jìn)行分析形成案例模型,構(gòu)造Rough集的屬性集合,進(jìn)而形成Rough集案例模型,根據(jù)不同問(wèn)題采用不同方案進(jìn)行快速檢索,能有效地解決實(shí)際工況中的不完備和不確定性問(wèn)題。實(shí)驗(yàn)證明,該推理模型構(gòu)建方法對(duì)解決實(shí)際問(wèn)題是客觀可行的。
[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]龔錦紅.基于案例推理的稀土萃取分離過(guò)程優(yōu)化設(shè)定控制方法研究[D].南昌:華東交通大學(xué),2007:221-222.
[7]龔錦紅,楊輝,衷路生.稀土萃取分離過(guò)程中的Rough集案例推理方法[J].第二十九屆中國(guó)控制會(huì)議(No 29,CCC’10),2010(7):1701-1706.
[8]楊輝,柴天佑.稀土萃取分離過(guò)程的優(yōu)化設(shè)定控制[J].控制與決策,2005,20(4):398-407.