Machine Learning 机器学习
本书展示了机器学习中核心的算法和理论,并阐明了算法的运行过程。本书综合了许多的研究成果,例如统计学、人工智能、哲学、信息论、生物学、认知科学、计算复杂性和控制论等,并以此来理解问题的背景、算法和其中的隐含假定。
本书可作为计算机专业本科生、研究生教材,也可作为相关领域研究人员、教师的参考书。
第2章 概念学习和一般到特殊序
从特殊的训练样例中归纳出 一般函数是机器学习的中心问题。本章介绍概念学习:给定某一类别的若干正例和反例,从中获得该类别的一般定义。概念学习也可被看作一个搜索问题,它在预定 义的假设空间中搜索假设,使其与训练样例有最佳的拟合度。多数情形下,为了高效的搜索,可以利用假设空间中一种自然形成的结构——即一般到特殊偏序结构。 本章展示了几种概念学习算法,并讨论了这些算法能收敛得到正确假设的条件。这里还分析了归纳学习的本质,以及任意程序能从训练数据中泛化的理由。
2.1 介绍
许多机器学习问题涉及到从特殊训练样例中得 到一般概念。比如人们不断学习的一些一般概念和类别包括:鸟类、汽车、勤奋的学习等。每个概念可被看作一个对象或事件集合,它是从更大的集合中选取的子集 (如从动物的集合中选取鸟类),或者是在这个较大集合中定义的布尔函数(如在动物集合中定义的函数,它对鸟类产生true 并对其他动物产生false)。
定义: 概念学习是指从有关某个布尔函数的输入输出训练样例中,推断出该布尔函数。
2.2 一个概念学习任务
Example
|
Sky
|
AirTemp
|
Humidity
|
Wind
|
Water
|
Forecast
|
EnjoySport
|
1
|
Sunny
|
Warm
|
Normal
|
Strong
|
Warm
|
Same
|
Yes
|
2
|
Sunny
|
Warm
|
High
|
Strong
|
Warm
|
Same
|
Yes
|
3
|
Rainy
|
Cold
|
High
|
Strong
|
Warm
|
Change
|
No
|
4
|
Sunny
|
Warm
|
High
|
Strong
|
Cool
|
Change
|
Yes
|
l 由“?”表示任意值
l 明确指定的属性值(如 AirTemp=Warm)
l 由“Æ”表示不接受任何值
如果某些实例x满足假设h的所有约束,那么h将x 分类为正例,(h(x)=1 )。比如,为判定Aldo只在寒冷和潮湿的日子里进行水上运动(并与其他属性无关),这样的假设可表示为下面的表达式:
<?, Cold, High, ?, ?, ?>
n 已知: n 实例集X:可能的日子,每个日子由下面的属性描述: n Sky(可取值为Sunny,Cloudy和Rainy) n AirTemp(可取值为Warm和Cold) n Humidity(可取值为Normal和High) n Wind(可取值为Strong和Weak) n Water(可取值为Warm和Cool) n Forecast(可取值为Same和Change) n 假设集H:每个假设描述为6个属性Sky,AirTemp,Humidity,Wind,Water和Forecast的值约束的合取。约束可以为“?”(表示接受任意值),“Æ”(表示拒绝所有值),或一特定值。 n 目标概念c: EnjoySport: X→{0, 1} n 训练样例集D:目标函数的正例和反例(见表2-1) n 求解: n H中的一假设h,使对于X中任意x,h(x)=c(x)。 |
2.2.1 术语定义
在本书中,我们使用以下的术语来讨论概念学习问题。概念定义在一个实例(instance)集合之上,这个集合表示为X。在本例中,X是所有可能的日子,每个日子由Sky、AirTemp、Humidity、Wind、Water和Forecast六个属性表示。待学习的概念或函数称为目标概念 (target concept),记作c。一般来说,c可以是定义在实例X上的任意布尔函数,即c:X→{0, 1}。在这个例子里,目标概念对应于属性 EnjoySport的值,当EnjoySport=Yes时c(x)=1,当 EnjoySport=No时c(x)=0。
2.2.2 归纳学习假设
归纳学习假设 任一假设如果在足够大的训练样例集中很好地逼近目标函数,它也能在未见实例中很好地逼近目标函数。
2.3 作为搜索的概念学习
概念学习可以看作是一个搜索的过程,范围是假设的表示所隐含定义的整个空间。搜索的目标是为了寻找能最好地拟合训练样例的假设。必须注意到,当假设的表示形式选定后,那么也就隐含地为学习算法确定了所有假设的空间。这些假设是学习程序所能表示的,也是它能够学习的。考虑在EnjoySport 学习任务中的实例集合X和假设集合H。如果属性Sky有3种可能的值,而AirTemp、Humidity、Wind、Water和 Forecast都只有两种可能值,则实例空间X包含了3×2×2×2×2×2=96种不同的实例。类似的计算可得,在假设空间H中有5×4×4×4×4×4=5120种语法不同(syntactically distinct)的假设。然而,注意到包含有Æ符号的假设代表空实例集合,即它们将每个实例都分类为反例。因此,语义不同(semantically distinct)的假设只有1+4×3×3×3×3×3=973个。这里的EnjoySport例子是一个非常简单的学习任务,它的假设空间相对较小且有限。多数实际的学习任务包含更大的、有时是无限的假设空间。
2.3.1 假设的一般到特殊序
h1=<Sunny, ?, ?, Strong, ?, ?>
定义: 令hj和hk为在X上定义的布尔函数。定义一个more-general-than-or-equal-to关系,记做≥g。称hj≥g hk当且仅当
2.4 Find-S:寻找极大特殊假设
1. 将h初始化为H中最特殊假设 2. 对每个正例x n 对h的每个属性约束ai 如果 x满足ai 那么 不做任何事 否则 将h中ai替换为x满足的紧邻的更一般约束 3. 输出假设h |
l 学习过程是否收敛到了正确的目标概念?虽然Find-S找到了与训练数据一致的假设,但没办法确定它是否找到了惟一合适的假设(即目标概念本身),或是否还有其他可能的假设。我们希望算法知道它能否收敛到目标概念,如果不能,至少要描述出这种不确定性。
l 为什么要用最特殊的假设。如果有多个与训练样例一致的假设,Find-S只能找到最特殊的。为什么我们偏好最特殊的假设,而不选最一般假设,抑或一般程度位于两者之间的某个假设。
l 训练样例是否相互一致?在多数实际的学习问题中,训练数据中常出现某些错误或噪声,这样的不一致的训练集将严重破坏Find-S算法,因为它忽略了所有反例。我们期望的算法至少能检测出训练数据的不一致性,并且最好能容纳这样的错误。
l 如果有多个极大特殊假设怎么办?在EnjoySport任务的假设语言H中,总有一个惟一的最特殊假设与训练数据一致。然而,对其他一些假设空间(后面将讨论到)可能有多个极大特殊假设。这种情况下,Find-S必须被扩展,以允许其在选择怎样泛化假设的路径上回溯,以容纳目标假设位于偏序结构的另一分支上的可能性。更进一步,我们可以定义一个不存在极大特殊假设的假设空间,然而这是一个更理论性的问题而不是实践问题(见习题2.7)
2.5 变型空间和候选消除算法
2.5.1 表示
定义: 一个假设h与训练样例集合D一致(consistent),当且仅当对D中每一个样例<x,c(x)>,h(x)=c(x)。
定义: 关于假设空间H和训练样例集D的变型空间(version space),标记为VSH,D,是H中与训练样例D一致的所有假设构成的子集。
2.5.2 列表后消除算法
列表后消除算法
1. 变型空间VersionSpace←包含H中所有假设的列表 2. 对每个训练样例<x, c(x)>
从变型空间中移除所有 h( x)≠ c( x)的假设 h
3. 输出VersionSpace中的假设列表 |
列表后消除算法首先将变型空间初始化为包含H中 所有假设,然后从中去除与任一训练样例不一致的假设。包含候选假设的变型空间随着观察到越来越多的样例而缩减,直到只剩一个(理想情况下)与所有样例一致 的假设。这可能就是所要的目标概念。如果没有充足的数据使变型空间缩减到只有一个假设,那么该算法将输出一个集合,这个集合中所有的假设与训练样例都一 致。
2.5.3 变型空间的更简明表示
定义: 关于假设空间H和训练数据D的一般边界(General boundary)G,是在H中与D相一致的极大一般(maximally general)成员的集合。
定义: 关于假设空间H和训练数据D的特殊边界(Specific boundary)S,是在H中与D相一致的极大特殊(maximally specific)成员的集合。
证明:为证明该定理只需证明:(1)每一个满足上式右边的h都在VSH,D中,(2) VSH,D的每个成员都满足等式右边。为证明(1),令g为G中任意一个成员,s为S中任一成员,h为H的任一成员而且g≥gh≥gs。由S的定义,s必须被D中所有的正例满足。因为h≥g s, h也被D中所有正例满足。相似地,由G的定义,g必须不被D中任一反例满足,且由于 g≥g h,h也不被D中所有反例满足。由于 h被D中所有正例满足且不被其中所有反例满足,因此h与D一致,因此h是VSH,D的成员。这证明了步骤(1)。(2)的讨论稍微有些复杂,可以使用反证法,假定VSH,D中某一h不满足等式右边,那么将产生矛盾(见习题2.6)。
2.5.4 候选消除学习算法
将 G集合初始化为 H中极大一般假设
将 S集合初始化为 H中极大特殊假设
对每个训练样例 d,进行以下操作:
n 如果d是一正例 n 从G中移去所有与d不一致的假设 n 对S中每个与d不一致的假设s n 从S中移去s n 把s的所有的极小泛化式h加入到S中,其中h满足 n h与d一致,而且G的某个成员比h更一般 n 从S中移去所有这样的假设:它比S中另一假设更一般 n 如果d是一个反例 n 从S中移去所有与d不一致的假设 n 对G中每个与d不一致的假设g n 从G中移去g n 把g的所有的极小特化式h加入到G中,其中h满足 n h与d一致,而且S的某个成员比h更特殊 n 从G中移去所有这样的假设:它比G中另一假设更特殊 |
注意算法中的操作,包括对给定假设的极小泛 化式和极小特化式的计算,并确定那些非极小和非极大的假设。具体的实现当然依赖于实例和假设的表示方式。然而,只要这些操作被良好地定义了,该算法就可应 用于任意概念学习和任意假设空间。在以下将实际演示算法的运行步骤,从中可以看到在EnjoySport这个例子中,这些操作是怎样实现的。
2.5.5 算法的示例
Training examples: 训练样例
Training examples: 训练样例
Training examples: 训练样例
2.6 关于变型空间和候选消除的说明
2.6.1 候选消除算法是否会收敛到正确的假设
如果训练数据中包含错误会怎样?比如,以上 例子中第二个样例被错误地标示为一反例。这种情况下,很不幸,算法肯定会从变型空间中删除正确的目标概念。因为它会删除所有与样例不一致的假设,所以在遇 到这一错误的反例时,算法将从变型空间中移去正确的目标概念。当然,如果给定足够的训练数据,最终,我们会发现S和G边界收敛得到一个空的变型空间,从而得知训练数据有误。空的变型空间表示H中没有假 设能够与样例一致。相似的情形会出现在另一种环境中:当训练样例正确,但目标概念不能由假设表示方式所描述(比如目标概念是某几个属性特征的析取,而假设 空间只支持合取的形式)。以后我们将详细考虑这些可能性。目前,我们只考虑样例数据是正确的并且目标概念确实在假设空间中。
2.6.2 下一步需要什么样的训练样例
到这里我们都假定训练样例由某个外部的施教 者提供。假想学习器可以主宰实验进程,下一步它要自己选择一个实例,然后从外界(自然界或一个施教者)获得该实例的正确分类结果。这一场景可分为两种情 况,一种是学习器在自然界中进行实验(如造一座新桥然后让自然界决定其是否牢固),或在一个施教者指导下学习(提出一座新桥梁的设计,然后让施教者来判断 它是否牢固)。我们这里用查询(query)来代表学习器建立的这个实例,然后由外界来对它分类。
再次考虑图2-3中所示的从EnjoySport的4个 样例中学习到的变型空间。这时学习器怎样能提出一个较好的查询?一般情况下怎样采取一种好的查询策略?显然学习器应试图在当前变型空间中选择假设,以进一 步划分该空间。因此,需要选择的实例需满足:它能被变型空间中一些假设分类为正例,另一些分类为反例。其中一个这样的实例是:
2.6.3 怎样使用不完全学习概念
Instance
|
Sky
|
AirTemp
|
Humidity
|
Wind
|
Water
|
Forecast
|
EnjoySport
|
A
|
Sunny
|
Warm
|
Normal
|
Strong
|
Cool
|
Change
|
?
|
B
|
Rainy
|
Cold
|
Normal
|
Light
|
Warm
|
Same
|
?
|
C
|
Sunny
|
Warm
|
Normal
|
Light
|
Warm
|
Same
|
?
|
D
|
Sunny
|
Cold
|
Normal
|
Strong
|
Warm
|
Same
|
?
|
2.7 归纳偏置
如上所述,在给定正确的训练样例并且保证初 始假设空间包含目标概念时,候选消除算法可以收敛到目标概念。如果目标概念不在假设空间中怎么办?是否可设计一包含所有假设的空间来解决这一困难?假设空 间的大小对于算法推广到未见实例的能力有什么影响?假设空间的大小对所需训练样例的数量有什么影响?这些都是归纳推理中的一些基本问题。这里我们在候选消 除算法中考察这些问题。然而可以看到,这里的分析中得到的结论可以应用于任意的概念学习系统。
2.7.1 一个有偏的假设空间
Example
|
Sky
|
AirTemp
|
Humidity
|
Wind
|
Water
|
Forecast
|
EnjoySport
|
1
|
Sunny
|
Warm
|
Normal
|
Strong
|
Cool
|
Change
|
Yes
|
2
|
Cloudy
|
Warm
|
Normal
|
Strong
|
Cool
|
Change
|
Yes
|
3
|
Rainy
|
Warm
|
Normal
|
Strong
|
Cool
|
Change
|
No
|
2.7.2 无偏的学习器
很显然,为了保证目标概念在假设空间中,需要提供一个假设空间,它能表达所有的可教授概念(every teachable concept)。换言之,它能够表达实例集X的所有可能的子集。一般地,我们把集合X所有子集的集合称为X的幂集(power set)。
<Sunny, ?, ?, ?, ?, ?> ∨ <Cloudy, ?, ?, ?, ?, ?>
2.7.3 无偏学习的无用性
定义: 考虑对于实例集合X的概念学习算法L。令c为X上定义的任一概念,并令Dc={<x, c(x)>}为c的任意训练样例集合。令L(xi, Dc)表示经过数据Dc的训练后,L赋予实例xi的分类。L的归纳偏置是最小断言集合B,它使任意目标概念c和相应的训练样例Dc满足:
现在看一看为什么L(xi, Dc)这一分类可由B={c∈H}、数据Dc和实例xi演绎派生。首先,注意如果假定c∈H,那么可演绎派生出c∈VSH,Dc。这一派生的条件除c∈H,还包括变型空间VSH,Dc的定义(即H中与Dc一致的所有假设集合),以及对Dc={<x, c(x)>}的定义(即与目标概念一致的训练数据)。其次,由于L(xi, Dc)是一分类,它定义为变型空间中所有假设的一致投票。因此,如果L输出分类L(xi, Dc),那么VSH,Dc中每一假设必将产生同样的分类,包括假设c∈VSH,Dc。因此c(xi)=L(xi, Dc)候选消除算法的归纳偏置概括说明如下:
Candidate Elimination Algorithm 候选消除算法
Using Hypothesis Space H: 使用假设空间H
Classification of new instance, or “don't know”: 对新实例的分类,或“无法分类”
Equivalent deductive system: 等价的演绎系统
Assertion “H contains the target concept”: 断言:“H包含目标概念”
Inductive bias made explicit: 被明确化的归纳偏置
记忆学习器没有归纳偏置。对于新实例所做的 分类能从已观察到的训练样例中演绎派生,不需要附加的前提。候选消除算法有较强的归纳偏置:即目标概念须在假设空间中能表示。由于它是有偏的,所以能够对 记忆学习器不能分类的实例进行分类。当然分类的正确性也完全依赖于归纳偏置的正确性。Find-S算法有更强的归纳偏置,除了假定目标概念须在假设空间中,它还有另一额外的归纳偏置前提:任何实例,除非它的逆实例可由其他知识逻辑推出,否则它为反例。*
2.8 小结和补充读物
n 概念学习可看作是搜索预定义潜在假设空间的过程。
n 假设的一般到特殊偏序结构可以定义在任何概念学习问题中,它提供了一种有用的结构以便于假设空间的搜索。
n Find-S算法使用了一般到特殊序,在偏序结构的一个分支上执行的一般到特殊搜索,以寻找与样例一致的最特殊假设。
n 候选消除算法利用一般到特殊序,通过渐进地计算极大特殊假设集合S和极大一般假设集合G计算变型空间(即所有与训练数据一致的假设集)。
n 由于S和G从 整个假设集合中划分出了与训练数据一致的那部分集合,它们提供了对目标概念的不确定性描述。含有多个假设的变型空间可以用来判断学习器是否已收敛到了目标 概念;判断训练数据是否不一致;产生查询以进一步精化变型空间;以及确定未见过的实例是否能用不完全学习到的概念来无歧义地分类。
n 变型空间和候选消除算法为研究概念学习提供了一种有用的框架,然而这一算法缺少鲁棒性,特别是在遇到有噪声的数据以及目标概念无法在假设空间中表示的情况下。第10章描述了几种基于一般到特殊序关系的概念学习算法,它们能够处理有噪声数据。
n 归纳学习算法能够对未见数据进行分类,是因为它们在选择一致的假设时隐含的归纳偏置。候选消除算法中的偏置为:目标概念可以在假设空间中找到(c∈H)。输出的假设和对后续实例的分类可由这一前提及训练样例演绎推出。
n 如果假设空间被扩展,使对应实例集的每一个子集(实例的幂集)都有一个假设,将使候选消除算法中的归纳偏置消失。然而,这也将消除其对新实例分类的能力。无偏的学习器无法对未见样例进行归纳。
<?, Cold, High, ?, ?, ?>∨<Sunny, ?, High, ?, ?, Same>
+ < <male brown tall US>, <female black short US> >
+ < <male brown short French>, <female black short US> >
- < <female brown tall German>, <female black short Indian> >
+ < <male brown tall Irish>, <female brown short Irish> >
+ < <male black short Portuguese> <female blonde tall Indian> >
Machine Learning 机器学习相关推荐
- Machine Learning机器学习公开课汇总
机器学习目前比较热,网上也散落着很多相关的公开课和学习资源,这里基于课程图谱的机器学习公开课标签做一个汇总整理,便于大家参考对比. 1.Coursera上斯坦福大学Andrew Ng教授的" ...
- Machine Learning学习(一)Overview of machine learning机器学习概述
目录 Welcome to machine learning Applications of machine learning Welcome to machine learning Welcome ...
- Useful Things To Know About Machine Learning (机器学习中一些有用的知识)
Useful Things To Know About Machine Learning 原文作者:Jason Brownlee 原文地址:https://machinelearningmastery ...
- Machine Learning | 机器学习简介
什么是机器学习 机器学习是人工智能的一个分支.人工智能的研究是从以"推理"为重点到以"知识"为重点,再到以"学习"为重点,一条自然.清晰的脉 ...
- When Cyber Security Meets Machine Learning 机器学习 安全分析 对于安全领域的总结很有用 看未来演进方向...
链接:http://ucys.ugr.es/jnic2016/docs/MachineLearning_LiorRokachJNIC2016.pdf https://people.eecs.berke ...
- Machine Learning | (2) sklearn数据集与机器学习组成
Machine Learning | 机器学习简介 Machine Learning | (1) Scikit-learn与特征工程 Machine Learning | (2) sklearn数据集 ...
- Machine Learning:如何选择机器学习算法?
2019独角兽企业重金招聘Python工程师标准>>> Machine Learning Algorithms Overview 关于目前最流行的一些机器学习算法,建议阅读: Mac ...
- Machine Learning -- 揭开机器学习的面纱
揭开机器学习的面纱 1. 何为机器学习? 2. 机器学习的前世今生 3. 机器学习的常用算法 4.机器学习的分类 4.1 按照学习方式类 4.1.1 监督学习 4.1.2 无监督学习 4.1.3 强化 ...
- Machine Learning | (12) 非监督学习-k-means
Machine Learning | 机器学习简介 Machine Learning | (1) Scikit-learn与特征工程 Machine Learning | (2) sklearn数据集 ...
最新文章
- R语言ggplot2可视化添加希腊字母标签:图表题(title)中加入希腊字母、图中加入希腊字母标签
- Gartner:中国CIO们正将IT预算投向数字化
- android如何查看分区信息,android如何查看分区信息
- leetcode算法题--反转链表 II★
- 通过自定义资源扩展Kubernetes
- vue的递归组件以及三级菜单的制作
- Objective-C策略模式(Strategy)
- iphone录屏没内部声音_安卓手机如何录屏?手机高清录屏指南
- 数据库备份checksum选项你会用么?
- node-js由浅入深教程
- tomcat重启时出现:严重: Error filterStart
- mysql八大知识点_MySQL索引八大法则之上篇
- 4399小游戏怎样下载到本地玩
- 马斯克在推特说特斯拉股价太高导致大跌 会被罚吗
- 【YOLACT】测试自己数据集
- numpy.random.normal函数
- 深入浅出对抗性机器学习(AML)
- 免费的人事管理软件?好用的人事管理软件有哪些呢?
- python爬虫 豆瓣电影
- 前端与后端的区别(保姆级整理-很详细-2021-05-26)
热门文章
- 【桌游】微信小程序——线下桌游预约
- 二叉树的递归遍历及非递归遍历
- mipi传输距离3米_HDMI信号远距离如何实现传输?
- 【一】软件测试的起源与发展介绍
- 修改ntoskrnl.exe的方法
- Nginx系列1: 正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡
- vim autoformat php,Vim 之 vim-autoformat 自动切换使用本地或全局eslint
- Visio图标下载链接
- 华为 android 菜单键,没有返回和菜单键!华为P10的Home键简单说明
- 将内网网站发布上线【免服务器】