1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * FOIL算法 FOIL学习系统已经被广泛地应用在逻辑规约领域。FOIL是用来对无约束的一阶Horn子句进行学习。一个概念的定义是由一系列的子句组成,而其中每一个子句描述了一种证明一个样本是这个概念的实例的唯一方法。每个子句由一些文字的析取组成。 FOIL由一系列的外部定义的断言开始,其中之一被确定为当前学习的概念,而其他作为背景文字。FOIL从这些外部定义的断言中获取一系列包括文字的子句。 FOIL算法由一个空子句开始查找,其不断的向当前的子句中追加文字直到没有负样例被子句所覆盖。之后,FOIL重新开始一个子句的查找,直到所有的正样例均被已经生成的子句所覆盖。FOIL计算每一个外部定义断言的信息熵(Information Gain)和合法的变量(Legal Variabilization)用来决定哪一个文字添加到子句中。 * * 一阶Horn子句的主要术语 一阶Horn子句所涉及的主要术语有: 所有表达式由常量(如Mary、23或Joe)、变量(如x)、谓词(如在Female(Mary)中的Female和函数(如在age(Mary)中的age)组成; 项(Term)为任意常量、任意变量或任意应用到项集合上的函数。例如,Mary,x,age(Mary),age(x); 文字(Literal)是应用到项集合上的任意谓词或其否定。例如,Female(Mary),Greater_than(age(Mary),20); 基本文字(Ground Literal)是不包括任何变量的文字; 负文字(Negative Literal)是包括否定谓词的文字; 正文字(Positive Literal)是不包括否定谓词的文字; 子句(Clause)是多个文字的析取式,M1∨……∨Mn,其中所有变量是全程量化的; * * 一阶Horn子句的表达 Horn子句是一个如下形式的表达式: H?(L1∧……∧Ln)。 其中,H,L1,L2,…,Ln为正文字。H被称为Horn子句的头(Head)或推论(Consequent)。文字合取式L1∧L2∧...∧Ln被称为Horn子句的体(Body)或者先行词(Antecedents)。 置换(Substitution)是一个将某些变量替换为某些项的函数。例如,置换{x/3,y/z}把变量x替换为项3并且把变量y替换为项z。给定一个置换θ和一个文字L,我们使用Lθ代表应用置换θ到L得到的结果。 * * FOIL算法描述 算法 4-9 FOIL (Target_predicate,Predicates,Examples) 输入:Examples /*样本数据*/ Predicates /*断言集合*/ Target_predicate /*目标断言*/ 输出:规则 (1) Pos?Examples中Target_predicate为Ture的成员; (2) Neg?Examples中Target_predicate为False的成员; (3) Learen_rules?{}; (4) WHILE Pos不空DO BEGIN /*学习NewRule*/ (5) NewRules?没有前件的谓词Target_predicate规则; (6) NewRuleNeg?Neg; (7) WHILE NewRuleNeg不空 BEGIN /*增加新文字以特化NewRule*/ (8) Candidate_literals?对NewRule生成后选新文字,基于Predicates; (9) Best_literal?argmax Foil_Gain (L,NewRule); /*获取最佳文字*/ (10) 把Best_literal加入到NewRule的前件; (11) NewRuleNeg?NewRuleNeg中满足NewRule前件的子集 (12) END; (13) Learned_rules?Learned_rules+NewRule; (14) Pos?Pos-{被NewRule覆盖的Pos成员} (15) END; (16) 返回Learned_rules * * FOIL算法介绍 FOIL中的候选特征化式的生成: 为生成当前规则的候选特征式,FOIL生成多个不同的新文字,每个可被单独地加到规则前件中。更精确地讲,假定当前规则为: P(x1,x2,…,xk)? L1…L 其中,L1,…,Ln为当前规则前件中的文字,而P(x1,x2,…,xk)为规则头(或后件)

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档