机器学习基础(十):规则学习(序贯覆盖、剪枝优化、命题学习、一阶规则学习、归纳逻辑程序设计ILP、最小一般泛化LGG、归结/逆归结)
2021/10/1 17:12:20
本文主要是介绍机器学习基础(十):规则学习(序贯覆盖、剪枝优化、命题学习、一阶规则学习、归纳逻辑程序设计ILP、最小一般泛化LGG、归结/逆归结),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
10、规则学习 rule learning
从训练数据中学习出一组能用于对未见示例进行判别的规则
优势:①与神经网络、支持向量机这样的黑箱模型相比,规则学习具有更好的可解释性,使用户更直观地对判别过程有所了解
②数理逻辑有极强的表达能力,绝大多数人类知识都能通过数理逻辑进行简洁的刻画和表达,因此规则学习能更自然地在学习过程中引入领域知识
③逻辑规则的抽象描述能力在处理一些高度复杂的AI任务时具有显著的优势
规则集合:规则集合中的每条规则都可看做一个子模型,规则集合是这些子模型的一个集成
冲突:同一个示例被判别结果不同的多条规则覆盖
→冲突消解conflict resolution:投票法、排序法(相应的规则学习称为带序规则学习/优先级规则学习)、元规则法(根据领域知识事先设定一些元规则,即关于规则的规则,如“发生冲突时使用长度最小的规则”)等
从训练集学得的规则集合可能不能覆盖所有可能的未见示例
→通常设置一条默认规则default rule,处理规则集合未覆盖的样本
规则分类:
①命题规则propositional rule:由原子命题propositional atom和逻辑连接词“与∧、或∨、非¬、蕴含←”构成的简单陈述句
②一阶规则first-order rule(关系型规则):基本成分是能描述事物的属性或关系的原子公式atomic formula(如表达父子关系的谓词“父亲(X,Y)”、加一操作“δ(X)=X+1”的函数δ(X))
→命题规则是一阶规则的特例
10.1序贯覆盖(规则学习最直接的做法)
即逐条归纳:在训练集上每学到一条规则,就将该规则覆盖的训练样例去除,然后以剩下的训练样例组成训练集重复上述过程(由于每次只处理一部分数据,也称“分治策略”)
——最简单的做法是从空规则 "⊕←"开始,将正例类别作为规则头,再逐个遍历训练集中的每个属性及取值,尝试将其作为逻辑文字增加到规则体中,若能使当前规则体仅覆盖正例,则由此产生一条规则,然后去除己被覆盖的正例并基于剩余样本尝试生成下一条规则
两种产生规则的策略:
①自顶而下top-down(生成-测试法):从比较一般的规则开始,逐渐添加新文字以缩小规则覆盖范围,直到满足预定条件为止,是规则逐渐“特化”的过程,更容易产生泛化性能较好的规则
②自底向上bottom-up(数据驱动法):从比较特殊的规则开始,逐渐删除文字以扩大规则覆盖范围,直到满足条件为止,是规则逐渐“泛化”的过程,更适合于训练样本较少的情形
命题规则学习中通常使用第一种策略,一阶规则学习中较多使用第二种策略
10.2剪枝优化
10.2.1预剪枝
如CN2算法,使用了似然率统计量LRS,通常设置为LRS很大(如0.99)时CN2算法才停止规则(集)生长
10.2.2后剪枝
常用的策略是减错剪枝REP(针对规则集进行剪枝),IREP(仅对单条规则进行剪枝,更高效)
10.2.3 RIPPER算法
将剪枝与后处理优化相结合
10.3一阶规则学习
FOIL算法:遵循序贯覆盖框架且使用自顶向下的规则归纳策略,在规则生成时需要考虑不同的变量组合
FOIL可大致看作命题规则学习与归纳逻辑程序设计之间的过渡,其自顶向下的规则生成过程不能支持函数和逻辑表达式嵌套,因此规则表达能力仍有不足;但它是把命题规则学习过程通过变量替换等操作直接转化为一阶规则学习,因此比→般归纳逻辑程序设计技术更高效
10.4归纳逻辑程序设计Inductive Logic Programming,ILP
在一阶规则学习中引入函数和逻辑表达式嵌套
10.4.1最小一般泛化Least General Generalization,LGG
归纳逻辑程序设计采用自底向上的规则生成策略,直接将一个或多个正例所对应的具体事实(grounded fact)作为初始规则,再对规则逐步进行泛化以增加其对样例的覆盖率(可以是将规则中的常量替换为逻辑变量,也可以是删除规则体中的某个文字)
→最基础的技术:最小一般泛化LGG
假定“更好(X,Y)”仅决定于(X,Y)取值相同的关系
→RLGG(Relative Least General Generalization):计算LGG时考虑所有背景知识
10.4.2归结、逆归结inverse resolution
归结:一阶谓词演算中的演绎推理能用一条十分简洁的规则描述
逆归结:
→归结、逆归结都能容易地扩展为一阶逻辑形式,与命题逻辑的主要不同之处是,一阶逻辑的归结、逆归结通常需进行合一置换操作
→一阶归结/逆归结:
_ _ _ _ _ _ 未完待续,喜欢的朋友可以关注后续文章 _ _ _ _ _ _
机器学习基础系列文章回顾:
机器学习基础(一):简介
机器学习基础(二):模型评估与选择
机器学习基础(三):决策树
机器学习基础(四):特征选择与稀疏学习
机器学习基础(五):计算学习理论(PAC学习、有限假设空间、VC维、Rademacher复杂度、稳定性)
机器学习基础(六):贝叶斯分类(贝叶斯决策论、朴素/半朴素贝叶斯分类器、贝叶斯网、EM算法)
机器学习基础(七):概率图模型(HMM、MRF、CRF、话题模型、推断方法)
机器学习基础(八):降维与度量学习(KNN、MDS、线性降维、PCA、核化线性降维、流形学习、度量学习)
机器学习基础(九):集成学习(Boosting、Bagging、Random Forest、学习器结合策略、多样性)
参考书目:
周志华.《机器学习》
这篇关于机器学习基础(十):规则学习(序贯覆盖、剪枝优化、命题学习、一阶规则学习、归纳逻辑程序设计ILP、最小一般泛化LGG、归结/逆归结)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-18机器学习与数据分析的区别
- 2024-10-28机器学习资料入门指南
- 2024-10-25机器学习开发的几大威胁及解决之道
- 2024-10-24以下是五个必备的MLOps (机器学习运维)工具,帮助提升你的生产效率 ??
- 2024-10-15如何选择最佳的机器学习部署策略:云 vs. 边缘
- 2024-10-12从软件工程师转行成为机器学习工程师
- 2024-09-262024年机器学习路线图:精通之路步步为营指南
- 2024-09-13机器学习教程:初学者指南
- 2024-08-07从入门到精通:全面解析机器学习基础与实践
- 2024-01-24手把手教你使用MDK仿真调试