机器学习---规则学习(序贯覆盖、单条规则学习、剪枝优化)

1. 序贯覆盖

回归: 分类:

聚类:

逻辑规则:

读作:若(文字1且文字2且...),则目标概念成立

规则集:充分性与必要性;冲突消解:顺序规则、缺省规则、元规则

eg:

命题逻辑 → 命题规则

原子命题:𝐴*,𝐵,𝐶,...A,B,C,...;逻辑连词:,,,,,¬*...↔,→,←,⋀,⋁,¬...

一阶逻辑 →一阶规则

常量:𝑎*,𝑏,𝑏,...,1,2,3,...*;变量:𝐴*,𝐵,𝐶,...*A,B,C,...

(n元)谓词/函数: p/n, f/n;项:常量|变量|函数/谓词(项1,项2,...)

原子公式:函数/谓词(项1,项2,...)父亲(X,Y),自然数(39),偶数(后继(1)),...

逻辑连词:↔,→,←,⋀,⋁,¬...;逻辑量词:

序贯覆盖:在训练集上每学到一条规则,就将改规则覆盖的样例去除,然后以剩下的样例组成训练

集重复上述过程( 分治策略)。

2. 单条规则学习

目标:寻找一组最优的逻辑文字来构成规则体。本质:搜索问题;搜索空间大,易造成组合爆炸。

方法:自顶向下:一般到特殊( 泛化);自底向上:特殊到一般( 特化)

自顶向下策略:一般到特殊(特化)

自底向上策略:特殊到一般(泛化)

规则评判:增加/删除哪一个候选文字;准确率;信息熵增益(率);基尼系数 ......

规避局部最优:集束搜索:每次保留最优的多个候选规则 ......

3. 剪枝优化

贪心算法导致的非最优的算法:

预剪枝:似然率统计量:

后剪枝:剪错剪枝(REP):穷举所有可能的剪枝操作(删除文字、删除规则),复杂度非常高,

用验证集反复剪枝直到精确率无法提高。

二者结合:IREP:每生成一条新规则即对进行REP剪枝

IREP*:是对IREP的优化

RIPPER:

IREP*生成规则集,选取其规则,找到其覆盖的样例,重新生成规则,特化原规则在泛化,把原规

则和新规则放入规则集中进行评价,留下最好的,反复优化直到无法进步。

RIPPER将所有规则放在一起优化,通过全局的考虑来缓解序贯覆盖的局部性。

相关推荐
Tipriest_14 分钟前
C++ 的 ranges 和 Python 的 bisect 在二分查找中的应用与实现
c++·python·算法·二分法
晨晖21 小时前
顺序查找:c语言
c语言·开发语言·算法
LYFlied2 小时前
【每日算法】LeetCode 64. 最小路径和(多维动态规划)
数据结构·算法·leetcode·动态规划
Salt_07282 小时前
DAY44 简单 CNN
python·深度学习·神经网络·算法·机器学习·计算机视觉·cnn
货拉拉技术2 小时前
AI拍货选车,开启拉货新体验
算法
MobotStone2 小时前
一夜蒸发1000亿美元后,Google用什么夺回AI王座
算法
Wang201220132 小时前
RNN和LSTM对比
人工智能·算法·架构
xueyongfu2 小时前
从Diffusion到VLA pi0(π0)
人工智能·算法·stable diffusion
永远睡不够的入3 小时前
快排(非递归)和归并的实现
数据结构·算法·深度优先
cheems95273 小时前
二叉树深搜算法练习(一)
数据结构·算法