【机器学习】——逻辑模型:概念学习

一、前言

  • 逻辑模型包括:概念学习、树模型、规则模型。这类模型的共同特点是,它们均是通过逻辑表达式将实例空间划分为一组间隔,因此所构建的都是分组模型。
  • 这类模型的目标如下:针对要解决的任务,找到可以使每个区隔中的数据更为一致的实例空间划分方案。
  • 逻辑学习本质上就是树模型和规则模型,本篇文章将探讨用于从数据中学习逻辑表达式或者概念的各种方法,它们是树模型和规则模型的基础。

二、概念学习

在讲解概念学习之前,需要铺垫一下离散数学的相关知识:

  • 文字:命题常元、变元及它们的否定,如:一个布尔表达式A,x>y,a=b...
  • 若布尔表达式A对某一个实例x为真,则称A覆盖了x,被A覆盖的所有实例的集合称为A的外延。(本质其实就是满足条件A的所有实例的集合)
  • 如果X_{A}\supseteq X_{A^{'}},称A至少具有与A'相同的一般性,若同时有X_{A}\nsubseteq X_{A^{'}},称A比A'更具有一般性。(其实就是A的集合大于A'的集合,A的条件比A'更泛化,A'的条件比A的条件更苛刻)
  • 子句:是一个蕴含关系P—>Q,P是由若干文字构成的合取式,Q是由若干文字构成的析取式。所以,子句等价于若干文字的析取。
  • Horn子句:是一个子句A—>B,其中B为一个单个文字。

2.1假设空间

假设空间:就是其中涉及的全部可能的概念所构成的集合。

例如:现在有一种动物海豚,体长(Length={3,4,5}),是否有腮(Gills{yes,no}),背部是否凸起(Beak={yes,no}),牙齿数量(Teeth={many,few}),该假设空间为3x2x2x2=24,如果将这4个特征的缺失值作为一种附加的取值方案,则可以得到4x3x3x3=108种。

如果现在只出现了体长(Length={3,4}),是否有腮(Gills{no}),背部是否凸起(Beak={yes}),牙齿数量(Teeth={many,few}),并且只有如下3个实例,则将未覆盖任何实例的概念移除,就缩减为32个合取概念(这里的图省略)

  • 实例1:Length=3\wedge Gills=no\wedge Beak=yes\wedge Teeth=many
  • 实例2:Length=4\wedge Gills=no\wedge Beak=yes\wedge Teeth=many
  • 实例3:Length=3\wedge Gills=no\wedge Beak=yes\wedge Teeth=few

2.2最小一般性

最小一般性:如果进一步限制,任何假设必须覆盖全部3个实例,则假设空间缩减成4个合取概念,这4个概念中最不具备一般性的称为最小一般假设,人们通常称为最小一般泛化(LGG)。这4个分别是:

  • 特征全空的概念(最大一般性假设),认为所有动物都是海豚
  • Gills=no
  • Beak=yes
  • Gills=no\wedge Beak=yes(最小一般性假设,所有的泛化具备的一般性至少要和它相当,即LGG是最保守的泛化)

LGG算法:

LGG-Set(D):从一个实例集中找到最小一般泛化

input:数据集D
output:逻辑表达式H

1. x (来自D中的第一个实例)
2. H (将x赋值给H)
3. while 有其他实例 do
4. |   x (D中的下一个实例)
5. |   H=LGG(x,H) (LGG函数返回的结果覆盖了上一个H )
6. end
7. return H

LGG-Conj(x,y):找到两个合取的最小一般合取泛化

input: 2个合取式x,y
output: 合取的最终结果z

1. z (来自x,y的共同合取)
2. return z

负例对于防止过度泛化很有帮助,这里有一个负例:

Length=5\wedge Gills=yes\wedge Beak=yes\wedge Teeth=many

可以看到,它能够排除目前可能成立的泛化,尤其是排除了Beak=yes和假设一切动物都是海豚的这个空概念。

2.3内部析取

对于最大一般假设,通常来说不是唯一的。将上述3个实例运用内部析取整合,变成如下假设:

Length=[3,4]\wedge Gills=no\wedge Beak=yes

这时我们发现前两个单个条件依然不会覆盖负例,但是Beak=yes会覆盖。

LGG-Conj-ID(x,y):运用内部析取找到两个合取的最小一般合取泛化

input:合取x,y
output:合取z

1. z (true)
2. for 每个特征f do
3. | if f=vx是x中的结合项,且f=vy是y中的结合项 then
4. |  | 将f=Combine-ID(vx,vy)添加到z //Combine-ID([3,4],[3,5])=[3,4,5],返回二者的并集
5. | end
6. end
7.return z

2.4通过假设空间的路径

本小节只是总结一下,也可以画成覆盖图的形式,具体的图表不再给出,有问题可以私聊我。

  • 如果一个概念能够覆盖所有的正例,则称它是完备的。
  • 如果一个概念没有覆盖任何负例,则称它具有相容性。
  • 版本空间是由所有完备的相容的概念构成的集合,是一个凸集。
  • 如果一个正例的LGG覆盖了一个或多个负例,意味着该LGG的任何泛化都是不相容的,反之,任何相容性假设都不是完备的,此时的版本空间为空,我们称此时的数据不是合取可分的。
MGConsistent(C,N):找到给定概念的最一般相容特化

input:概念C,负例集N
output:概念集S

1. if C未覆盖负例集N中的任何元素 
2. | then return C
3. S 起初为空集
4. for C 的每个最小特化C' do
5. | S=S U MGConsistent(C',N)
6. end
7. return S
// 最小特化是指可在假设网格结构中向下一部所到达的假设,如通过向某个内部析取添加合取式或移除某个值。 

2.5 Horn理论

  • 如果一个Horn理论无法覆盖某个正例,我们便需要将所有“违背”该正例的子句移除。如果未覆盖某个负例,我们需要添加一条或多条Horn语句。在A—>B中,若A中文字对于该实例为真,B为假则称该子句违背了该正例。
  • 当负例仅有一个被设为假的文字时,排除该负例的最特定的子句便是唯一的,若在负例中被设为真的文字越少,则用于排除改负例的子句越具有一般性。
  • Horn算法总能够成功学习到一个与目标理论等价的Horn理论。(虽然式子可能并不完全等同)
  • 关于Horn理论的案例,这里由于麻烦不讲解了,有问题的可以私信我,帮大家解答。

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值