编辑推荐
适读人群 :职场人士 管理者 人工智能专家米罗斯拉夫?库巴特教授25年倾心打造
系统解读了有关机器学习的14个方面,快速读懂机器学习
全面揭开机器学习的奥秘
本书系统全面,既可以自学又可以作为研究参考。既道出了机器学习的前世今生,又展望了发展的未来,让道听途说的信息止于智者。全面讨论机器学习方法和技术,层次合理、叙述清晰、难度适中。涵盖了经典的机器学习算法和理论,同时补充了近年来新出现的机器学习方法。
内容简介
这本书通过给出易操作的实践指导、采用简单的例子、激励学生讨论有趣的应用问题,用一种易于理解的方式介绍了机器学习的基本思想。本书主题包括贝叶斯分类器、近邻分类器、线性和多项式分类器、决策树、神经网络以及支持向量机。后面的章节展示了如何把这些简单工具通过“提升”(boosting)的方式结合起来,怎样将它们应用于更加复杂的领域,以及如何处理各种高级的实践问题。其中有一章介绍了广为人知的遗传算法。
作者简介
米罗斯拉夫·库巴特,美国迈阿密大学教授,从事机器学习教学和研究超过25年。他已发表100余篇经过同行评审的论文,与人合编了两本著作,是近60个会议和研讨会的程序委员会委员,并担任3本学术刊物的编委。他在两个方面的前沿研究上得到了广泛赞誉:时变概念的归纳学习和在非平衡训练集上的学习。此外,在多标签样例上的归纳学习、层次组织的类别上的归纳学习、遗传算法、神经网络的初始化等问题上,他也做出了很多贡献。
精彩书评
本书组织完备,每一节都有一个“你学到了什么”的小结,每一章都有简明扼要的总结及历史简评,并提供了大量的练习。全书章节都有经过精心选择和设计的例子,以帮助读者理解每一个概念。通过阅读本书,我学到了很多机器学习的基本知识。
——雅克·凯瑞特 |《计算评论》
米罗斯拉夫·库巴特所著的这本《机器学习导论》更像是一本科普性质的读物,作者尽量避开复杂的数学公式,用生动形象的方式介绍机器学习算法,而且本书篇幅适当,又涵盖了几乎所有基本的机器学习方法,使得本书不仅适合作为本科学生机器学习课的教材,也适合想了解机器学习入门知识的普通读者。
——刘成林|中国科学院自动化研究所副所长、模式识别国家重点实验室主任
目录
推荐序
前言
第1章 一个简单的机器学习任务//
1.1训练集和分类器//
1.2一点题外话:爬山搜索//
1.3机器学习中的爬山法//
1.4分类器的性能//
1.5可用数据的困难//
1.6总结和历史简评//
1.7巩固你的知识//
第2章 概率:贝叶斯分类器//
2.1单属性的情况//
2.2离散属性值的向量//
2.3稀少事件的概率:利用专家的直觉//
2.4如何处理连续属性//
2.5高斯钟形函数:一个标准的概率密度函数//
2.6用高斯函数的集合近似概率密度函数//
2.7总结和历史简评//
2.8巩固你的知识//
第3章 相似性:最近邻分类器//
3.1k近邻法则//
3.2度量相似性//
3.3不相关属性与尺度缩放问题//
3.4性能方面的考虑//
3.5加权最近邻//
3.6移除危险的样例//
3.7移除多余的样例//
3.8总结和历史简评//
3.9巩固你的知识//
第4章 类间边界:线性和多项式分类器//
4.1本质//
4.2加法规则:感知机学习//
4.3乘法规则:WINNOW//
4.4多于两个类的域//
4.5多项式分类器//
4.6多项式分类器的特殊方面//
4.7数值域和支持向量机//
4.8总结和历史简评//
4.9巩固你的知识//
第5章 人工神经网络//
5.1作为分类器的多层感知机//
5.2神经网络的误差//
5.3误差的反向传播//
5.4多层感知机的特殊方面//
5.5结构问题//
5.6径向基函数网络//
5.7总结和历史简评//
5.8巩固你的知识//
第6章 决策树//
6.1作为分类器的决策树//
6.2决策树的归纳学习//
6.3一个属性承载了多少信息//
6.4数值属性的二元划分//
6.5剪枝//
6.6将决策树转换为规则//
6.7总结和历史简评//
6.8巩固你的知识//
第7章 计算学习理论//
7.1PAC 学习//
7.2PAC可学习性的实例//
7.3一些实践和理论结果//
7.4VC维与可学习性//
7.5总结和历史简评//
7.6巩固你的知识//
第8章 几个有帮助的案例//
8.1字符识别//
8.2溢油检测//
8.3睡眠分类//
8.4脑机界面//
8.5医疗诊断//
8.6文本分类//
8.7总结和历史简评//
8.8巩固你的知识//
第9章 投票组合简介//
9.1“装袋”方法(Bagging)//
9.2夏皮尔提升(Schapire�餾 Boosting)//
9.3Adaboost——Boosting的实用版本//
9.4Boosting方法的变种//
9.5Boosting方法的计算优势//
9.6总结和历史简评//
9.7巩固你的知识//
第10章 了解一些实践知识//
10.1学习器的偏好//
10.2不平衡训练集//
10.3语境相关域//
10.4未知属性值//
10.5属性选择//
10.6杂项//
10.7总结和历史简评//
10.8巩固你的知识//
第11章 性能评估//
11.1基本性能标准//
11.2精度和查全率//
11.3测量性能的其他方法//
11.4多标签域内的性能//
11.5学习曲线和计算开销//
11.6实验评估的方法//
11.7总结和历史简评//
11.8巩固你的知识//
第12章 统计显著性//
12.1总体抽样//
12.2从正态分布中获益//
12.3置信区间//
12.4一个分类器的统计评价//
12.5另外一种统计评价//
12.6机器学习技术的比较//
12.7总结和历史简评//
12.8巩固你的知识//
第13章 遗传算法//
13.1基本遗传算法//
13.2单个模块的实现//
13.3为什么能起作用//
13.4过早退化的危险//
13.5其他遗传算子//
13.6高级版本//
13.7k-NN 分类器的选择//
13.8总结和历史简评//
13.9巩固你的知识//
第14章 增强学习//
14.1如何选出最高奖励的动作//
14.2游戏的状态和动作//
14.3SARSA方法//
14.4总结和历史简评//
14.5巩固你的知识//
参考文献//
精彩书摘
遗传算法是一个通用的一般框架,有无数可能的变化。本节将介绍两种有趣的技术。
拉马克(Lamarckian)选择的说明。计算机程序不像生物学那样会受到限制。设计者常抛弃这些限制,就像早期飞行员抛弃了羽毛翅膀的想法那样。在创造“永生”样本时我们就违反过限制,把样本直接复制进后代从而免受到重组和变异的破坏。接下来再看看另一种情况。
在基准遗传算法中,新的子串只能在重组和变异的随机过程中产生。在这之后,遗传信息在样本整个生命周期中都将保持不变。一个比达尔文更早的生物学家让-巴蒂斯特·拉马克(Jean-Baptiste Larmarck)的想法更加灵活:他认为生物体的进化是受需求驱动的。长颈鹿为了能吃到高处的树叶而不停地伸脖子,于是脖子变长,长脖子这一进化又遗传给后代。尽管拉马克的假说在生物学里被认为是不成立的,但是在其他领域并不是完全没有用。例如,研究人员可通过发表科学论文把知识传递给后来人。
相比经典的达尔文进化过程,拉马克的进化过程要快得多,这就是为什么我们要在遗传算法中实现它的原因。把这个概念并入到图13.1所示的循环中的最简单的办法是把“拉马克”算子放在“幸运轮”和重组算子之间。拉马克算子的任务是通过适应性来改善染色体。例如,我们可以设问,如果某一位产生了变异会发生什么?因为变异是不可逆的,所以我们可以在变异过程中更灵活一些,先测试当第i位翻转后将发生什么,然后选择较好的版本。
多种群搜索。多种群搜索要和遗传算法依靠的多参数一起进行。大多数时候要靠个人的经验,另外也可以在相同的初始种群上并行地运行多个遗传算法,每个都有各自的变异频率、是否逆序变异、不同的重组算子的组合或修改过的适应度函数。在这些情况中,有一些搜索能更快地找到解。
回忆一下在讨论过早退化那一节曾提到的多种群搜索。在那里建议让两个或多个种群在相对隔绝的情况下独立进化,偶尔允许异种杂交。而如果种群使用了本文前面提到的不同的染色体定义,则这种杂交可能不容易实现。这时编程人员需要使用专门的程序实现一种编码向另一种编码的转换。
数据串,符号串。染色体编码不需要必须是二进制位串,也可以是数字串或字符串。前面提到的重组算子都可以用于这两种编码形式,但变异算子需要做些改变。在数字串中最常见的变异是用“噪声”叠加到部分(或全部)染色体的“基因”上。例如,如果所有的位置包含区间[0,100]的数字,于是噪声就可以建模为区间[-a,+a]的随机数,其中a是用户指定的参数,类似于前面二进制串中的变异频率。它的工作原理见下表:
……
前言/序言
目前,机器学习慢慢走向成熟。你可能觉得这只是老生常谈,请让我做一个详细说明。
人们希望机器某一天能够自己学习,这个梦想几乎在计算机出现时就有了,也许更早。不过,长久以来,这仅仅是一个想象而已。罗森布拉特(Rosenblatt)感知器的提出曾经掀起过一股热潮,但是现在回想起来,这股热潮没能持续很长的时间。至于接下来的尝试,使情况发展得更糟糕,这个领域甚至没有再引起人们的注意,长期被忽视,因而无法取得重大突破,也没有这一类的软件公司,后续研究寥寥无几且得到的资金支持也不多。这个阶段,机器学习一直不被看好,像进入休眠期一样,在其他成功学科的阴影里生存。
然而,接下来发生的一切使这些颓势彻底改变了。
一群有识之士指出,在20世纪70年代的人工智能领域,基于知识的系统曾经风靡一时,但它们有一个弱点:“知识”从哪里来?当时主流的观点认为,应该让工程师和领域专家合作,用if-then的形式表示出来。但是实际情况差强人意,专家们发现很难把掌握的知识表达给工程师。反过来,工程师也不知道该问什么问题以及如何表示答案。尽管有几个广为人知的成功案例,但是其他大多数研究都试图建立知识库,并且成千上万的规则令人沮丧。
这些有识之士主张简单和直接的操作。如果难以准确地告诉机器如何处理某个问题,那么为什么不间接地给出指令,通过例子展示所需要的技能,计算机将通过这些例子来学习!
当然,这必须要有能够进行学习的算法才有意义,这也是困难所在。无论是罗森布拉特的感知器还是后来出现的技术都不太管用。然而,机器学习在技术方面的缺乏算不上是障碍,相反是一个挑战,并激发出了很多绝妙的点子。其中,使计算机有学习能力这个想法开创了一个激动人心的新领域,并引起了世人的关注。
这一想法在1983年爆发了。一卷很厚的论文集——《机器学习:人工智能的方法》�…� 米切尔斯基(R. Michalski), 卡波内尔(J. Carbonell), 米切尔(T. Mitchell)编辑。
�� T.Mitchell.Machine Learning[M].New York:McGraw-Hill,1997.中提出了很多各式各样的方法来求解这个谜题。在它的影响下,几乎一夜之间一个新的学科诞生了。3年后,后续著作一本接一本地出现。相关学术刊物也很快被创立,有着巨大影响力的年度学术会议相继召开。几十、或许是几百篇博士论文完成并通过答辩。
早期阶段,问题不仅是如何学习,而是学什么和为什么学。这段充满创造力的岁月让人难以忘怀,唯一有些遗憾的是很多非常好的想法后来被放弃了。实用主义占了上风,资源都被投向那些最有希望的方向。经过一段时间的发展,具体研究基本成形:知识系统if-then规则的归纳,分类归纳,程序基于经验来提高技能,Prolog程序自动调优,以及其他方面。相关的研究方向非常多,一些知名学者希望通过写书来引领未来的发展,这其中有些人做得很成功。
机器学习发展的一个重要的转折点是汤姆·米切尔(Tom Mitchell)的传奇教科书�ⅰ8檬橄虿┦可�和科学家们总结了该领域的发展现状,慢慢地大学也用这本书作为研究生的教材。同时,研究方法也变得更加系统化。大量机器学习测试库被建立起来,用于比较性能或者学习算法的优劣。统计评估方法也被广泛地使用在评估过程中。相关流行程序的公开版本很容易获得,从事这个学科的人数增至数千,甚至更多。
现在,到了很多大学都为本科生开设机器学习课程的阶段。通常这些课程需要不同类型的教材。除了掌握基本技术以外,学生还需要了解不同方法的优点和缺点,以及不同情况下每种方法的独特之处。最重要的是,他们需要理解在特定情况下,哪些技术是可行的,哪些是不可行的。只有这样才能在解决具体问题时做出正确的选择。一本教材除了满足以上的各项要求外,还应该介绍一些数学概念,多包括一些实用的建议。
关于教材,还要考虑材料的多少、结构以及风格,以便能够支持一个学期的导论课程。
第一个问题是材料的选择。当高科技公司准备成立机器学习研究团队时,大学就要向学生传授相应的知识和技能,以及对有关行业需求的理解。出于这个原因,本书重点介绍了贝叶斯分类器,最近邻分类器,线性和多项式分类器,决策树,神经网络的基础,以及提升(Boosting)算法的原理。本书用很大篇幅来描述具体应用的典型特征。在现实中,当面对有一定难度的任务时,一些基本方法和老师在实验环境下演示的结果可能不完全一样。因此在学习过程中,学生必须知道每种方法会发生什么。
本书共包括14章,每章覆盖一个专题。各章分成很多个小节,每节介绍一个关键问题。建议学生在做完每一节后面的2~4个“控制问题”后再学习下一节。这些问题用来帮助检查学生对学习材料的掌握情况。如果不会做这些题,则有必要重新阅读相关内容。
俗话说,实践出真知。每章结尾安排了必要的练习用于实际操作。如果接下来的思考实验能够全部完成,将有助于更深入地理解所学内容的各个方面。不过这些实验难度较大,只有付出很大努力才能获得正确的答案。所学的知识在上机实验中可被进一步巩固。编程对于学习同样也很重要。现在,人们都习惯从网上下载所需的程序,这是捷径,但本书不建议这样做,因为只有具体实现了程序的全部细节,才能领会机器学习技术的精妙之处。
机器学习是人工智能领域的一个重要分支,其研究涉及代数、几何、概率统计、优化、泛函分析、图论、信息论、算法、认知计算等多个学科的知识,其应用不仅仅限于模式识别、计算机视觉、数据挖掘、生物信息学、智能控制等科学和工程领域,甚至在社会科学领域的研究中也有应用,如管理学、经济学和历史学等。目前,随着计算机科学和智能科学技术的进步,机器学习得到了快速发展,其方法被广泛应用到了各个领域。尤其是近些年,深度学习方法快速发展并在多个领域展示出优异性能,使机器学习和整个人工智能领域受到极大的关注。
机器学习是基于已有数据、知识或经验来设计模型或发现新知识的一个研究领域。20世纪50~70年代是机器学习研究的初期,人们基于逻辑知识表示试图给机器赋予逻辑推理能力,取得了很多振奋人心的成果;20世纪80年代,专家系统受到高度重视,为专家系统获取知识成为一个重要方向。20世纪80年代中后期,人工神经网络由于误差反向传播(BP)算法的重新提出和广泛应用而形成一股热潮,但其地位在90年代后期被以支持向量机为核心的统计学习理论所取代。20世纪90年代以后,受重视的机器学习方法还有集成学习、概率图模型、半监督学习、迁移学习等。2006年,以加拿大多伦多大学的G. Hinton教授为代表的几位研究人员在深度学习方面取得巨大突破,在Google、Microsoft、Facebook等科技公司的推动下,深度学习借助于大数据和高性能计算的有利条件得到了广泛应用和高度关注。目前,搜索引擎、机器人、无人驾驶汽车等高科技产品都依赖于机器学习技术。机器学习,特别是深度学习,在语音识别、人脸识别、围棋、游戏等方面已经超过了人类水平,可以想象机器学习与人类的生产、生活之间的关系将会越来越紧密。
过去几十年,机器学习领域也出现了一些经典的著作或教材。1983年,R.Michalski、J.Carbonell和T. Mitchell主编的《机器学习:一种人工智能方法》一书出版,标志着机器学习成为人工智能的一个独立研究领域。《Machine Learning》期刊创刊于1986年,目前依然是机器学习领域的顶级期刊。1990年,J.Carbonell主编的《机器学习:范式与方法》对归纳学习、基于解释的学习、遗传算法和连接主义学习等机器学习范式及方法进行了深入探讨。T. Mitchell于1997年出版的《机器学习》是一本经典的机器学习教材,其中文版已于2003年由机械工业出版社出版,但因为出版年限较早,许多内容已没有时效性。1998年,V. Vapnik出版的《统计学习理论》是一本完整阐述统计机器学习思想的名著。2001年出版、2009年再版的《统计学习基础:数据挖掘,推理和预测》是美国斯坦福大学教授T. Hastie,R. Tibshirani和J. Friedman的一部力作,其中对最为流行的机器学习方法进行了全面而深入的介绍,因其严谨的数学推导,该书不失为机器学习研究进阶的很好的读物。E. Alpaydin所著的《机器学习导论》出版于2004年并于2010年再版,书中对基础的机器学习方法进行了介绍,是一本机器学习入门的很好的教材。C. Bishop所著的《模式识别与机器学习》和K. Murphy所著的《机器学习:一个概率的视角》分别于2006年和2012年出版,两本书都从概率的角度全面而细致地介绍了许多经典的机器学习模型。C. Bishop的《模式识别与机器学习》可帮助读者打下坚实的机器学习基础,而K. Murphy的书则相对介绍了更多较新的机器学习算法,甚至有一章专门介绍了深度学习方法。2012年,李航老师出版了《统计学习方法》,2016年,周志华老师出版了《机器学习》。这两本书中,《统计学习方法》主要集中于几种重要机器学习模型的介绍,而《机器学习》内容相对更加全面,深入浅出,堪称机器学习的中文经典著作。相对于以上这些机器学习书籍,M. Kubat所写的这本《机器学习导论》更像是一本科普性质的读物,作者尽量避开复杂的数学公式,用生动形象的方式介绍机器学习算法,而且本书篇幅适当,又涵盖了几乎所有基本的机器学习方法,使得本书不仅适合作为本科学生机器学习课程的教材,也适合于想了解机器学习入门知识的普通读者。
本书的译者都是工作在机器学习教学与研究第一线的年轻老师,其中仲国强副教授过去是我的博士研究生,在模式识别和机器学习领域都有很扎实的研究基础。相信本书的中译本对于国内机器学习的教学和研究都会有所裨益,也为更多的人,尤其是初学者了解机器学习打开一扇门。
中国科学院自动化研究所副所长、模式识别国家重点实验室主任
刘成林
机器学习导论 epub pdf mobi txt 电子书 下载 2024
机器学习导论 下载 epub mobi pdf txt 电子书 2024