规则学习
同样也是另一种看待机器学习的方法,认为机器学习应该是从样例中经过逻辑推理归纳得出一系列能够泛化的规则。
一、逻辑与规则
1、规则:用以判断的推理关系,包括已知条件的规则体与推理结果的规则头。机器学习被认为从样例中学习规则。分为命题规则与一阶规则,前者只允许原子命题与逻辑连接词,后者允许使用谓语与量词。
2、规则冲突:对一个样本被判别结果不同的规则覆盖,需要另外决定判别结果,常用投票法、排序法、元规则法。
3、默认规则:样本可能未被任何规则覆盖,只需添加默认规则如:不满足之前规则的都被归入某结果。
二、序贯覆盖
规则学习目标为产生一个能覆盖尽可能多的样例规则集,序贯覆盖即逐条归纳,学到一条规则就将相应训练样例去除。产生规则的策略主要有两种,一种为自顶向下,从比较一般规则开始,逐渐添加规则缩小覆盖范围;另一种自底向上,从特殊规则开始,删除文字到不能删除为止。数据量较大采用前者,命题规则学习常采用前者,而一阶规则学习常采用后者。
如命题学习自顶向下生成规则:先遍历第一属性的所有取值能否覆盖正例,否定后选择一个属性值再遍历第二属性,发现当前规则已只覆盖正例,产生规则去除样例,再产生循环规则。
三、剪枝优化
规则生成本质是贪心算法,需要缓解过拟合的策略,常用剪枝优化,同样有预剪枝与后剪枝操作
预剪枝可借助统计显著性检验进行,典型CN2算法假设用规则集进行预测必须显著由于直接基于训练样例后验概率分布进行预测。
后剪枝常用“减错剪枝REP”,其快速算法为IREP。
此外,常将剪枝机制与后处理手段几何,如RIPPER算法。
四、一阶规则学习
命题学习无法学习到比较信息,描述也比较模糊(如:色泽=明亮,是非定量的),一阶规则学习可以学到比较信息,表达式如下。一般只需将数据集做转换即可。常见有FOIL一阶规则学习算法,亦采用序贯覆盖自顶向下归纳。
五、归纳逻辑程序设计ILP
在一阶规则学习中引入了函数和逻辑表达嵌套。常是基于规则的再操作,如泛化规则或发掘新概念。
1、最小一般泛化(化繁为简):即在学得的规则上再次进行归纳,基础技术称为LGG最小一般泛化。如它能对两个初始规则生成一个泛化规则:
2、逆归结(化简为繁):归纳过程可视为采用了归结原理的结果,它消除了部分概念,逆归结旨在反推这一过程,从一个概念中反演出原概念,“原概念”中会产生新的概念。