基于解释的学习和基于归纳的学习

        在基于归纳的学习中,学习器被赋予一个假设空间H,它从这个空间中选择一个输出假设。同时还有一些训练样例集合D = <(x1, f(x1), (x2, f(x2)), ...)> 其中f(xi)是在xi下目标值。学习器所希望的输出是一个假设h。

       在基于解释的学习(分析学习)中,学习器的输入是假设空间H,一些训练样例集合D,还有一个领域理论B。这是两者最大的区别。什么是领域理论B呢?它可由解释训练样例的背景知识组成。学习器输出的假设h既于训练样例一致,也与B一致。

      在基于归纳的学习中,同样提到了背景知识B,但是在那里,我们的目标是寻找一个假设h使得 h ^ B ^ xi => f(xi)。也就是说,由假设和B一起推出f(xi)。而在基于解释(EBL)的学习中,h不但要满足训练样例集合,而且要和B保持一致。

      直观上来讲,在基于归纳中,B是前件。在基于解释中,B是后件。


      为了更明白的说明什么是基于解释的学习?

     我们来学习一个物体能够放到另一个物体上面 safetostack(x, y) (x能否放到y上面)?

   已知:

       实例空间X:每个实例描述了一个对象,描述为谓词Type, Color, Volume, Owner, Material, Density和On

      假设空间H:一阶Horn字句。每个Horn字句为文字的合取,这些文字基于描述对象的谓词和谓词LessThan, Equal, GreaterThan和函数minus,plus,times。

     目标概念:safetostack(x, y)

    训练样例:

     ...................

    领域知识B:

     safetostack(x, y) <--- ~Fragile(y)

    safetostack(x,, y)<----Lighter(x, y)

    Lighter(x, y) <-- ..........
   求解:

     h,该h能够解释训练样例,同时和领域知识B保持一致。


         也许我们会很奇怪,既然领域知识我们已经知道了,为什么还要利用学习器来学习呢?可以推理出来呀。比如,对于safetostack(x,y ),根据领域知识,如果领域知识是完备的话,可以求解出所有safetostack(x, y)的情况。为什么还要学习?

        一种情况是虽然领域知识是完备的,但是求解出所有的h情况是非常困难的,相比之下,我们更希望通过训练获得一些比较有用的数据;

       令一种情况是领域知识是不完备的。因为很难给出完备的领域知识。更实际的方法是假定必须使用基于不完备领域理论的近似合理的解释,而不是基于完备知识做出确切证明。 什么意思呢?该意思是说,既然得不到完备的,就使用不完备的理论知识。用这些不完备的理论知识近似解释,就可以了。

吐舌头

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值