基于知识发现技术的神经网络专家系统
倪志伟 蔡庆生
摘要 为了克服传统专家系统的3大缺陷,在讨论专家系统新技术的基础上,探讨如何在专家系统中融入知识发现的技术,提出一个新的系统框架,在其中使用的一些知识发现算法包括历史数据库中的数据挖掘及知识库中的知识发现.对此新的专家系统框架给予了实验, 结果是:系统运行后,既可以发现新知识,又可以改进原有规则.这样大大提高了系统知识获取的能力,而且也求精了知识库. 关键词 神经网络专家系统;历史数据库;知识库; 知识发现 中图分类号 TP 414 文献标识码:A 文章编号:0438-0479(2000)03-0288-05
40多年来,虽然专家系统(Expert System, 即ES)的理论和应用取得了重大进展,但由于其立足的符号信息处理机制的固有缺陷而导致传统ES存在许多问题,主要有[1,2]:知识获取的瓶颈问题、知识脆弱性、推理单调性.多年来许多研究人员为此进行了深入的研究,提出了许多新的理论与方法,主要集中在以下4个方面: 1)知识表示:采用非单调逻辑、面向对象方法、面向对象框架结构、原型表示法、多方法混合表示、粗糙集、模糊粗糙集、模糊数学与传统知识表示法的结合等表示法,还有一新课题就是对知识表示的形式化语义的研究; 2)知识获取:半自动知识获取、知识获取工具、机器学习、机器感知、机器识别、机器发现等; 3)推理机制:非单调推理、基于案例的推理(CBR)、常识推理、定性推理、约束推理、不确定性推理等,其中不确定性推理包括Bayes方法、可信度理论、经典概率方法、可能性理论、证据理论、信念网络、模糊理论等; 4)ES体系结构:深表层知识结构、黑板结构、分布式结构、推理-数据管理双层结构、模糊专家系统、基于遗传算法及模糊逻辑的专家系统、多Agent协作专家系统、多Agent 多黑板结构、CBR与ES的结合、多专家合作的综合型体系结构等;另外还有一种新的体系结构:联接机制与ES的相互结合. 以非线性并行分布处理为主流的神经网络(Neural Network, 即NN)理论的发展,为人工智能和ES的研究开辟了崭新的途径.人们可以利用NN系统的学习功能、联想记忆功能、分布式并行信息处理功能解决ES中的知识表示、获取和并行推理等问题.当然NN也有明显的缺点.例如,NN的推理过程是一个黑盒子,人们只能看到输入和输出,中间推理步骤是无法解释的.另外,ES具有独立的知识库,知识维护十分方便;而NN的知识是以固定连结结构存储的,不易修改和补充.这些说明NN也需要与传统的符号处理相结合,从而形成神经网络专家系统(NNES).NNES的优点是:具有学习功能、大规模并行分布式处理、全局集体作用以实现知识获取自动化、可以实现并行联想和自适应推理,系统具有实时处理能力和较好的鲁棒性、良好的启发性、透明性和灵活性.和传统的ES相比,在分类、诊断以及基基于分类的智能控 和优化求解等方面,NNES可以取得更优越的性能;另外,在遇到多个人类专家之间有不同意见的时候(甚至有矛盾的时候),传统ES往往很难处理,但采用NNES来处理,困难就可以获得比较满意的解决. NNES虽然具有许多优点和长处,也存在一些固有的弱点:首先,NNES在目前还只适合于解决一些规模较小的问题;其次,NNES的性能在很大程度上受到所疡的训练数据集的限制;第三,常识问题是目前限制智能系统功能的主要方面之一,常识知识的获取是知识获取的难点;最后,虽然NN具有快速获取知识的优点,但是,在NNES中知识的表示、处理显得烦杂且混乱,有时是低效的.智能系统的发展趋势告诉我们:应该多信道获取信息.通过多信道获得信息或知识,将这些信息融合在一个大型人工智能系统中,使它们的信息得以综合发挥作用,从而提高系统的求解能力.目前的NNES不可能具有很高的智能水平,但是针对以上的几个方面和问题,在NNES中引入知识发现的概念之后可以缓解一些矛盾或部分地解决一些问题.知识发现的研究始于从数据库中发现有用的模式这一概念,即KDD(Knowledge Discovery in Database).KDD是指识别出存在于数据库中有效的、新颖的、具有潜在效用的乃至最终可理解的模式的非平凡的过程.数据挖掘是KDD过程的主要阶段,数据挖掘的对象通常是大型数据库或者数据仓库,从广义的角度上讲,发掘对象也可以是文件系统,或者是其它数据集合,例如图形图象,WWW信息源,知识库等.近几年来,国内外的知识发现的研究有许多成果,并已开始将理论研究的成果转化为软件产品,如DBMiner[3],Quest[4] ,但在目前国内外尚无NNES中引入知识发现方面的成果.
1 NNES中的数据挖掘技术
本节介绍两种神经网络专家系统的构造形式,并给出各自系统中知识库上的知识发现技术(Knowledge Discovery in Knowledge Base,即KDK). 第一种是神经网络本身作为一个专家系统,我们称之为简单型NNES.一般采用多层神经元构成的网络.那些没有信号输入、只有信号输出的神经元被看作是输入数据单元,那些有信号输入、没有信号输出的神经元看作为结论性单元;专家系统运行时,根据当时各种证据存在与否决定有关的输入单元是否被激活,那些被激活的单元向前发送信号,信号在网络中一层层向前传递.最后以那些结论性单元被激活来决定专家系统的运行结果.可以作为专家系统的神经网络模型有BP、IAC等模型.比起传统的ES,这种类型的NNES的主要优点是不必有成熟的、确定的专家经验,主要缺点是知识库维护麻烦、训练时间过长. 我们提出一个在这种专家系统中的规则挖掘算法(算法1),神经网络模型采用IAC模型[5]. 算法1 1)给处理单元(用名称B表示)以正输入刺激; 2)运行IAC模型,搜索出被激活的单元,以名称A表示,得到规则AB; 3)由单元激活值,计算出AB的可信度; 4)根据给定的最小可信度,判断出规则AB的有效性,如有效则输出该规则. 其中知识库用IAC网络表示.在网络中,将处理单元分成许多竞争集团.在同一集团内,处理单元之间存在着抑制性联系,两集团之间存在着兴奋性联系.即在同一集团中,处理单元之间具有一种相互竞争、相互抑制的机制,本集团中得到最强激活值的那些单元驱使其它单元的激活值的降低,而在两集团间,处理单元之间的兴奋性联系是双向方式的,即互相激励.IAC网络及模型有许多特征适合于知识发现的应用,如联想记忆及恢复能力、强泛化能力等. 第二种是神经网络与传统ES的相互结合,我们称之为结合型NNES.其结合方式一般采用主辅方式[6],目前真正相互融合的系统难以建立.由此,我们设想一个基于神经网络和数据挖掘的专家系统,即:在NNES中允许符号机制与联接机制并存,辅以数据库技术和知识发现技术,统一在一个系统之中,充分发挥各自的优点.其主要思想是在历史数据库与知识库之间增加一个数据挖掘模块.下面介绍相关的3个部分: 1)知识库:它存放由人工知识获取方法得到的知识、从NN中因学习而输出并提取的知识、由知识发现子系统所得到的知识(包括从历史数据库和知识库中挖掘出的知识).知识表示采用产生式规则形式. 2) 数据库:综合数据库用来存放系统运行过程中所需要和产生的信息,包括问题的描述、中间结果、解决过程的记录等信息;历史数据库中包含以时间为序的数据集,在其上可以进行KDD操作. 3) 知识发现子系统:一般地,知识发现是基于数据库下的知识挖掘,它通常在决策支持系统、数据仓库系统、数据库管理系统中采用.在结合型NNES中的数据挖掘包括两部分:一是在历史数据库中进行的数据挖掘,二是在ES的知识库中应用数据挖掘算法来发现新的知识并存入知识库中. 在结合型NNES中,我们所设计的KDK技术是基于诸多计算智能方法,从而达到在知识库中发现知识.以下是我们提出的知识发现算法. 算法2 1) 从知识库中的规则到神经网络的转换算法:从知识库中的符号规则构造初始的神经网络,包含的步骤有:规则重写,使每个析取式都表示为一组仅有一个前提的规则;再用上述规则与网络的映射关系,将包含逻辑关系(AND、OR、NOT)的规则转化到一个与规则集元素相对应的神经网络;在网络中需要的地方增加新节点使得网络保持完整的层次;最后通过增加权值为零的连接,得到上下层中的结点均存在连接的全互联多层神经网络.在实际使用中,常常需要对网络的规模进行压缩. 2) 用BP学习算法来训练初始的NN,使网络中的规则得到修正,与训练实例相容. 3) 用遗传算法对NN剪枝,去掉多余的连接或多余的节点.先对节点按顺序编码,输入节点在前,隐节点居中,输出节点在后;再对节点之间的连接按顺序编码.从而每个NN对应两个编码串,且采用二进制编码.如果该节点或连接在网络中存在,则对应的编码为1,反之为0.若节点不存在,则与其相连的所有连接的代码均为0.优化的目标是在保证正确性的前提下,去掉尽可能多的节点和它们之间的连接.剪枝完成之后,再对优化后的NN用BP算法来进行训练,完成这一步后,此时的SNN就可以用作一个很精确的分类器. 4)从训练好的NN中抽取出被发现的知识,即符号规则的抽取[7 ~11].这是较为关键的一步,即如何理解NN所学到的知识.目前有两种主要的规则抽取方法:基于搜索的方法和基于学习的方法.前者主要集中于对NN单个节点所表示的概念的解释,从每个节点中抽取的规则是由与此节点相连的输入节点来表达的,每个节点只表示唯一的概念.基于学习的方法则将抽取规则的过程看作是一个学习过程,其目标概念就是网络计算的输出,其输入就是网络的输入特征,此方法的目的在于抽取反映输入输出之间映射关系的规则.此方法的优点在于抽取规则的可信度高,同时不考虑网络内部结构,因而应用范围广泛.我们采用的是基于学习的方法. 由以上所设计的框架,我们正在实现一个实验系统:农业气象灾害测评专家系统.推理子系统中采用面向目标的控制策略,解释子系统采用了基于踪迹的方法,综合数据库与普通ES中的相关部分相同.知识库中的知识采用产生式规则.知识获取采用人工知识获取规则和神经网络BP学习方法来获得,并统一成产生式规则放入知识库中.知识发现子系统采用了前面介绍的知识发现方法(KDK技术)以及KDD算法.虽然整个系统有待联调,但知识库中进行数据挖掘的算法已然可以进行实验.我们实现了算法1、算法2,根据用户给定的参数,能挖掘出一些规则,同时可以改进知识库中的原有规则.当然,在知识库中运用几种知识获取方法之后,需要我们进一步解决的是知识一致性等问题.
2 结 论
本文首先讨论了NN与ES结合的必要性与可能性,并指出了NNES的优缺点;针对这些缺点,本文提出了基于KDK、KDD技术的NNES框架,它可以部分解决和缓解这些矛盾,本文着重讨论了两种模式:简单型NNES下的数据挖掘及结合型NNES下的知识发现.这一研究对智能系统的综合集成有着重要的参考价值.
基金项目:63高技术资助项目 作者简介:倪志伟(1963-),男,在职博士生,副教授.
倪志伟(中国科技大学计算机系,安徽 合肥 230027 安徽大学计算机系,安徽 合肥 230039) 蔡庆生(中国科技大学计算机系,安徽 合肥 230027)
参考文献: [1] 戴汝为.智能系统的综合集成[M].杭州:浙江科学技术出版社,1995. [2] 程慧霞,李龙澍,倪志伟.用C++建造专家系统[M].北京:电子工业出版社,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
|