首页>参考读物>计算机科学与技术>计算机辅助设计与工程计算

MATLAB机器学习:人工智能工程实践(原书第2版)
作者 : [美]迈克尔·帕拉斯泽克(Michael Paluszek)斯蒂芬妮·托马斯(Stephanie Thomas)著
译者 : 陈建平 译
出版日期 : 2020-02-21
ISBN : 978-7-111-64677-8
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 313
开本 : 16
原书名 : MATLAB Machine Learning Recipes: A Problem-Solution Approach, Second Edition
原出版社: Apress
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书是关于在MATLAB中使用实例进行机器学习的综合指南。书中概述了人工智能与自动控制的历史;回顾了用于机器学习的商用软件包,并展示了它们如何应用于该领域;接着展示了如何使用MATLAB来解决机器学习问题,以及如何利用MATLAB图形技术来增强程序员对机器学习结果的理解。
本书随书提供了机器学习中若干重要问题的MATLAB完整解决方案,包括飞行控制、人脸识别、自动驾驶。书中所有的示例和应用程序都提供了完整的源代码。
机器学习包含大量的数学概念与理论解释。书中以清晰简洁的方式介绍了其中每个领域的数学知识,即使是并不经常接触数学理论的读者也可以轻松理解。工程领域的读者会看到这些数学知识与他们已经了解的领域技术之间的密切联系,并将学习到新的技术。
本书主要内容:
?如何使用MATLAB构建机器学习应用
?适用于机器学习的MATLAB可视化技术
?面向工程的机器学习应用案例

图书特色

图书前言

机器学习在每个工程学科中正变得越来越重要,比如:
1. 自动驾驶。机器学习几乎用于汽车控制系统的各个方面。
2. 等离子体物理学家借助机器学习的帮助来指导聚变反应堆的实验。实际上,TAE Systems在指导聚变实验方面取得了巨大成功。普林斯顿等离子体物理实验室已将其用于国家球形环实验,以研究核聚变发电厂的可能的候选技术。
3. 在金融领域,它应用于预测股票市场。
4. 医疗专业人员将机器学习用于医疗诊断。
5. 执法部门将其用于面部识别,并在面部识别的辅助下解决了若干犯罪行为的定罪问题!
6. 美国太空总署的深空1号航天器使用了专家系统。
7. 用自适应控制系统操纵油轮。
还有许许多多其他的例子证明了机器学习的广泛应用。
虽然可以很方便地从商业来源和开源库获得许多优秀的机器学习软件包,但是去了解一下这些算法的工作原理依然很有价值。有机会编写自己的算法是非常值得的,它可以让你有机会深入体会和了解商业与开源软件包背后的原理。
MATLAB的起源就是出于这个原因。当时,需要对矩阵进行操作的科学家使用FORTRAN来编写数值软件,要学会用计算机语言来完成编写—编译—链接—执行过程,耗时且容易出错。MATLAB向用户提供了一种脚本语言,允许用户通过几行即时执行的脚本来解决许多问题。MATLAB具有内置的可视化工具,可帮助用户更好地理解结果。显然编写MATLAB比编写FORTRAN更有效率和乐趣。
本书的目的是帮助所有用户利用MATLAB的强大功能来解决各种机器学习的问题,适用于每个对机器学习感兴趣的人。另外,本书还涵盖一些内容,可以让那些对其他技术领域感兴趣的人看到机器学习和MATLAB如何帮助他们解决专业领域的问题。
如何使用随书软件
随书软件附带一个MATLAB的工具箱,实现了本书涉及的所有例子。工具箱包含
1. MATLAB函数
2. MATLAB脚本
3. html帮助
MATLAB脚本实现了本书中的所有示例,而函数则封装了各种算法。许多函数都有内置的演示,只需在命令窗口中键入函数名称,它就会执行演示。该演示通常封装在子函数中。你可以为自己的演示复制此代码并将其粘贴到脚本中。例如,在命令窗口中键入函数名称PlotSet,将出现图1。

图1 基于函数PlotSet.m的作图示例
打开函数源代码,你可以看到内置的演示子函数:

你可以基于这些演示开始构建你自己的脚本。某些函数,比如用于数值积分的右侧函数(函数句柄作为参数),则不带演示子函数。如果键入函数名,会报错:

该工具箱根据本书的章节进行组织,文件夹名称是Chapter_01、Chapter_02等。此外,还有一个general文件夹,其中包含支持工具箱其余部分的基础函数。你还需要开源包GLPK(GNU Linear Programming Kit)来运行一些代码。Nicolo Giorgetti为GLPK编写了一个MATLAB MEX接口,该接口可在SourceForge上获得,并包含在此工具箱中。接口包括:
1. glpk.m
2. glpkcc.mexmaci64或glpkcc.mexw64等
3. GLPKTest.m
该软件包可从https://sourceforge.net/projects/glpkmex/获取。第二项是为机器编译的glpkcc.cpp的MEX文件,分别对应Mac或Windows操作系统下的文件。请到https://www.gnu.org/software/glpk/获取GLPK库并将其安装在你的系统上。如果需要,也可以下载GLPKMEX源代码,并自行基于你的操作系统进行编译。

上架指导

计算机\Matlab

封底文字

利用 MATLAB 的强大功能来解决各种机器学习挑战。本书提供了针对机器学习的一系列的技术案例,每个案例都尝试去解决一个真实世界的问题。
本书提供的所有代码都经过验证证明其可正确执行。代码被组织成一个独立的工具箱,为实现机器学习的各个方面提供了一整套函数。作者迈克尔·帕拉斯泽克(Michael Paluszek)和斯蒂芬妮·托马斯(Stephanie Thomas)展示了如何利用所有这些技术让读者能够构建复杂的应用程序,来解决诸如模式识别,自动驾驶,专家系统等问题。
通过阅读本书,读者的收获:
1. 学会为机器学习、自适应控制和估计三个方向用 MATLAB 来编写代码。
2. 理解如何把三个方向统一在一起,实现互补。
3. 理解构建鲁棒的机器学习应用,为什么这三个领域是必须的。
4. 学会如何针对机器学习,使用 MATLAB 图形和可视化工具。
5. 学会如何在真实世界中,为大型机器学习应用编写代码。

译者序

从几年前的“人工智能距离我们有多远”,到现在的言必称深度学习,人工智能在过去的几年间获得了突飞猛进的发展。大量先进的生产力工具层出不穷,TensorFlow、PyTorch、MXNet等各种深度学习框架让人目不暇接,人工智能看起来唾手可得。似乎只要掌握了框架的使用,我们就可以成为一个人工智能专家了。在概念上,机器学习替代了人工智能,深度学习替代了机器学习,深度学习好像成了人工智能的主流。在应用领域,大部分的成功案例都集中在机器视觉和自然语言处理上。当前流行的狭义的人工智能离实际工程渐行渐远。
实际上,人工智能距离工程应用就是一墙之隔。周志华在“西瓜书”中总结机器学习为“致力于研究如何通过计算的手段,利用经验来改善系统自身的性能”,从这个意义上来说,人工智能应该有更加广泛的意义和应用方向。我们希望能够从更加广泛的工程应用的角度来看待人工智能的应用和影响。人工智能首先应该是一种工程应用手段。
市场上已经有大量的书籍讨论如何掌握具体的机器学习框架,也有很多专门讨论机器学习和深度学习原理的书籍,它们大都探讨机器学习和深度学习本身,涉及如何将人工智能技术和工程应用相结合的书籍却如凤毛麟角。如何让人工智能成为现代工业的生产动力?我们之前和很多客户讨论机器学习和深度学习的时候,感兴趣者甚多,知道如何入手者甚少;知其然者多,不知其所以然者众。大家都认识到这是工业 4.0 的驱动力,却苦于不知如何跟传统工程问题结合到一起。这也是我想要翻译这本书的一个主要动机,希望对大家的工作有所帮助。
本书作者具有近20年MATLAB大型工程项目开发的实践经历和丰富的教学经验。书中全面涵盖了机器学习领域的关键技术内容,原理阐释简洁清晰,兼顾理论和实践。应用实例则以独特的“问题—方法—步骤”的形式呈现给读者,具有极强的针对性与实用性,非常便于读者以问题驱动的方式快速有效地展开学习。
本书的目的是利用MATLAB的强大功能来帮助用户从原理上学习机器学习,并用于解决具体工程问题,适用于每个对机器学习感兴趣的工程人员。

陈建平
2019年10月

推荐序

随着机器学习和深度学习技术的迅猛发展,各种开发设计工具层出不穷。在众多可供选择的工具当中(包括像Python、TensorFlow这样的开源工具),MATLAB在科学工程领域一直保持着独特的地位,是科学工作者和产品设计师开发机器学习应用的首选的可靠工具。主要原因在于以下三个方面:
MATLAB已经在科学和工程数据分析方面得到广泛的应用,是科研和工程工作者做数据分析的得力助手。
MATLAB提供的工具箱涵盖众多应用领域,包括计算金融、图像处理和计算机视觉、计算生物学、无线通信、汽车、航空航天和制造、自然语言处理,等等。
MATLAB提供AI开发的完整流程,包括数据产生、数据采集、数据预处理、特征工程、AI算法开发、系统设计、系统部署,以及整合测试,可让行业专家快速掌握AI技术开发和产品设计的各个环节。
在MathWorks公司工作的16年中,我读过不少介绍MATLAB的图书,也浏览过很多关于机器学习方面的图书,但我感觉本书是为数不多的能真正把MATLAB的内在优势和机器学习的具体应用紧密结合,从解决问题的角度系统化地讲解相关知识的书籍之一。本书的内容完整地展现了MATLAB在机器学习中最重要的功能和最有效的使用方式。作者以科研工作者所习惯的“问题—方法—步骤”的思维方式来解释每一个应用实例,既容易理解又有实用性。
本书译者陈建平拥有20多年的MATLAB的实战经验,对MATLAB的核心技术和应用技巧了如指掌。在MathWorks公司工作的11年中,他为很多应用领域的客户遇到的技术问题提供过很多解决方案。最近几年他致力于大数据和机器学习的应用,积累了丰富的实战经验和案例。他的翻译为这本书注入了新的价值。
不论你是行业专家,还是数据分析师,抑或是刚入门的机器学习爱好者,MATLAB应该是你学习、研究和开发机器学习应用的必备工具,而本书应该是你用MATLAB开发机器学习的重要指南。

赵志宏
MathWorks全球产品市场经理

图书目录

推荐序
译者序
前言
作者简介
第1章 机器学习概述 1
1.1 引言 1
1.2 机器学习基础 2
1.3 学习机 4
1.4 机器学习分类体系 5
1.5 控制 7
1.6 自主学习方法 9
1.7 人工智能 14
1.8 小结 16
第2章 用于机器学习的MATLAB数据类型 17
2.1 MATLAB数据类型概述 17
2.2 使用参数初始化数据结构 27
2.3 在图像datastore上执行mapreduce 29
2.4 从文件中创建表格 31
2.5 处理表格数据 33
2.6 使用MATLAB字符串 36
2.7 小结 38
第3章 MATLAB作图 39
3.1 二维线图 39
3.2 通用二维作图 42
3.3 定制二维图表 44
3.4 三维盒子 45
3.5 用纹理绘制三维对象 47
3.6 通用三维作图 49
3.7 构建图形用户界面 51
3.8 柱状图动画 56
3.9 画一个机器人 59
3.10 小结 61
第4章 卡尔曼滤波 63
4.1 用线性卡尔曼滤波器实现的状态估计器 64
4.2 使用扩展卡尔曼滤波器进行状态估计 80
4.3 使用无迹卡尔曼滤波器进行状态估计 84
4.4 使用无迹卡尔曼滤波器进行参数估计 90
4.5 小结 93
第5章 自适应控制 95
5.1 自调谐:振荡器建模 96
5.2 自调谐:调校振荡器 97
5.3 模型参考自适应控制的实现 102
5.4 创建方波输入 106
5.5 转子的MRAC演示系统 107
5.6 轮船驾驶:实现轮船驾驶控制的增益调度 110
5.7 航天器的指向 114
5.8 小结 116
第6章 模糊逻辑 118
6.1 构建模糊逻辑系统 119
6.2 模糊逻辑的实现 122
6.3 演示模糊逻辑 125
6.4 小结 127
第7章 用决策树进行数据分类 129
7.1 生成测试数据 130
7.2 绘制决策树 133
7.3 决策树的算法实现 136
7.4 创建决策树 139
7.5 手工创建决策树 142
7.6 训练和测试决策树 145
7.7 小结 148
第8章 神经网络入门 149
8.1 日光检测器 149
8.2 单摆建模 150
8.3 单神经元角度估计器 155
8.4 为单摆系统设计神经网络 159
8.5 小结 163
第9章 基于神经网络的数字分类 164
9.1 生成带噪声的测试图像 165
9.2 创建神经网络函数 169
9.3 训练单一输出节点的神经网络 173
9.4 测试神经网络 178
9.5 训练多输出节点的神经网络 179
9.6 小结 182
第10章 基于深度学习的模式识别 183
10.1 为训练神经网络在线获取数据 185
10.2 产生猫的训练图像集 185
10.3 矩阵卷积 188
10.4 卷积层 190
10.5 池化层 192
10.6 全连接层 193
10.7 确定输出概率 195
10.8 测试神经网络 196
10.9 识别数字 198
10.10 识别图像 200
10.11 小结 202
第11章 用于飞机控制的神经网络 203
11.1 纵向运动 204
11.2 利用数值方法寻找平衡状态 210
11.3 飞机的数值仿真 211
11.4 激活函数 213
11.5 学习控制的神经网络 214
11.6 枚举数据集 218
11.7 编写sigma-pi神经网络函数 220
11.8 实现PID控制器 222
11.9 飞机俯仰角PID控制 226
11.10 创建俯仰动力学的神经网络 228
11.11 非线性仿真中的控制器演示 231
11.12 小结 232
第12章 多重假设检验 233
12.1 概览 233
12.2 理论 235
12.3 追踪台球的卡尔曼滤波器 240
12.4 追踪台球的MHT 246
12.5 一维运动 250
12.6 轨道关联的一维运动 252
12.7 小结 255
第13章 基于多重假设检验的自动驾驶 256
13.1 汽车动力学 257
13.2 汽车雷达建模 260
13.3 汽车的自主超车控制 262
13.4 汽车动画 264
13.5 汽车仿真与卡尔曼滤波器 266
13.6 汽车目标追踪 270
13.7 小结 273
第14章 基于案例的专家系统 275
14.1 构建专家系统 276
14.2 运行专家系统 277
14.3 小结 279
附录A 自主学习的历史 281
附录B 机器学习软件 288
参考文献 298
中英文术语对照表 300

教学资源推荐
作者: 郑阿奇 主编 徐文胜 编著
作者: 江国强
作者: Peter J.Ashenden
参考读物推荐
作者: 主编 卫涛 刘依莲 高洁
作者: 李 波  郝德全
作者: 广州中望龙腾软件股份有限公司 组编 赵婷婷 刘玉峰 谭文俊 编著
作者: 李伟刚 丁浩杰 赵水