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

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将所有规则放在一起优化,通过全局的考虑来缓解序贯覆盖的局部性。

相关推荐
Felven1 小时前
C. Contrast Value
c语言·开发语言·算法
natide1 小时前
表示/嵌入差异-1-欧几里得距离(Euclidean Distance)-L2 距离(L2 distance)-欧式距离的标准化
人工智能·pytorch·python·深度学习·算法·自然语言处理
雪花desu1 小时前
【Hot100-Java简单】:两数之和 (Two Sum) —— 从暴力枚举到哈希表的思维跃迁
java·数据结构·算法·leetcode·哈希表
qzhqbb1 小时前
群智能计算核心算法全解析
人工智能·算法
leaves falling1 小时前
c语言打印闰年
java·c语言·算法
YGGP1 小时前
【Golang】LeetCode 121. 买卖股票的最佳时机
算法·leetcode
dulu~dulu1 小时前
机器学习---过拟合与正则化
人工智能·深度学习·机器学习·dropout·正则化·过拟合
mmz12071 小时前
差分数组(二维)(c++)
c++·算法
YGGP1 小时前
【Golang】LeetCode 45. 跳跃游戏 II
算法·leetcode·游戏
闻缺陷则喜何志丹1 小时前
【计算几何 化环为链】P14165 [ICPC 2022 Nanjing R] 清空水箱|普及+
c++·数学·算法·计算几何·洛谷·化环为链