西瓜书15 规则学习

15.1 基本概念

机器学习中的规则通常是指语义明确,能描述数据分布所隐含的客观规律或领域概念,可写成“若…则…”形式的逻辑规则,“规则学习”是从训练数据中学习出一组能用于对未见示例进行判别的规则。
形式化地看,一条规则形如:
在这里插入图片描述
其中逻辑符号“←”右边部分称为“规则体”,表示该条规律的==“前提”==,左边部分称为“规则头”,表示该条规则的结果,规则体是由逻辑文字fk组成的合取式,其中合取符号“^”用来表示“并且”。每个文字fk都是对示例属性进行检验的布尔表达式,例如“色泽=乌黑”(对是1错是0)。L是规则体中逻辑文字的个数,称为规则的长度,规则头同样是逻辑文字,一般用来表示规则所判定的目标类别或概念,例如“好瓜”,这样的逻辑规则也被称为“if then 规则”。(if 色泽=乌黑 then 好瓜)。
规则学习相比于SVM,神经网络更具有可解释性,能使用户更直观的对判别过程有所了解,另一方面,数理逻辑具有极强的表达能力绝大多数人类知识都能通过数理逻辑进行简洁的刻画和表达。例如“父亲的父亲是爷爷”,这样的知识不易用函数式描述,而用一阶逻辑则可方便地写为“爷爷(X,Y)”←父亲(X,Z)^父亲(Z,Y)[Y的父亲是Z,且Z的父亲是X,那么Y的爷爷是X]。
因此,规则学习能更自然地在学习过程中引入领域知识,此外,逻辑规则的抽象描述能力在处理一些高度复杂的AI任务时具有显著的优势,例如在问答系统中有时可能遇到非常多,甚至无穷种可能的答案,此时若能基于逻辑规则进行抽象表述或者推理,则将带来极大的便利。此时若能基于逻辑规则进行抽象表述或者推理,则将带来极大的便利。

假定我们从西瓜数据集学得规律集合R:
在这里插入图片描述
在这里插入图片描述
规则一的长度为2,它通过判断两个逻辑文字的赋值来对示例进行判别。符合该规则的样本称为被该规则“覆盖”,需注意的是,被规则1覆盖的样本是好瓜,但没被规则1覆盖的未必不是好瓜(好瓜可能有其他的规则),只有被规则2这样以-好瓜为头的规则覆盖的才不是好瓜。(纹理模糊的必不是好瓜)。
显然,规则集合中的每条规则都可看作一个子模型,规则集合是这些子模型的一个集成。当同一个示例被==判别结果不同的多条规则覆盖时,称发生了“冲突”,解决冲突的办法称为“冲突消解”。常用的冲突消解策略有投票法,排序法,元规则法等。
投票法是将判别相同的规则数最多的结果作为最终结果。排序法是在规则集合上定义一个顺序,在发生冲突时使用排序最前的规则;相应的规则学习过程称为“带序规则”学习或“优先级规则”学习。元规则法是根据领域知识事先设定一些“元规则”,即关于规则的规则,例如,“发生冲突时使用长度最小的规则”(启发式),然后根据元规则的指导来使用规则集合。

此外,从训练集学得的规则集合也许不能覆盖所有可能的未见示例,例如,前述规则集合R无法对“根蒂=蜷缩”、“脐部=稍凹”且“纹理=清晰”的示例进行判别;
这种情况在属性数目很多时时常出现,因此,规则学习算法通常会设置一条**“默认规则”**,由它来处理规则集合未覆盖的样本;例如为R增加一条默认规则:“未被规则1,2覆盖的都不是好瓜”。
从形式语言表达能力而言,规则可分为两类:“命题规则”和“一阶规则”。
前者是由“原子命题”和逻辑连接词“与^”“或v”“非–”和蕴含←构成的简单陈述句;例如规则集合R就是一个命题规则集,“根蒂=蜷缩”,“脐部=凹陷”都是原子命题,后者的基本成分是能描述事物的属性或关系的“原子公式”,例如…后面不想写了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值