《机器学习》读书笔记,第二章概念学习和一般到特殊序

本章展示了几种概念学习算法,并讨论了这些算法能收敛到正确假设的条件。这里还分析了归纳学习的本质以及任意程序能从训练数据中泛华的理由。


2.1概念学习:
从有关某个布尔函数的输入输出训练样例中推断出该布尔函数


2.2概念学习任务:
实例的集合、实例集合上的目标函数、候选假设的集合以及训练样例的集合。


术语定义:
实例集合:X
待学习的概念或函数成为目标概念:c
训练样例:每个样例X中的一个实例x,以及它的目标概念值c(x);c(x) = 1为正例,c(x) = 0为反例
训练样例的集合:D
假设函数:h


归纳学习假设:
机器学习的任务是在整个实例集合X上确定与目标概念c相同的假设h,然而我们对于c仅有的信息只是它在训练样例上的值。
因此归纳学习算法最多只能保证输出的假设能与训练样例相拟合。
如果没有更多的信息,我们只能假定,对于未见实例最好的假设就是与训练数据最佳拟合的假设。
在后面5、6、7章节将更形式地和定量地审定和分析这一假定:
《 任意假设如果在足够大的训练样例集中很好地逼近目标函数,它也能在未见实例中很好地逼近目标函数 》


2.3作为搜索的概念学习:
概念学习可以看做是一个搜索的过程,范围是假设的表示所隐含定义的整个空间。
搜索的目标是为了寻找最好地拟合训练样例的假设。
必须注意到,当假设的表示形式选定后,那么也就隐含地为学习算法确定了所有假设的空间。
这些假设是学习程序所能表示的,也是它能够学习的。


假设的一般到特殊序:
许多概念学习算法中,搜索假设空间的方法依赖于一种针对任意概念学习都很有效的结构:假设的一般到特殊序关系。
利用假设空间的这种自然结构,我们可以在无限的假设空间中进行彻底的搜索,而不需要明确地列举所有的假设。


首先,对X中的任意实例x和H中的任意假设h,我们说当且仅当h(x)=1时x满足h。
令hj和hk为在X上定义的布尔函数。称hj更一般(hj >=g hk),当且仅当
(对于任意的 x 属于X),hk(x) = 1 -> hj(x) = 1


2.4FIND-S算法:寻找极大特殊假设
####################################################################
def find_s():


x1 = [ 'sunny', 'warm', 'nurmal', 'strong', 'warm', 'same' , 1 ]
x2 = [ 'sunny', 'warm', 'high', 'strong', 'warm', 'same' , 1 ]
x3 = [ 'rainy', 'cold', 'high', 'strong', 'warm', 'change', 0 ]
x4 = [ 'sunny', 'warm', 'high', 'strong', 'cool', 'change', 1 ]
 
h = [ None, None, None, None, None, None ]
h1 = [ 'sunny', 'cold', 'high', 'strong', 'warm', 'change' ]
 
xa = [ x1, x2, x3, x4 ]

xb = [ x2, x3, x4, x1 ]
 
for i in xb:
if i[6] == 1:
index = 0
for j in i[ :-1 ]:
if ( h[index] == None ):
h[index] = j
elif ( h[index] != j ):
h[index] = '?'
index += 1
 
for i in h:
print (i)







if __name__ == "__main__":
find_s();
########################################################################




2.5变形空间和候选消除算法
候选消除算法能解决FIND-S中的若干不足之处。FIND-S输出的假设只是H中能够拟合训练样例的多个假设中的一个。
而在候选消除算法中,输出的是与训练样例一致的所有假设的集合。
候选消除算法在描述这一集合时不需要明确列举其所有成员
在这里需要维护一个一致假设集合的简洁表示,然后在遇到新的训练样例时逐步精华这一表示


候选消除算法的应用有:从化学质谱分析中学习规律性和学习启发式搜索的控制规则
然而,候选消除算法和FIND-S算法的实际应用都受到限制,因为它们在训练数据含有噪声时性能较差。
这里介绍候选消除算法的目的是为引入若干基本的机器学习问题提供一个良好的概念框架。


候选消除算法寻找与训练样例一致的所有假设。
为精确描述这一算法,这里先引入一些基本的定义。
首先,当一个假设能正确分类一组样例时,我们称这个假设与这些样例是一致的(consistent)


定义:
一个假设h与训练样例集合D一致,当且仅当对D中每一个样例<x, c(x)>都有h(x) = c(x)
Consistent(h,D) == 对于任意的<x,c(x)>,h(x) = c(x)


候选消除算法能够表示与训练样例一致的所有假设。
在假设空间中的这一子集被称为关于假设空间H和训练样例D的变形空间,因为它包含了目标概念的所有合理的变型。


2.5.2列表后消除算法
显然,表示变型空间的一种方法是列出其所有成员。这样可以产生一个简单的算法,称为列表后消除算法(List-then-eliminate)


列表后消除算法首先将变型空间初始化为包含H中所有的假设,然后从中去除与任一训练样例不一致的假设。
包含候选假设的变型空间随着观察到越来越多的样例而缩减,直到只剩一个(理想情况下)与所有样例一致的假设,这可能就是所要的目标函数
如果没有充足的数据使变型空间缩减到只有一个假设,那么该算法将输出一个集合,这个集合中的所有假设与训练样例都一致


原则上,只要假设空间是有限的,就可以使用列表后消除算法。它具有很多优点,如能保证得到与训练数据一致的所有假设。
但是,这一算法要求非常繁琐地列出H中所有假设,这对于大多数实际的假设空间是不现实的要求


2.5.3变形空间的更简洁表示
候选消除法与上面的列表后消除法遵循同样的原则。
然而,它使用一种更简洁的变型空间表示法。
在此,变型空间被表示为它的极大一般的和极大特殊的成员。
这些成员形成了一般和特殊边界的集合,这些边界在整个偏序结构中划分出变型空间。


定义:关于假设空间H和训练数据D的一般边界G,是在H中与D相一致的极大一般成员的集合。
定义:关于假设空间H和训练数据D的特殊边界S,是在H中与D相一致的极大特殊成员的集合。


只要集合G和S被良好的定义了,它们就完全规定了变型空间。
这里还可以证明,变型空间的确切组成是:G中包含的假设,S中包含的假设以及G和S之间偏序结构所规定的假设


2.5.4候选消除学习算法
候选消除算法计算的变型空间,包含H中与训练样例的观察序列一致的所有假设。
开始,变型空间被初始化为H中所有假设的集合。即将G边界集合初始化为H中最一般的假设G0<?,?,?,?,?,?>
并将S边界集合初始化为最特殊的假设S0<fai,fai,fai,fai,fai,fai>
这两个边界集合包含了整个假设空间。因为H中所有假设都比S0更一般,且比G0更特殊。
算法在处理每个训练样例时,S和G边界集合分别被一般化和特殊化,从变型空间中逐步消除与样例不一致的假设。
在所有训练样例处理完后,得到的变型空间就包含了所有与样例一致的假设,而且只包含这样的假设


# 算法流程
将G集合初始化为H中极大一般假设
将S集合初始化为H中极大特殊假设
对每个训练样例d,进行以下操作:
如果d是一正例
从G中移去所有与d不一致的假设
对S中每个与d不一致的假设s
从S中移去s
把s的所有的极小一般化式h加入到S中,其中h满足
h与d一致,而且G的某个成员比h更一般
从S中移去所有这样的假设:它比S中另一假设更一般
如果d是一个反例
从S中移去所有与d不一致的假设
对G中每个与d不一致的假设g
从G中移去g
把g的所有的极小特殊化式h加入到G中,其中h满足
h与d一致,而且S的某个成员比h更特殊
从G中移去所有这样的假设:它比G中另一假设更特殊
注意正例和反例是怎样同时影响S和G的


2.6关于变型空间和候选消除的说明

1)候选消除算法是否会收敛到正确的假设
由候选消除算法得到的变型空间能够收敛到描述目标函数的假设条件是:
-在训练样例中没有错误
-H中确实包含描述目标概念的正确假设
事实上,如果遇到新的训练样例,可以监测变型空间以判定其与真正的目标函数之间是否还有分歧
以及为精准确定目标函数还需要多少训练样例。
当S和G边界集合收敛到单个的可确定的假设时,目标函数才真正获得


如果训练数据包含错误,如果给定足够的训练数据,最终我们会发现S和G边界收敛得到一个空的变型空间
从而得知训练数据有误


2)下一步需要什么样的样例
到目前为止,我们都假定训练样例由某个外部施教者提供
假象学习器可以主宰实验进程,下一步它要自己选择一个实例,然后从外界(自然界或一个施教者)获得该实例的正确分类结果。
我们这里用查询(query)来代表学习器建立的这个实例,然后由外界来对它分类。
学习器应试图在当前变型空间中选择假设,以进一步划分该空间。
因此,需要选择的实例需满足:它能背变型空间中一些假设分类为正例,另一些分类为反例。
(信息熵最大)
一般来说,概念学习的最优查询策略,是产生实例以满足当前变型空间中大约半数的假设。
这样,变型空间的大小可以在遇到每个新样例时减半,正确的目标概念(目标函数)就可在只用log2(VS)次实验后得到
但一般情况下,无法构造出这样精确分半的实例,因此查询的数目可能会大于log2(VS)次


3)怎样使用不完全学习概念
如果假定H中所有假设有相等的先验概率,那么投票的方法能得到新实例的最可能分类


2.7归纳偏置
如上所述,在给定正确的训练样例并且保证初始假设空间包含目标概念时,候选消除算法可以收敛到目标概念
But
如果目标概念不在假设空间中怎么办?是否可设计一个包含所有假设的空间来解决这一困难?
假设空间的大小对于算法推广到未见实例的能力有什么影响?
假设空间的大小对所需训练样例的数量有什么影响?

这些都是归纳推理中的一些基本问题
这里我们在候选消除算法中考虑这些问题
然而,此处分析中得到的结论可以应用于任意的概念学习系统。


(个人注解:机器学习试图去建造一个可以学习的算法,用来预测某个目标的结果。要达到此目的,要给于学习算法一些训练样本,样本说明输入与输出之间的预期关系。然后假设学习器在预测中逼近正确的结果,其中包括在训练中未出现的样本。既然未知状况可以是任意的结果,若没有其它额外的假设,这任务就无法解决。这种关于目标函数的必要假设就称为归纳偏置(Mitchell, 1980; desJardins and Gordon, 1995)。)


一个有偏的假设空间
如果想保证假设空间包含目标概念,一个明星的方法是扩大假设空间,使得每个可能的假设都被包含在内。


无偏的学习器
很显然,为了保证目标概念在假设空间中,需要提供一个假设空间,它能表达所有的可教授概念
换言之,它能够表达实例集X的所有可能的子集
一般我们把集合X的所有子集合称为X的幂集,大小为2**X
定义一个新的假设空间H',它能表示实例的每一个子集,也就是把H'对应到X的幂集
给定这样的假设空间,我们就可以安全地使用候选消除算法,而不必担心无法表达目标概念。
然而,虽然这个假设空间排除了表达能力的问题,它又产生了一个新的、同样困难的问题:
概念学习算法将完全无法从训练中泛化!
原因如下,假定给学习器提供了3个正例x1,x2,x3以及两个反例x4,x5
这时,变型空间S边界包含的假设正好是三个正例的析取:
S:{(x1Vx2Vx3)}
因为这时能覆盖三个正例的最特殊假设
相似地,G边界将由哪些刚好能排除掉反例的哪些假设组成
G:{~(x4Vx5)}
问题在于,在这一非常具有表达力假设的表示方法中,S边界总是所有正例的析取式,G边界是所有反例的析取的否定式
这样能够由S和G无歧义分类的,只有已见到的训练样例本身
想要获得单个目标概念(目标函数h),就必须提供X中所有的实例作为训练样例


无偏学习的无用性
以上的讨论说明了归纳推理的一个基本属性:学习器如果不对目标概念的形式做预先的假定,它从根本上无法对未见实例进行分类。
(个人理解:这个假定,就是机器学习选择的模型,如线性模型,或分类器的特征。如果这一假定正确,对于新实例的分类也会是正确的。
如果这一假定不正确,任何算法都会作出错误的预测)
由于归纳学习需要某种形式的预先假定,或成为归纳偏置(inductive bias),我们可以用归纳偏置来描述不同学习方法的特征。
现在来精确地定义归纳偏置
这里要获取的关键思想在于,学习器在从训练样例中泛化并推断新实例的分类过程中所采用的策略。
因此,考虑一般情况下任意的学习算法L以及为任意目标概念c提供的任意训练数据Dc={<x,c(x)>}
训练过程结束后,L需要对新的实例xi进行分类
令L(xi,Dc)表示在训练数据Dc学习后L赋予xi的分类,我们可以如下描述L所进行的这一归纳推理过程:
(公式见书30也中下方)
定义:考虑对于集合X的概念学习算法L。令c为X上定义的任意概念,并令Dc={<x,c(x)>}为c的任意训练样例集合。
令L(xi,Dc)表示经过数据Dc训练后L赋予实例xi的分类。
L的偏置归纳是最小断言集合B,它使任意目标概念c和相应的训练样例Dc满足
(公式见书31页上方)


候选消除算法的归纳偏置:目标概念c包含在给定的假设空间H中。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值