第六章 实例学习

  
6.6.2 基于解释学习的几种方法
  1.解释与概括交替进行的EBG方法
1987年斯坦福大学Haym和Hirsh提出了新的基于解释概括(EBC)的方法,这是解释与概括交替进行的方法。
  (1) 问题的逻辑描述
  系统提供了正向、反向、归纳等多种推理方式。逻辑的表示方法使EBG的语义更为清楚,为学习提供了方便的语言环境。例如要学习目标概念Safe-to-stack(V1,V2),其领域知识就可表示如下。
  事实知识:
  On(obj1,obj2)
  Isa(obj2,Endtable)
  Color(obj1,red)
  Color(obj2,blue)
  Volume(obj1,1)
  Density(obj1,0.1)
  领域规则:
  Not(Fragile(y))→Safe-to-stack(x,y)
  Lighter(x,y)→Safe-to-stack(x,y)
  Volume(p1,v1)∧Density(p1,d1)∧X(v1,d1,w1)→Weight(p1,w1)
  Isa(p1,Endtable)→Weight(p1,5)
  Weight(p1,w1)∧Weight(p2,w2)∧<(w1,w2)→Lighter(p1,p2)
  (2)产生解释结构
  为证明该例子满足目标概念,系统从目标开始反向推理,根据知识库中已有的上述事实和规则,分解目标,每当使用一条规则时,同时返回去把该规则应用到变量化的目标概念上。这样,在生成该例子求解的解释结构的同时,也生成了变量化的概括的解释结构。
  这个例子的解释结构是图6.21。


图示

图 6.21

  概括化的解释结构是图6.22。


图示

图 6.22

  (3)生成控制规则
  将概括化的解释结构的所有叶结点的合取作为前件,以顶点的目标概念为后件,略去解释结构的中间部件,就生成概括化的产生式规则:
  Volume(V2,V48)∧Density(V2,V49)∧X(V48,V49,V42)∧Isa(V3,Endtable)∧<(V42,5)→Safe-to-stack(V2,V3)
  使用生成的这个控制规则求解类似问题时,求解速度快且效率高。但是简单地把常量转为变量以实现概括化的方法可能过份一般化。在某些特例下可能使规则失败。