基于知識發(fā)現(xiàn)技術(shù)的神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)倪志偉 蔡慶生摘要 為了克服傳統(tǒng)專家系統(tǒng)的3大缺陷,在討論專家系統(tǒng)新技術(shù)的基礎(chǔ)上,探討如何在專家系統(tǒng)中融入知識發(fā)現(xiàn)的技術(shù),提出一個新的系統(tǒng)框架,在其中使用的一些知識發(fā)現(xiàn)算法包括歷史數(shù)據(jù)庫中的數(shù)據(jù)挖掘及知識庫中的知識發(fā)現(xiàn).對此新的專家系統(tǒng)框架給予了實驗, 結(jié)果是:系統(tǒng)運行后,既可以發(fā)現(xiàn)新知識,又可以改進原有規(guī)則.這樣大大提高了系統(tǒng)知識獲取的能力,而且也求精了知識庫.
關(guān)鍵詞 神經(jīng)網(wǎng)絡(luò)專家系統(tǒng);歷史數(shù)據(jù)庫;知識庫; 知識發(fā)現(xiàn)
中圖分類號 TP 414 文獻標識碼:A
文章編號:0438-0479(2000)03-0288-05Neural Network Expert System Based on KnowledgeDiscovery TechniquesNI Zhiwei CAI Qing-sheng
Computer Dept., Univ. of Sci. and Tech. of China,Hefei 230027,China
NI Zhiwei
Comp. Dept., Anhui Univ., Hefei 230039,ChinaAbstract: Based on some new techniques in expert system, the authors discuss how to merge knowledge discovery in neural network expert system and put forward a framework,in which some knowledge discovery algorithms are raised. Experiments show that system based on knowledge discovery can mine some new rules and improve some old rules .This method can not only heighten the ability of knowledge acquisition but also refine knowledge base .
Key words:neural network expert system; historical data base; knowledge base; knowledge discovery 40多年來,雖然專家系統(tǒng)(Expert System, 即ES)的理論和應(yīng)用取得了重大進展,但由于其立足的符號信息處理機制的固有缺陷而導(dǎo)致傳統(tǒng)ES存在許多問題,主要有[1,2]:知識獲取的瓶頸問題、知識脆弱性、推理單調(diào)性.多年來許多研究人員為此進行了深入的研究,提出了許多新的理論與方法,主要集中在以下4個方面:
1)知識表示:采用非單調(diào)邏輯、面向?qū)ο蠓椒ā⒚嫦驅(qū)ο罂蚣芙Y(jié)構(gòu)、原型表示法、多方法混合表示、粗糙集、模糊粗糙集、模糊數(shù)學(xué)與傳統(tǒng)知識表示法的結(jié)合等表示法,還有一新課題就是對知識表示的形式化語義的研究;
2)知識獲取:半自動知識獲取、知識獲取工具、機器學(xué)習(xí)、機器感知、機器識別、機器發(fā)現(xiàn)等;
3)推理機制:非單調(diào)推理、基于案例的推理(CBR)、常識推理、定性推理、約束推理、不確定性推理等,其中不確定性推理包括Bayes方法、可信度理論、經(jīng)典概率方法、可能性理論、證據(jù)理論、信念網(wǎng)絡(luò)、模糊理論等;
4)ES體系結(jié)構(gòu):深表層知識結(jié)構(gòu)、黑板結(jié)構(gòu)、分布式結(jié)構(gòu)、推理-數(shù)據(jù)管理雙層結(jié)構(gòu)、模糊專家系統(tǒng)、基于遺傳算法及模糊邏輯的專家系統(tǒng)、多Agent協(xié)作專家系統(tǒng)、多Agent 多黑板結(jié)構(gòu)、CBR與ES的結(jié)合、多專家合作的綜合型體系結(jié)構(gòu)等;另外還有一種新的體系結(jié)構(gòu):聯(lián)接機制與ES的相互結(jié)合.
以非線性并行分布處理為主流的神經(jīng)網(wǎng)絡(luò)(Neural Network, 即NN)理論的發(fā)展,為人工智能和ES的研究開辟了嶄新的途徑.人們可以利用NN系統(tǒng)的學(xué)習(xí)功能、聯(lián)想記憶功能、分布式并行信息處理功能解決ES中的知識表示、獲取和并行推理等問題.當然NN也有明顯的缺點.例如,NN的推理過程是一個黑盒子,人們只能看到輸入和輸出,中間推理步驟是無法解釋的.另外,ES具有獨立的知識庫,知識維護十分方便;而NN的知識是以固定連結(jié)結(jié)構(gòu)存儲的,不易修改和補充.這些說明NN也需要與傳統(tǒng)的符號處理相結(jié)合,從而形成神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)(NNES).NNES的優(yōu)點是:具有學(xué)習(xí)功能、大規(guī)模并行分布式處理、全局集體作用以實現(xiàn)知識獲取自動化、可以實現(xiàn)并行聯(lián)想和自適應(yīng)推理,系統(tǒng)具有實時處理能力和較好的魯棒性、良好的啟發(fā)性、透明性和靈活性.和傳統(tǒng)的ES相比,在分類、診斷以及基基于分類的智能控 和優(yōu)化求解等方面,NNES可以取得更優(yōu)越的性能;另外,在遇到多個人類專家之間有不同意見的時候(甚至有矛盾的時候),傳統(tǒng)ES往往很難處理,但采用NNES來處理,困難就可以獲得比較滿意的解決.
NNES雖然具有許多優(yōu)點和長處,也存在一些固有的弱點:首先,NNES在目前還只適合于解決一些規(guī)模較小的問題;其次,NNES的性能在很大程度上受到所瘍的訓(xùn)練數(shù)據(jù)集的限制;第三,常識問題是目前限制智能系統(tǒng)功能的主要方面之一,常識知識的獲取是知識獲取的難點;最后,雖然NN具有快速獲取知識的優(yōu)點,但是,在NNES中知識的表示、處理顯得煩雜且混亂,有時是低效的.智能系統(tǒng)的發(fā)展趨勢告訴我們:應(yīng)該多信道獲取信息.通過多信道獲得信息或知識,將這些信息融合在一個大型人工智能系統(tǒng)中,使它們的信息得以綜合發(fā)揮作用,從而提高系統(tǒng)的求解能力.目前的NNES不可能具有很高的智能水平,但是針對以上的幾個方面和問題,在NNES中引入知識發(fā)現(xiàn)的概念之后可以緩解一些矛盾或部分地解決一些問題.知識發(fā)現(xiàn)的研究始于從數(shù)據(jù)庫中發(fā)現(xiàn)有用的模式這一概念,即KDD(Knowledge Discovery in Database).KDD是指識別出存在于數(shù)據(jù)庫中有效的、新穎的、具有潛在效用的乃至最終可理解的模式的非平凡的過程.數(shù)據(jù)挖掘是KDD過程的主要階段,數(shù)據(jù)挖掘的對象通常是大型數(shù)據(jù)庫或者數(shù)據(jù)倉庫,從廣義的角度上講,發(fā)掘?qū)ο笠部梢允俏募到y(tǒng),或者是其它數(shù)據(jù)集合,例如圖形圖象,WWW信息源,知識庫等.近幾年來,國內(nèi)外的知識發(fā)現(xiàn)的研究有許多成果,并已開始將理論研究的成果轉(zhuǎn)化為軟件產(chǎn)品,如DBMiner[3],Quest[4] ,但在目前國內(nèi)外尚無NNES中引入知識發(fā)現(xiàn)方面的成果.
1 NNES中的數(shù)據(jù)挖掘技術(shù)
本節(jié)介紹兩種神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的構(gòu)造形式,并給出各自系統(tǒng)中知識庫上的知識發(fā)現(xiàn)技術(shù)(Knowledge Discovery in Knowledge Base,即KDK). 第一種是神經(jīng)網(wǎng)絡(luò)本身作為一個專家系統(tǒng),我們稱之為簡單型NNES.一般采用多層神經(jīng)元構(gòu)成的網(wǎng)絡(luò).那些沒有信號輸入、只有信號輸出的神經(jīng)元被看作是輸入數(shù)據(jù)單元,那些有信號輸入、沒有信號輸出的神經(jīng)元看作為結(jié)論性單元;專家系統(tǒng)運行時,根據(jù)當時各種證據(jù)存在與否決定有關(guān)的輸入單元是否被激活,那些被激活的單元向前發(fā)送信號,信號在網(wǎng)絡(luò)中一層層向前傳遞.最后以那些結(jié)論性單元被激活來決定專家系統(tǒng)的運行結(jié)果.可以作為專家系統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型有BP、IAC等模型.比起傳統(tǒng)的ES,這種類型的NNES的主要優(yōu)點是不必有成熟的、確定的專家經(jīng)驗,主要缺點是知識庫維護麻煩、訓(xùn)練時間過長.
我們提出一個在這種專家系統(tǒng)中的規(guī)則挖掘算法(算法1),神經(jīng)網(wǎng)絡(luò)模型采用IAC模型[5].
算法1
1)給處理單元(用名稱B表示)以正輸入刺激;
2)運行IAC模型,搜索出被激活的單元,以名稱A表示,得到規(guī)則A
3)由單元激活值,計算出A
4)根據(jù)給定的最小可信度,判斷出規(guī)則A
其中知識庫用IAC網(wǎng)絡(luò)表示.在網(wǎng)絡(luò)中,將處理單元分成許多競爭集團.在同一集團內(nèi),處理單元之間存在著抑制性聯(lián)系,兩集團之間存在著興奮性聯(lián)系.即在同一集團中,處理單元之間具有一種相互競爭、相互抑制的機制,本集團中得到最強激活值的那些單元驅(qū)使其它單元的激活值的降低,而在兩集團間,處理單元之間的興奮性聯(lián)系是雙向方式的,即互相激勵.IAC網(wǎng)絡(luò)及模型有許多特征適合于知識發(fā)現(xiàn)的應(yīng)用,如聯(lián)想記憶及恢復(fù)能力、強泛化能力等.
第二種是神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)ES的相互結(jié)合,我們稱之為結(jié)合型NNES.其結(jié)合方式一般采用主輔方式[6],目前真正相互融合的系統(tǒng)難以建立.由此,我們設(shè)想一個基于神經(jīng)網(wǎng)絡(luò)和數(shù)據(jù)挖掘的專家系統(tǒng),即:在NNES中允許符號機制與聯(lián)接機制并存,輔以數(shù)據(jù)庫技術(shù)和知識發(fā)現(xiàn)技術(shù),統(tǒng)一在一個系統(tǒng)之中,充分發(fā)揮各自的優(yōu)點.其主要思想是在歷史數(shù)據(jù)庫與知識庫之間增加一個數(shù)據(jù)挖掘模塊.下面介紹相關(guān)的3個部分:
1)知識庫:它存放由人工知識獲取方法得到的知識、從NN中因?qū)W習(xí)而輸出并提取的知識、由知識發(fā)現(xiàn)子系統(tǒng)所得到的知識(包括從歷史數(shù)據(jù)庫和知識庫中挖掘出的知識).知識表示采用產(chǎn)生式規(guī)則形式.
2) 數(shù)據(jù)庫:綜合數(shù)據(jù)庫用來存放系統(tǒng)運行過程中所需要和產(chǎn)生的信息,包括問題的描述、中間結(jié)果、解決過程的記錄等信息;歷史數(shù)據(jù)庫中包含以時間為序的數(shù)據(jù)集,在其上可以進行KDD操作.
3) 知識發(fā)現(xiàn)子系統(tǒng):一般地,知識發(fā)現(xiàn)是基于數(shù)據(jù)庫下的知識挖掘,它通常在決策支持系統(tǒng)、數(shù)據(jù)倉庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)中采用.在結(jié)合型NNES中的數(shù)據(jù)挖掘包括兩部分:一是在歷史數(shù)據(jù)庫中進行的數(shù)據(jù)挖掘,二是在ES的知識庫中應(yīng)用數(shù)據(jù)挖掘算法來發(fā)現(xiàn)新的知識并存入知識庫中.
在結(jié)合型NNES中,我們所設(shè)計的KDK技術(shù)是基于諸多計算智能方法,從而達到在知識庫中發(fā)現(xiàn)知識.以下是我們提出的知識發(fā)現(xiàn)算法.
算法2
1) 從知識庫中的規(guī)則到神經(jīng)網(wǎng)絡(luò)的轉(zhuǎn)換算法:從知識庫中的符號規(guī)則構(gòu)造初始的神經(jīng)網(wǎng)絡(luò),包含的步驟有:規(guī)則重寫,使每個析取式都表示為一組僅有一個前提的規(guī)則;再用上述規(guī)則與網(wǎng)絡(luò)的映射關(guān)系,將包含邏輯關(guān)系(AND、OR、NOT)的規(guī)則轉(zhuǎn)化到一個與規(guī)則集元素相對應(yīng)的神經(jīng)網(wǎng)絡(luò);在網(wǎng)絡(luò)中需要的地方增加新節(jié)點使得網(wǎng)絡(luò)保持完整的層次;最后通過增加權(quán)值為零的連接,得到上下層中的結(jié)點均存在連接的全互聯(lián)多層神經(jīng)網(wǎng)絡(luò).在實際使用中,常常需要對網(wǎng)絡(luò)的規(guī)模進行壓縮.
2) 用BP學(xué)習(xí)算法來訓(xùn)練初始的NN,使網(wǎng)絡(luò)中的規(guī)則得到修正,與訓(xùn)練實例相容.
3) 用遺傳算法對NN剪枝,去掉多余的連接或多余的節(jié)點.先對節(jié)點按順序編碼,輸入節(jié)點在前,隱節(jié)點居中,輸出節(jié)點在后;再對節(jié)點之間的連接按順序編碼.從而每個NN對應(yīng)兩個編碼串,且采用二進制編碼.如果該節(jié)點或連接在網(wǎng)絡(luò)中存在,則對應(yīng)的編碼為1,反之為0.若節(jié)點不存在,則與其相連的所有連接的代碼均為0.優(yōu)化的目標是在保證正確性的前提下,去掉盡可能多的節(jié)點和它們之間的連接.剪枝完成之后,再對優(yōu)化后的NN用BP算法來進行訓(xùn)練,完成這一步后,此時的SNN就可以用作一個很精確的分類器.
4)從訓(xùn)練好的NN中抽取出被發(fā)現(xiàn)的知識,即符號規(guī)則的抽取[7 ~11].這是較為關(guān)鍵的一步,即如何理解NN所學(xué)到的知識.目前有兩種主要的規(guī)則抽取方法:基于搜索的方法和基于學(xué)習(xí)的方法.前者主要集中于對NN單個節(jié)點所表示的概念的解釋,從每個節(jié)點中抽取的規(guī)則是由與此節(jié)點相連的輸入節(jié)點來表達的,每個節(jié)點只表示唯一的概念.基于學(xué)習(xí)的方法則將抽取規(guī)則的過程看作是一個學(xué)習(xí)過程,其目標概念就是網(wǎng)絡(luò)計算的輸出,其輸入就是網(wǎng)絡(luò)的輸入特征,此方法的目的在于抽取反映輸入輸出之間映射關(guān)系的規(guī)則.此方法的優(yōu)點在于抽取規(guī)則的可信度高,同時不考慮網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu),因而應(yīng)用范圍廣泛.我們采用的是基于學(xué)習(xí)的方法.
由以上所設(shè)計的框架,我們正在實現(xiàn)一個實驗系統(tǒng):農(nóng)業(yè)氣象災(zāi)害測評專家系統(tǒng).推理子系統(tǒng)中采用面向目標的控制策略,解釋子系統(tǒng)采用了基于蹤跡的方法,綜合數(shù)據(jù)庫與普通ES中的相關(guān)部分相同.知識庫中的知識采用產(chǎn)生式規(guī)則.知識獲取采用人工知識獲取規(guī)則和神經(jīng)網(wǎng)絡(luò)BP學(xué)習(xí)方法來獲得,并統(tǒng)一成產(chǎn)生式規(guī)則放入知識庫中.知識發(fā)現(xiàn)子系統(tǒng)采用了前面介紹的知識發(fā)現(xiàn)方法(KDK技術(shù))以及KDD算法.雖然整個系統(tǒng)有待聯(lián)調(diào),但知識庫中進行數(shù)據(jù)挖掘的算法已然可以進行實驗.我們實現(xiàn)了算法1、算法2,根據(jù)用戶給定的參數(shù),能挖掘出一些規(guī)則,同時可以改進知識庫中的原有規(guī)則.當然,在知識庫中運用幾種知識獲取方法之后,需要我們進一步解決的是知識一致性等問題.
2 結(jié) 論
本文首先討論了NN與ES結(jié)合的必要性與可能性,并指出了NNES的優(yōu)缺點;針對這些缺點,本文提出了基于KDK、KDD技術(shù)的NNES框架,它可以部分解決和緩解這些矛盾,本文著重討論了兩種模式:簡單型NNES下的數(shù)據(jù)挖掘及結(jié)合型NNES下的知識發(fā)現(xiàn).這一研究對智能系統(tǒng)的綜合集成有著重要的參考價值.基金項目:63高技術(shù)資助項目 參考文獻:
作者簡介:倪志偉(1963-),男,在職博士生,副教授.倪志偉(中國科技大學(xué)計算機系,安徽 合肥 230027 安徽大學(xué)計算機系,安徽 合肥 230039)
蔡慶生(中國科技大學(xué)計算機系,安徽 合肥 230027)
[2] 程慧霞,李龍澍,倪志偉.用C++建造專家系統(tǒng)[M].北京:電子工業(yè)出版社,1996.
[3] Jiawei Han. A system for Mining Knowledge in Large Relational Databases[A]. DBMiner Proc.1996 Int. Conf. on Data Mining and Knowledge Discovery (KDD′96)[C]. Portland: Oregon, 1996.
[4] Rakesh Agrawal. The Quest Data Mining System[M].USA: IBM Almaden Research Center,1996.
[5] Rumelhart D E, McClelland J L. Parallel Distributed Processing [M].Vol. 1,2,USA: MIT Press,1986.
[6] Gallant S I. Connectionist Expert System[J].Comm.ACM, 1998,31(2):220~225
[7] Fu L. Rule generation from neural networks[J]. IEEE Trans on Systems, Man, Cybernetics, 1994, 24(8): 1 114—1 124.
[8] Yoon B, Lacher R C. Extracting rules by destructive learning[A]. Proc IEEE ICNN’94[C], New York:IEEE Press, 1994,1 766—1 771.
[9] Huang S H,Endsley M R. Providing undestarding of behavior of feed forward neural network[J]. IEEE Trans on Systems, Man, Cybernetics. 1997,27(3):127-131.
[10] Maniezzo V. Genetic evolution of the topology and weight distribution of neural networks[J]. IEEE Trans on Neural Networks, 1994,5(1):39-53.
[11] Towell G, Shavlik J. Extracting Refined rules from knowledge-based neural networks[J]. Machine Learning, 1993,13:116~130