第六章 实例学习

  2. 对规则空间的要求
  对规则空间的要求有三方面。(1)规则表示方法应适应归纳推理。(2)规则的表示与例子的表示的一致性。(3)规则空间应包含要求的规则。前两个要求涉及到归纳过程的难易,第三个要求涉及到是否能归纳出要求的规则。
  (1)规则形式适应归纳推理
  上面介绍了四种归纳推理方法。从中可见,不同的归纳推理方法要求不同的规则表示方法。常量化为变量的方法要使用自由变量,增加选择的方法要使用析取联结词。总之,上述的前三种归纳方法要求用谓词逻辑方法表示规则,第四种归纳方法要求用状态矢量表示例子,并用代数方程表示规则。
  此外,如果规则空间描述语言的表达能力较弱,那么可以使用的归纳方法就比较少,规则空间的搜索范围就比较小,搜索就比较容易。但这种规则空间包含的规则较少,它能解决的问题就较少。学习系统的设计师应该在规则空间表达能力和规则空间搜索难度之间进行权衡。
  (2)规则与例子形式的统一
  如果示教例子和规则的表示形式相差很大,那么解释例子和选择例子的过程就很复杂。因此最好采用同样的形式表示规则和示教例子。例如要程序学习"对牌"的概念,对牌是两张点数相同的牌。希望系统学习表示对牌的规则,这是下列的规则5。
  
规则5 RANK(,x)∧RANK(,x)PAIR
  为了学习规则5,提供下列例9。
例题 例9:
  (2,clubs ),(3,diamonds),(2,hearts),(6,spades),(K ,hearts)PAIR

规则和例子表示形式的差异使归纳过程比较困难。把例9改用谓词形式表示为例10。
例题 例10:
   RANK(,2)∧SUIT(,clubs)
 ∧RANK (,3)∧SUIT (,diamonds)
 ∧RANK (,2)∧SUIT (,hearts)
 ∧RANK (,6)∧SUIT (,spades)
 ∧RANK (,K)∧SUIT (,hearts)
 PAIR

由例10归纳出规则5的过程比较简单的。首先去掉五个SUIT条件,然后去掉C2、C4和C5的RANK条件。最后把常量2改为变量x。由于例10和规则5采用同样的表示形式,所以可以由例10直接归纳,不必进行解释例子。
  (3)规则空间引入新术语。
  有些实例学习问题中,要求的规则不在规则空间中,即规则空间的描述语言不能表示要求的规则。这时就要引入新术语,也就是扩充规则空间的描述语言。例如上面用RANK和SUIT谓词表示了同花和对牌等概念。但它们不能表示"顺牌"的概念。顺牌是五张点数相连的牌。例如8,9,10,J,Q就是一个相连的点数。为此要引入新的谓词SUCC。定义谓词SUCC为:
   SUCC(2,3)∨SUCC(3,4)∨…
   ∨SUCC(10,J)∨SUCC(J ,Q)∨SUCC(Q ,K)∨SUCC(K,A)
用扩充的描述语言可以写出表示顺牌的规则如下。
  
规则6 RANK(R1)∧RANK(R2)
      ∧RANK (R3)∧(RANK(R4)
      ∧RANK(,R5)∧SUCC(R1R2)
      ∧SUCC(R2,R3)∧SUCC(R3,R4)
      ∧SUCC(R4,R5)CONT(,,,,)
BACON 程序(Langley,1980)和AM程序(Lenat,1976)都具有通过组合或改进现有术语来产生新术语的操作方法。