• FOIL介绍


    Foil(First Order Inductive Learner), [Quinlan,1990]paper: Learning Logical Definitions from Relations.

    Foil是著名的一阶规则学习算法,它遵循序贯覆盖框架采用自顶向下的规则归纳策略。

    ———序贯覆盖:规则学习的目标是产生一个能覆盖尽可能多的样例的规则集。最直接的做法是序贯覆盖(sequential covering),即逐条归纳:在训练集上每学到一条规则,就将该规则覆盖的训练样例去除,然后以剩下的训练样例组成训练集重复上述过程。由于每次只处理一部分数据,因此也称为分治(separate-and-conquer)策略。
    
    ———自顶向下(top-down):即从比较一般的规则开始,逐渐增加新文字以缩小规则覆盖范围,直到满足预定条件为止,也称为生成-测试(generate-then-test)法,是规则逐渐特化(specialization)的过程,是从一般到特殊的过程;
    (一般的规则是:例如不含任何属性的空规则,它覆盖所有的样例,就是一条比较一般的规则)
    

      

    Foil在规则生成时需考虑不同的变量组合。例如:

    西瓜数据集5.0(详见 西瓜数据集)对"更好(X, Y)"这个概念,最初的空规则是(自顶向下,从一般规则开始,所以这里从空规则开始):

                   更好(X,Y)<— .
    

    接下来数据中其他谓词以及各种变量搭配作为候选文字。新加入的文字应包含至少一个已出现的变量,否则没有任何意义。在这个例子中考虑下列候选文字:

    Foil使用“FOIL增益”(Foil gain)来选择文字: 

    例如给初始的空规则体加入“色泽更深(X, Y)”或“脐部更凹(X, Y)”,新规则就能覆盖16个正例和2个反例,所对应的FOIL增益位候选最大值。则得到:

               更好(X,Y)<— 色泽更深(X, Y).
    

    该规则扔覆盖2个反例:“更好(15, 1)”与“更好(15, 6)”。于是,FOIL继续增加规则体长度,最终生成合适的单条规则加入规则集。然后进行剪枝优化。

  • 相关阅读:
    tensorflow学习笔记五----------逻辑回归
    tensorflow学习笔记四----------构造线性回归模型
    tensorflow学习笔记三----------基本操作
    tensorflow学习笔记二----------变量
    tensorflow学习笔记一----------tensorflow安装
    大屏某区域滚动效果循环
    echarts轨迹图,各个城市线路图轨迹如何取值
    react组件,样式添加的方法
    微信小程序中hidden属性不生效
    react组件渲染编程html不成功
  • 原文地址:https://www.cnblogs.com/hozhangel/p/7880674.html
Copyright © 2020-2023  润新知