本书是关于机器学习的综合性教程,涵盖全部基础知识和理论,涉及不同应用领域的技术和算法。书中提出,机器学习背后的大多数想法都是简单且直接的。为了鼓励读者在实践中理解机器学习算法,本书提供一个配套平台,利用自我学习的机器学习项目,再结合一些基准测试应用的数据集,通过实验比较书中介绍的各类算法,从而实现深入理解。本书对于入门阶段的研究生和学者非常有益,会为进一步的深入研究打好基础。此外,本书也适合对机器学习感兴趣的工程师和其他技术人员阅读。
无
在过去的20年中,机器学习领域已成为信息技术的支柱之一。研究人员已经开发了许多成功的机器学习应用程序,例如:制造业中用于装配线自动化的机器视觉(图像处理),生物识别,手写识别,医学诊断,语音识别,文本检索,自然语言处理,等等。今天的机器学习如此普遍,你可能每天都会使用几次,而不知道它的存在。这种“普遍存在的”或“不可见的”用法的示例包括搜索引擎、客户自适应Web服务、电子邮件管理器(垃圾邮件过滤器)、计算机网络安全等。我们正在重新思考自己一直在做的所有事情,目的是使用机器学习工具以不同的方式实现这些应用,以获得更大的成功。
许多组织经常捕获大量的描述其运营、产品和客户的历史数据。与此同时,科学家和工程师正在捕捉越来越复杂的数据集。例如,银行正在收集大量客户数据,以分析人们如何花钱;医院正在记录患者接受哪些治疗和治疗的时间段(以及他们的应对措施);汽车中的发动机监控系统正在记录有关发动机的信息,以便检测发动机何时可能发生故障;世界各地的天文台正在存储令人难以置信的高分辨率夜空图像;医学科学正在存储通过各种测量(如核磁共振成像(MRI)扫描和简单的血液测试)获得的医学测试结果;生物信息学正在存储大量数据,用来测量DNA微阵列中的基因表达;等等。机器学习领域解决了如何最好地利用这些历史数据来发现一般模式并改进决策过程的问题。
学习领域中的术语非常多样化,并且通常类似的概念却命名不同。在本书中主要采用术语机器学习(machine learning)来描述各种概念,可是诸如机器智能、模式识别、统计学习、数据挖掘、软计算、数据分析(在商业环境中应用时)的术语也会出现在不同的场景下。
在构成机器学习领域基础的理论和算法方面,我们取得了重要进展。本教材的目标是介绍该理论的基本概念,以及可应用于不同问题的各种技术(算法)。许多机器学习算法并未包含在本书中,而这些算法在特定情况下非常有效。但是,这些算法几乎都是对本书中包含的算法的改编,通过自学将很容易获得所需的知识。
基本上,有两种方法可用于理解机器学习领域。在第一种方法中,我们将机器学习技术视为“黑匣子”,并专注于理解感兴趣的问题(任务):将这些任务与机器学习工具相匹配并评估输出的质量。这为我们提供了实际案例研究中机器学习的实践经验。随后,我们通过检查机器学习算法深入研究这个黑盒子的组件(理论原理驱动的讲解对于机器学习是有效的)。第二种方法是从理论开始,接下来是实践经验。
本书采用的是第二种方法。我们专注于机器学习理论。对于实践经验,我们提供一些机器学习项目供读者自主学习。
在本书中,读者不仅可以获得关于机器学习的理论基础,还可以获得快速有效地将这些技术应用于挑战性问题所需的实用方法:学习如何概念化一个问题,了解如何表示数据,选择和调优算法,能够恰当地解释结果,对结果进行有效分析以制定决策。鉴于机器学习背后的大多数想法非常简单明了,本书在非严格的数学环境中提出机器学习概念和技术,重点是使用机器学习来解决实际问题的有效方法。这是一本关于机器学习的综合性书籍,涵盖了广泛的主题,特别强调那些有用的技术(算法),并有效利用了现有的知识库。
机器学习借鉴了许多领域的概念和技术,包括计算统计学(旨在设计用于在计算机上实施统计方法的算法的学科)、人工智能、信息论、数学优化、生物学、认知科学和控制理论。本书的主要目标是用一本书实现对该领域的广泛描述。书中根据需要介绍了各个领域的基本概念,重点关注与机器学习最相关的那些概念。尽管书中已经给出了所需的材料,但是了解概率、统计和线性代数对于学习本书将是有用的。
本书介绍的第一代机器学习算法,已被证明在具有数值特征的各种实际应用中具有重要价值。但是,这些算法也有很大的局限性,例如,虽然有些学习算法可用于对图像、文本或语音进行分类,但我们仍然缺乏有效的算法来学习由这些不同媒体的组合所表示的数据。此外,虽然大多数学习算法在具有数万个训练样例的数据集上表现良好,但许多重要数据集明显更大。互联网和企业内部网上可用数据的体量和差异(结构化/非结构化)非常大并且增长迅速。扩展到复杂的、非常大的数据集——大数据分析——可能是当前争论最多的问题。鉴于这些和其他限制(尽管这些限制有很大的商业利益),我们可能期望在接下来的10年中,在现有技术水平上产生跨越数量级的进步。深度学习算法正在成为非常强大的下一代工具。与大多数其他技术领域一样,数据挖掘存在于不断变化的环境中,不仅重新定义了蓝图的老旧部分,而且在新的兴趣领域始终处于领先地位。
本书解释了所有学习算法,以便学生可以轻松地从书中的等式转移到计算机程序。免费软件的扩散使机器学习更容易实施,也将有助于项目工作。机器学习库的多样性意味着学生有机会选择可使用的编程语言或环境。
有许多机器学习网站提供有关机器学习软件的信息。一些流行的软件源是R、SAS、Python、Weka、MATLAB、Excel和Tableau。
本书不推广任何特定的软件。书中包含了大量示例,但我们使用的示意数据集足够小,以便读者可以在没有软件帮助的情况下跟踪正在发生的事情。真实数据集太大且无法展示。选择本书中的数据集并不是为了说明真实的大规模实际问题,而是为了帮助读者理解不同技术的作用,以及它们的工作原理和应用范围。这就解释了为什么必须重点关注项目工作。每个项目都必须处理大规模的实际问题。使用领域知识来制定机器学习设置中的问题,并且对机器学习算法给出的结果做出解释,是培训学生的重要因素,此外还有机器学习软件的培训。本书提供了实践的必要要素——概念和技术,但真实的实践将通过项目工作来解决现实生活中的问题。
在大学中,本书适用于计算机科学和所有工程学位的本科生入门课程。讲授这样的入门课程将需要对本书内容进行适当的选择。课程的设计必须非常注重项目工作,这样当学生完成课程后,他应该做好了充分准备,可使用机器学习来解决新问题。
研究生和博士研究生在针对他们的具体领域进行深入理论研究之前,会在本书中找到对该主题有用的初步知识。
本书同样面向一大批专业读者:工程师、科学家和业务经理。随着机器学习和深度学习被预测成为技术的下一个“大满贯”,几乎所有领域的专业人员都至少需要了解机器学习的基础知识。
希望读者能够分享我对机器学习的兴奋,并发现这本书的有用之处。
M. 戈帕尔
mgopal. iitd@gmail.com
计算机\人工智能
本书全景式呈现了机器学习领域的基础理论,以及将这些技术应用于实际问题的有效方法。全书以应用为视角,从机器学习的核心原理和算法入手,深入浅出地讨论了常见的学习任务和模型,以及在应用机器学习时可能会面临的问题及解决办法。书中既包括对数学基础知识的铺垫介绍,也涉及商业应用领域的扩展,同时对数据工程、数据挖掘、大数据系统等进行了纵向关联的描述。
本书特色
专注于机器学习理论,在非严格的数学环境中阐明概念和算法,重点是应用机器学习解决实际问题的方法,包括数据表示、选择和调优算法、解释结果并制定决策等。
精选核心算法进行介绍,在面临特定领域的问题时,可在核心技术的基础上,结合领域知识对算法进行适当的修改,从而满足不同需求,进一步提高应用能力。
采用便于理解的示意数据集,同时提供“机器学习自学项目”和真实应用数据集,涉及乳腺癌诊断、手写数字的光学识别和股市指数预测等,帮助读者积累实践经验。
作者简介
M. 戈帕尔(M. Gopal) 机器学习领域的知名学者,曾任印度理工学院教授,拥有40余年的教学及研究经验,感兴趣的方向为机器学习、模式识别和智能控制。他的教材和视频课程在全球范围内被广为采用,是YouTube上颇受欢迎的课程之一,学生数以百万计。
译者简介
黄智濒 计算机系统结构博士,北京邮电大学计算机学院讲师。长期从事机器学习、超大规模并行计算、GPU加速计算以及三维计算机视觉和深度学习架构方面的研究。
杨武兵 博士,中国航天空气动力技术研究院研究员,长期从事计算空气动力学、流动稳定性和湍流等方面的研究。其团队长期致力于用深度神经网络和各类机器学习方法,研究基于大涡模拟和直接数值模拟的流场流动结构的智能识别技术,推进人工智能在空气动力学领域的应用。
[印]M. 戈帕尔(M. Gopal) 著:---作者简介---
M. 戈帕尔(M. Gopal) 机器学习领域的知名学者,曾任印度理工学院教授,拥有40余年的教学及研究经验,感兴趣的方向为机器学习、模式识别和智能控制。他的教材和视频课程在全球范围内广为采用,是YouTube上颇受欢迎的课程之一,学生数以百万计。
---译者简介---
黄智濒 计算机系统结构博士,北京邮电大学计算机学院讲师。长期从事机器学习、超大规模并行计算、GPU加速计算以及三维计算机视觉和深度学习架构方面的研究。
杨武兵 博士,中国航天空气动力技术研究院研究员,长期从事计算空气动力学、流动稳定性和湍流等方面的研究。其团队长期致力于用深度神经网络和各类机器学习方法,研究基于大涡模拟和直接数值模拟的流场流动结构的智能识别技术,推进人工智能在空气动力学领域的应用。
机器学习是一门多领域交叉学科,涉及线性代数、概率论、统计学、模糊数学、逼近论、凸分析、算法等多门学科。随着深度学习/机器学习在一些应用领域(例如自然语言理解、模式识别、计算机视觉、智能机器人等)的成功应用,激起全社会学习人工智能和机器学习的热潮。在大数据和强大的算力支持下,机器学习全面走向应用阶段。
但是,如何有效应用机器学习?如何处理在实际应用机器学习时面临的各类问题?特别是数据预处理问题,连续数值数据与离散分类数据问题,数据缺失问题与异常值问题,各类机器学习算法的适用性问题,机器学习的性能评估问题,各类机器学习算法的核心原理和有效性问题等,这些问题都是困扰机器学习初学者,甚至是中级学习者的难题。
本书从应用指导的视角,从机器学习的核心原理和核心算法入手,深入浅出地介绍了常见的机器学习任务和模型,以及在应用机器学习时可能会面临的各种实际问题及其解决方法,既有数学基础的铺垫介绍,又有商业应用领域的扩展,同时对数据工程、数据挖掘、大数据系统等进行了纵向关联的描述,给读者展示了机器学习的全景视图。戈帕尔博士学识渊博,本书是他数十年机器学习领域研究和应用的经验提炼,相信读者能从中受益。
虽然译者一直在从事大数据处理和机器学习应用方面的实践和科研工作,特别是在航天大数据方面的应用工作,但在翻译的过程中,依然感受到本书涉及的内容多,既有深度又有广度。译者力求准确反映原著表达的思想和概念,但受限于水平,翻译中难免有错漏或瑕疵之处,恳请读者同行批评指正,译者不胜感激。
最后,感谢家人和朋友的支持和帮助。同时,要感谢在本书翻译过程中做出贡献的人,特别是北京三帆中学黄天量,北京邮电大学董丹阳、法天昊、常霄、章靖童、徐立、傅广涛、丁哲伦和张涵等;还要感谢机械工业出版社的各位编辑,以及北京邮电大学计算机学院和中国航天空气动力技术研究院的大力支持。
黄智濒 杨武兵
智能通信软件与多媒体北京市重点实验室
2020年4月
于北京邮电大学
译者序
前言
致谢
作者简介
第1章引言
11走向智能机器
12良好的机器学习问题
13各种领域的应用实例
14数据表示
141时间序列预测
142练习数据集和现实问题数据集
15机器学习生产应用所需的领域知识
16多样化的数据:结构的/非结构的
17学习形式
171监督/直接学习
172无监督/间接学习
173强化学习
174基于自然过程的学习:进化、群智和免疫系统
18机器学习和数据挖掘
19机器学习技术中的基本线性代数知识
110机器学习的相关资源
第2章监督学习:基本原理和基础知识
21从观察中学习
22偏差和方差
23为什么学习是有效的:计算学习理论
24奥卡姆剃刀原理和防止过拟合
25归纳学习中的启发式搜索
251搜索假设空间
252集成学习
253学习系统的评估
26泛化误差估计
261留出法和随机子采样
262交叉验证
263自助法
27用于评估回归(数值预测)准确率的度量指标
271均方误差
272平均绝对误差
28用于评估分类(模式识别)准确率的度量指标
281误分类的误差
282混淆矩阵
283基于ROC曲线的分类器比较
29机器学习中的设计周期和问题概述
第3章统计学习
31机器学习和推断统计分析
32学习技术中的描述统计学
321表示数据的不确定性:概率分布
322概率分布的描述性度量
323数据样本的描述性度量
324正态分布
325数据相似性
33贝叶斯推理:推理的一种概率方法
331贝叶斯定理
332朴素贝叶斯分类器
333贝叶斯信念网络
34k近邻分类器
35判别函数和回归函数
351分类和判别函数
352数值预测和回归函数
353实用假设函数
36基于最小二乘误差准则的线性回归
361最小化误差平方和以及伪逆
362梯度下降优化方案
363最小均方算法
37用于分类任务的逻辑回归
38费希尔的线性判别和分类的阈值
381费希尔的线性判别
382阈值
39最小描述长度原则
391贝叶斯视角
392熵和信息
第4章学习支持向量机
41引言
42二元分类的线性判别函数
43感知器算法
44用于线性可分离数据的线性最大边距的分类器
45用于重叠类的线性软边距分类器
46核函数约简的特征空间
47非线性分类器
48支持向量机的回归器
481线性回归器
482非线性回归器
49将多元分类问题分解为二元分类任务
491一对所有
492一对一
410基本SVM技术的变体
第5章基于神经网络的学习
51走向认知机器
52神经元模型
521生物神经元
522人工神经元
523数学模型
53网络架构
531前馈网络
532循环网络
54感知器
541线性分类任务中感知器算法的局限性
542使用回归技术的线性分类器
543标准梯度下降优化方案:最速下降
55线性神经元和WidrowHoff学习规则
56误差修正的delta规则
57多层感知器网络和误差反向传播算法
571广义的delta规则
572收敛和局部最小值
573为梯度下降增加动量项
574误差反向传播算法的启发式方面
58MLP网络的多元判别
59径向基函数网络
510遗传神经系统
第6章模糊推理系统
61引言
62认知不确定性和模糊规则库
63知识的模糊量化
631模糊逻辑
632模糊集
633模糊集操作
634模糊关系
64模糊规则库和近似推理
641通过模糊关系量化规则
642输入的模糊化
643推理机制
644推断模糊集的去模糊化
65模糊推理系统的MAMDANI模型
651移动障碍物中的移动机器人导航
652抵押贷款评估
66TS模糊模型
67神经模糊推理系统
671ANFIS架构
672ANFIS如何学习
68遗传模糊系统
第7章数据聚类和数据转换
71无监督学习
72数据工程
721探索性数据分析:了解数据中的内容
722聚类分析:查找数据中的相似性
723数据转换:增强数据的信息内容
73基本聚类方法概述
731分割聚类
732层次聚类
733谱聚类
734使用自组织映射进行聚类
74K均值聚类
75模糊K均值聚类
76期望最大化算法和高斯混合聚类
761EM算法
762高斯混合模型
77一些有用的数据转换
771数据清洗
772衍生属性
773离散化数值属性
774属性约简技术
78基于熵的属性离散化方法
79用于属性约简的主成分分析
710基于粗糙集的属性约简方法
7101粗糙集基础
7102属性相关性分析
7103属性约简
第8章决策树学习
8.1引言
8.2决策树分类的例子
8.3评估决策树分裂的不纯度度量
8.3.1信息增益/熵减少
8.3.2增益比
8.3.3基尼系数
8.4 ID3、C45以及CART决策树
8.5树的剪枝
8.6决策树方法的优势和劣势
8.7模糊决策树
第9章商业智能与数据挖掘:技术和应用
9.1关于分析的简介
9.1.1机器学习、数据挖掘和预测分析
9.1.2基本分析技术
9.2CRISPDM(跨行业数据挖掘标准流程)模型
9.3数据仓库和在线分析处理
9.3.1基本概念
9.3.2数据库
9.3.3数据仓库:通用架构和OLAP操作
9.3.4数据仓库环境中的数据挖掘
9.4挖掘频繁模式和关联规则
9.4.1基本概念
9.4.2频繁模式和关联规则的强度的度量
9.4.3频繁项集挖掘方法
9.4.4从频繁项集生成关联规则
9.5智能信息检索系统
9.5.1文本检索
9.5.2图像检索
9.5.3音频检索
9.6应用和趋势
9.6.1数据挖掘应用程序
9.6.2数据挖掘趋势
9.7大数据技术
9.7.1新兴的分析方法
9.7.2更高级的可扩展的新兴技术
附录A用于搜索的遗传算法
附录B强化学习
附录C用于机器学习实验的真实生活应用的数据集
课后习题
参考文献