(《机器学习》完整版系列)第15章 规则学习——15.7 FOIL算法(找出含逻辑变量的公式)

将基于“属性值”的训练集调整为基于“属性值比较”的训练集。
对样本集进行学习,就是设法找出含逻辑变量的公式(集)。

FOIL算法

前面15.6 一阶逻辑公式及“分拆”我们知道,一阶规则通过引入变量,将规则“公式”化。

现在,将离散属性“变量化”为可比较的,假定属性的值是可以“比较”大小的,如:
属性“色泽”的值域为 { “乌黑” , “青绿” , “浅白” } \{\text{“乌黑”},\text{“青绿”},\text{“浅白”}\} {乌黑,青绿,浅白}
定义:“色泽”的深度关系为 “乌黑” > “青绿” > “浅白” \text{“乌黑”}>\text{“青绿”}>\text{“浅白”} 乌黑>青绿>浅白

由此,可以将基于“属性值”的训练集调整为基于“属性值比较”的训练集,如,【西瓜书表4.1】变为【西瓜书表15.1】,其特点:

  • 对样本进行了编号;
  • 对每个属性的值进行两两比较,形成一个该属性的比较矩阵,如,【西瓜书表15.1】的第1至第4行为属性“色泽”形成的(注:无(2,3)是由于2与3的色泽一样而省略,无(2,4)是由于4属于测试集,参见【西瓜书表4.2p.80】),所有属性的比较矩阵构成“背景知识”;
  • 对分类也转化为样例的“比较”,如,【西瓜书表15.1】的下半部分,其中,“更好(1,10)”表示1号瓜比10号瓜更好;

样本编号代表样本的个体,视为逻辑变量的取值,这样就可以在规则中使用逻辑变量了,对样本集进行学习,就是设法找出含逻辑变量的公式(集)。

FOIL是著名的一阶规则学习算法,步骤如下:

(i) 初始化: 更好 ( X , Y ) ← \text{更好}(\mathit{X},\mathit{Y})\leftarrow 更好(X,Y)

(ii) 列候选文字:

( a ) (a) (a) 至少包含一个已出现的变量;

( b ) (b) (b) 其他谓词,如,色泽更深、敲声更沉等;

( a ) (a) (a) ( b ) (b) (b)的所有组合都是候选文字,如,【西瓜书p.356最后一段】所示。

(iii) 选择文字:增加某文字后,则应有“FOIL增益”,比较各候选文字的“FOIL增益【西瓜书式(15.3)】”,最大者当选。

(iv) 继续增加规则体的长度(参照15.1 命题规则),形成规则集后,再进行后剪枝优化。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:15.6 一阶逻辑公式及“分拆”
下一篇:15.8 三种蕴涵(你会区分么?)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值