互联网

范例推理

范例推理

范例推理介绍
范例推理CBR是由目标范例的提示而得到历史记忆中的源范例,并由源范例来指导目标范例求解的一种策略。它是一种重要的机器学习方法。CBR是区别于基于规则推理的一种推理和学习模式,它是指借用旧的事例或经验来解决问题、评价解决方案、解释异常情况或理解新情况。

正文

一、原理和特征?

类比是人们经常运用的解决问题的方法,有人甚至认为类比是人类问题解决过程中最主要的心理机制。人们在问题解决的过程中,常常依赖以前解决相似问题的经验,来得到新问题的解决办法。有时已有的问题解决方法可直接运用来获得新问题的解,但更多的情形是经验中并没有解决新问题的现成答案,而是需要根据问题的求解目标修改过去解决类似问题时曾用过的方法以适应目前问题的要求,或综合曾经成功运用过的多种方法来获取最终的解决方案。基于范例推理(Case Based Reasoning,CBR)正是以人类解决问题的这种实际心理历程为基础的一种人工智能范式。?

基于范例推理既是人类推理的一种重要形式,也是人工智能研究中的一种范式。它不同于通过链式推理产生问题结论的基于规则的推理,是一种基于过去实际经验或经历的推理。?

基于范例推理,其工作原理是从众多的已知范例中挑选出一个或多个和当前新问题最相似的范例,对它(们)的解决方案进行修改,从而得到新问题的解决方案。CBR系统的核心包括四个部分:(1)范例库(case base):存储先前的经验;(2)检索机(indexing mechanism):用一种有意义的方法排列范例;(3)匹配算法(matching algorithm):比较新范例与旧范例的相似度;(4)调整机制(adaptation or inference mechanism):推演得出最后的解法。?

CBR系统的运作过程可概括为“4Rs”,即(1)提取(Retrieve);(2)重用(Reuse);(3)修改(revise)和(4)存储(Retain)。基于范例推理的步骤如下:(1)提出新问题作为目标范例,定义新问题的特征或属性;(2)检索范例库,根据问题的要求,在范例库中找出与目标范例最为相似的范例(源范例),其关键是找出对新问题的解决有最大潜在启发价值的旧范例;(3)根据修正规则来修改检索到的旧范例,为新范例进行计算求解,为成功解决问题提供参考;(4)将有利用价值的新范例存储到范例库中,并对CBR系统的作相应的调整,以完成CBR的学习功能。CBR既是模拟人类推理和思考过程的方法论,也是建造智能计算系统的人工智能技术。?

CBR系统是利用范例库中存储的先前解决类似问题的办法进行推理,范例库可以从某个知识丰富的数据库中抽取,也通过各种知识获取(knowledge acquisition)方法来得到。CBR系统从过去的经验出发进行推理,能够通过引用范例解释其推理,如果范例库中没有现成的精确的解法,CBR系统会作出调整给出一个近似的解法,系统用检索或匹配机制来判定范例间的相似性,几乎不需要抽取专家知识。因此,CBR具有符合人类解决问题的心理适宜性。?

CBR有两种基本类型:解释型CBR和问题求解型CBR。解释型CBR是应用旧范例构建一种分析和证明,以对新范例作出某种解释;问题求解型CBR则是通过调整旧范例的解答以满足新问题的要求。前者多应用于咨询系统中,后者在计划、设计工程中更为常用。?

基于范例推理和其它人工智能范式相比有许多优势。首先是获取知识相对容易。开发基于规则推理的系统时,需要领域专家和知识工程师密切合作获取规则或模型,而在许多复杂领域中,很难从对专家解决问题的的研究中获得能用语言符号明确表述的该知识领域中的规则和原理,导致知识获取的瓶颈问题。在CBR中,不需要对经验分解或抽象以形成规则,知识表征的单位是范例,而范例在许多领域容易收集,获取代价较低。其次是知识维护容易。随着系统的运行,知识系统常需要更新,在基于规则的推理系统中增加新规则可能会和原有的规则产生冲突,甚至导致非常大的系统变动;基于范例推理则不存在这样的问题,它可以不需要专家的干预而把缺少的范例添加到范例库中。三是解决问题范围的扩大。其它人工智能范式多为演绎推理模式,所有关于问题的答案都预先包含知识库中,不具有创新求解能力。CBR主要基于类比推理,通过适应性修改可以形成与旧范例的解决方案不同的创新解答。最后是用户接受度高。基于范例推理的根据是历史事实,事实胜于雄辩,因此对用户更有说服力。?

二、研究问题?1、范例库的建立?

范例库是CBR中的重要组成部分,它是CBR 中主要的知识库。范例库的大小及其组织结构直接影响CBR系统应用的效率和效果。如何表示范例,如何组织范例,如何建立范例库的索引,是建立范例库的主要问题。实际上,这是三个相互联系着的问题。?

(1)范例表示?

CBR系统所依赖的知识主要存储在范例中,范例的集合构成范例库。一个范例可以是一个病人的病历,也可以是一个菜谱、一个法律的范例,可以是一座简单房子的平面图,也可以是一座音乐厅的最详细的全部设计图。?

在CBR范例库的建造中,一个合理的、一致的范例表示方法是必不可少的。范例应该包含什么?一般认为,范例可以定义为能够导致特定结果的一组特征或属性的集合。从问题求解的角度来看,一个范例的内容主要由三部分组成:一是问题或情境描述(situation);二是解决方案描述(solution);三是结果描述(outcome),即可以表示为三元组:C=<问题或情境描述,解决方案描述,结果描述>。怎样用一种合适的方式把范例的三个部分表示出来,是CBR系统首先要解决的问题。在CBR系统中没有通用的范例表示方法,往往需要在分析具体问题领域的基础上通过选择、综合或修改现有的各种知识表示方法来实现。最简单的方法是对范例进行属性抽取,然后对各个属性赋值。有人采用框架方法表示范例。?

另外,一个范例既可以作为整体来存储,也可以把范例分解为部分分别存储在不同的模块中单独使用。前者适合于结构性差的范例,存取简单但应用时不够灵活;后者适合于结构性强的范例,应用和维护时较灵活。 ?

(2)范例的组织与索引?

索引是通过以重要属性组合范例来对范例分类和存储,其目标是在对已有范例进行索引后,当给定一个新范例时,如果范例库中有与该范例相关的范例,则可根据索引快速找到那些符合需要的相关范例。一个范例的索引就是这个范例的重要属性的集合,这些属性可以将这个范例同其他范例区分开来。索引问题的主要任务包括:选择什么类型的索引,如何定义索引词汇表,如何构建索引的搜索空间等。?

良好的范例索引能使范例提取快速而准确。良好范例索引的建立是建立在对问题领域和问题目标充分理解的基础之上的。Kolodner认为,索引问题就是在适宜的时候提取可应用范例的问题,也就是给每个范例贴标签以表明在什么条件下该范例能用来作出有用的推理。他曾给出良好索引的四个品质:一是预测性,能够明确范例的问题解决目标;二是抽象性,具有一定的抽象度,以便能够适应问题情境的变化;三是具体性,索引应是无需作进一步解释就可在将来问题情境中加以再认;四是有用性,索引应能以一种有用的方式把范例区分开来,能够对面临的决策提供指导。?

在范例库中,范例间的组织方法主要有三种:线性组织、层状组织网状组织。具体采用哪种组织,要看范例间的关系如何。在实际应用中,有时把几种组织方法组合起来使用。?

陈敏结合存储组织包结构和语义模型描述了一种通用的范例表示结构;王亚英等人探讨了在CBR中范例的粗集表达法和索引法;赵鹏等人利用数据挖掘技术从传统数据库中构造范例库。?

2、范例检索或提取?

范例的检索或提取是从范例库中找到一个或多个与当前问题最相似的范例。范例库中的每一个范例都包括以前问题的一般描述即情景与解法。当接受了一个求解新问题的要求后,CBR利用相似度知识和特征索引从范例库中找出一组与当前问题相关的符合要求的范例,并从中选择一个最佳范例。因为检索得到的范例的数量和质量直接影响问题的解决效果,所以范例检索在CBR系统中是非常关键的环节。?

范例检索通过三个子过程实现的。一是特征辩识,就是对新问题进行分析,提取有关特征;二是初步匹配,指从范例库中找到一组与当前问题相关的候选范例;三是最佳选定,就是从初步匹配过程中获得的一组范例中选取一个或几个与当前问题最相关的范例。?

检索过程的核心之一是检索算法。算法与数据结构密切相连,不同的范例库组织结构要有相应的不同算法来检索。因此,CBR中已经形成了一系列范例组织和检索的策略和算法,但并没有通用的检索算法。最常用的检索算法三种,一是最近邻法,该方法采用属性间的加权匹配来估计范例间的相似度,其关键是如何确定属性的权重;二是归纳法,采用归纳法可以确定哪个特征在区分范例时最好,用这种方法能生成一颗决策树,可以有效地组织范例;三是模板检索,该方法能返回在一定参数值范围内的所有范例。国内有人对范例提取进行了探索。

CBR成功应用的关键是通过检索得到相似范例。因为范例检索是在相似比较的基础上进行的,因此,如何定义相似度对检索结果至关重要。范例表示是由许多属性组成的,范例间的相似度就是根据属性之间的相似度定义的。相似性关系可分为表面相似性和结构相似性,前者定义为对确定问题的解不扮演因果角色的那些共性,后者指影响问题目标的那些共性。?

相似性的计算可分为两步,属性间相似性的计算和范例间相似性的计算。属性间相似性计算根据数值类型的不同分为数值性属性的相似度、枚举型属性的相似度和顺序性属性的相似度。计算范例间相似度就是考虑把一个范例的各个属性相似度综合在一起形成的效应。?

范例间相似度通常是通过距离来定义的,常用的典型距离有绝对值距离,欧氏距离和麦考斯基距离等。国内的工作者也对范例相似度的评估和计算方法进行了研究。?

3、范例调整或修改?

把检索到的旧范例的解答复用到新问题时,首先要对复用结果进行评估,如果成功,就不需要调整或修改,否则需要对解决方案进行调整或修改。进行结果评估既可依据在实际应用后的反馈,也可通过向专家咨询完成。?

检索到的旧范例一般不可能和新问题完全匹配,因此CBR系统一般都必须调整过去的问题解答以得到适合新问题的较好的解答。范例调整方法主要有四类,第一种是替换法,把旧解中的相关值作相应替换而形成新解。如重新例化(reinstantiaton),将旧解决方案重新实例化为新对象;参数调整(parameter adjustment),通过不同的输入参数会导致不同的输出结果的启发式方法,对旧解答的数值参数进行调整;局部搜索(local seach),通过搜索辅助的知识结构来替换那些不适合新情况的值或结构的方法;查询(query),用带条件的查询在范例库或辅助知识结构中获得替换的内容;特定搜索(specialized seach),同时在范例库和辅助知识结构中进行查询,但在范例库中查询时使用辅助知识来启发式指导如何搜索;基于范例的替换(case based substitution),使用其他范例来建议一个替换。第二种是转换法,包括常识转换法(common-sense transformation)和模型制导修补法(model-guided repair),前者使用明白易懂的常识性启发式从旧解中替换、删除或填加某些组成成分。后者是通过因果模型来指导如何转换;第三种是特定目标驱动法(special purpose adaptation or repair),该方法是基于规则的产生式系统给出领域特定的适应性修改。第四种是派生重演(derivation replay),使用过去推导出旧解的方法来推导出新解,它关心是解是如何求出来的。?

目前,虽然多数CBR系统的范例修改是通过人机交互过程来完成的,但对自动的范例修改方法的探索已有一些成果,如有人提出通过使用一个基于范例的适应性修改部件来获得和复用成功的适应性修改过程,这是一种在CBR方法自身过程中应用CBR方法的思想。?

4、范例学习与记忆

新问题一旦得到解决,其解决过程或方案可能会用于与之相似的未来问题。因此,有必要把它加入到范例库中,这就是CBR的学习和记忆,也就是知识获取。范例学习主要涉及到两个问题,一是选择哪些信息予以保留;二是如何建立有效的索引,以便日后能对它作出有效的回忆。?

CBR的学习途径可分为成功驱动的学习与失败驱动的学习。当问题得到解决时,CBR系统学习到了成功的经验,新的成功范例添加到范例库中,系统增加了对问题领域的覆盖范围,这是成功驱动的学习。失败驱动的学习可以帮助CBR系统注意到哪些问题是重要的,是否忽略了某些要点,如何避免和减少将来的失败等。?

CBR系统通过以下几种方法完成学习:一是新范例的积累,保存成功和失败的范例,这是对CBR所依赖的知识的学习;二是建立、修改和撤消指向范例的索引路径,完善索引机制,这是对如何检索CBR系统中范例的元知识的学习。三是归纳学习,具有某种共同特征或同属于某个分类的范例的集合可以描述一个概念,在向这样的范例库中添加新范例是,可以理解为CBR系统在学习这一概念,从某种意义上说,保存一个典型的范例可以被认为是归纳学习的一种形式。?

CBR不仅代表了一种推理方法,而且了代表了一个机器学习方法。

相关资讯
内容声明

1、本网站为开放性注册平台,以上所有展示信息均由会员自行提供,内容的真实性、准确性和合法性均由发布会员负责,本网站对此不承担任何法律责任。

2、网站信息如涉嫌违反相关法律规定或侵权,请发邮件至599385753@qq.com删除。

Copyright © 趣爱秀