新書推薦:
《
家、金钱和孩子
》
售價:HK$
64.9
《
形而上学与测量
》
售價:HK$
74.8
《
世界航母、舰载机图鉴 【日】坂本明
》
售價:HK$
74.8
《
量价关系——透视股票涨跌脉络
》
售價:HK$
74.8
《
创伤与记忆:身体体验疗法如何重塑创伤记忆 [美]彼得·莱文
》
售價:HK$
64.9
《
复原力
》
售價:HK$
75.9
《
近代中国思维方式的演变(王中江著作系列)
》
售價:HK$
209.0
《
我可以近乎孤独地度过一生
》
售價:HK$
96.8
編輯推薦:
读者对象:具有MATLAB使用基础的大专院校工程专业学生、研究者和从业工程师
1、本书提供所有示例的源代码下载:https:ww2.mathworks.cnacademiabooksmatlab-machine-learning-recipes-paluszek.html
,读者可在MATLAB中文社区论坛:http:www.ilovematlab.cnforum-265-1.html与译者互动交流;
2、由浅入深,不常接触数学理论的读者也可以轻松理解书中内容,书中分析了包括自动驾驶、飞机智能控制等工程应用问题并给出解决方案,该书的写作得到MathWorks公司官方图书计划的支持并收录其中;
3、在上一版的基础上,进一步增加了对神经网络和深度学习的原理介绍及其工程应用的实践;
4、帮你学习机器学习在工程方面的应用,在真实场景中,将算法应用于工程实践。
內容簡介:
本书是关于在MATLAB中使用实例进行机器学习的综合指南。书中概述了人工智能与自动控制的历史;回顾了用于机器学习的商用软件包,并展示了它们如何应用于该领域;接着展示了如何使用MATLAB来解决机器学习问题,以及如何利用MATLAB图形技术来增强程序员对机器学习结果的理解。
本书随书提供了机器学习中若干重要问题的MATLAB完整解决方案,包括飞行控制、人脸识别、自动驾驶。书中所有的示例和应用程序都提供了完整的源代码。
机器学习包含大量的数学概念与理论解释。书中以清晰简洁的方式介绍了其中每个领域的数学知识,即使是并不经常接触数学理论的读者也可以轻松理解。工程领域的读者会看到这些数学知识与他们已经了解的领域技术之间的密切联系,并将学习到新的技术。
本书主要内容:
如何使用MATLAB构建机器学习应用 适用于机器学习的MATLAB可视化技术 面向工程的机器学习应用案例
關於作者:
迈克尔帕拉斯泽克
普林斯顿卫星系统公司(PSS)总裁,为美国宇航局和军方提供航空航天咨询服务和MATLAB航天器控制工具箱。他在航空航天领域具有20多年的工作经历,之前作为GE公司宇航部门专家曾参与多个美国航空航天项目。他拥有麻省理工学院电气工程学士学位、航空航天学硕士学位,曾发表了很多论文,拥有十多项美国专利。他是Apress出版社出版的《MATLAB与机器学习》的合著者。
斯蒂芬妮托马斯
普林斯顿卫星系统公司副总裁。她拥有麻省理工学院航空航天学士学位和硕士学位。她一直从事航空航天项目分析和咨询工作,曾参与了普林斯顿卫星系统公司公司MATLAB航天器控制工具箱研发项目。她曾因核聚动力冥王星轨道探测和登陆器入选美国太空总署创新资助项目,被任命为美国太空总署NIAC研究员。她也是Apress出版的《MATLAB与机器学习》的合著者。迈克尔帕拉斯泽克
普林斯顿卫星系统公司(PSS)总裁,为美国宇航局和军方提供航空航天咨询服务和MATLAB航天器控制工具箱。他在航空航天领域具有20多年的工作经历,之前作为GE公司宇航部门专家曾参与多个美国航空航天项目。他拥有麻省理工学院电气工程学士学位、航空航天学硕士学位,曾发表了很多论文,拥有十多项美国专利。他是Apress出版社出版的《MATLAB与机器学习》的合著者。
斯蒂芬妮托马斯
普林斯顿卫星系统公司副总裁。她拥有麻省理工学院航空航天学士学位和硕士学位。她一直从事航空航天项目分析和咨询工作,曾参与了普林斯顿卫星系统公司公司MATLAB航天器控制工具箱研发项目。她曾因核聚动力冥王星轨道探测和登陆器入选美国太空总署创新资助项目,被任命为美国太空总署NIAC研究员。她也是Apress出版的《MATLAB与机器学习》的合著者。
◆ 译者简介 ◆
陈建平
MathWorks公司中国区的技术咨询专家,专注于工程大数据分析和高性能计算领域,拥有北京大学学士和硕士学位。加入MathWorks后,专注于通信系统和工程数据分析;深入探索工程数据在大数据领域的应用。他拥有十余年数值算法设计、实现,以及对大规模工程数据分析和建模经验;尤其对MATLAB与不同编程语言,以及Hadoop和Spark等大数据架构的结合有较为深入的研究。
目錄 :
推荐序
译者序
前言
作者简介
第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上执行mapreduce29
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 追踪台球的MHT246
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
內容試閱 :
◆译者序◆
从几年前的人工智能距离我们有多远,到现在的言必称深度学习,人工智能在过去的几年间获得了突飞猛进的发展。大量先进的生产力工具层出不穷,TensorFlow、PyTorch、MXNet等各种深度学习框架让人目不暇接,人工智能看起来唾手可得。似乎只要掌握了框架的使用,我们就可以成为一个人工智能专家了。在概念上,机器学习替代了人工智能,深度学习替代了机器学习,深度学习好像成了人工智能的主流。在应用领域,大部分的成功案例都集中在机器视觉和自然语言处理上。当前流行的狭义的人工智能离实际工程渐行渐远。
实际上,人工智能距离工程应用就是一墙之隔。周志华在西瓜书中总结机器学习为致力于研究如何通过计算的手段,利用经验来改善系统自身的性能,从这个意义上来说,人工智能应该有更加广泛的意义和应用方向。我们希望能够从更加广泛的工程应用的角度来看待人工智能的应用和影响。人工智能首先应该是一种工程应用手段。
市场上已经有大量的书籍讨论如何掌握具体的机器学习框架,也有很多专门讨论机器学习和深度学习原理的书籍,它们大都探讨机器学习和深度学习本身,涉及如何将人工智能技术和工程应用相结合的书籍却如凤毛麟角。如何让人工智能成为现代工业的生产动力?我们之前和很多客户讨论机器学习和深度学习的时候,感兴趣者甚多,知道如何入手者甚少;知其然者多,不知其所以然者众。大家都认识到这是工业 4.0 的驱动力,却苦于不知如何跟传统工程问题结合到一起。这也是我想要翻译这本书的一个主要动机,希望对大家的工作有所帮助。
本书作者具有近20年MATLAB大型工程项目开发的实践经历和丰富的教学经验。书中全面涵盖了机器学习领域的关键技术内容,原理阐释简洁清晰,兼顾理论和实践。应用实例则以独特的问题方法步骤的形式呈现给读者,具有极强的针对性与实用性,非常便于读者以问题驱动的方式快速有效地展开学习。
本书的目的是利用MATLAB的强大功能来帮助用户从原理上学习机器学习,并用于解决具体工程问题,适用于每个对机器学习感兴趣的工程人员。
陈建平
2019年10月
◆ 前言◆
机器学习在每个工程学科中正变得越来越重要,比如:
自动驾驶。机器学习几乎用于汽车控制系统的各个方面。 等离子体物理学家借助机器学习的帮助来指导聚变反应堆的实验。实际上,TAE Systems在指导聚变实验方面取得了巨大成功。普林斯顿等离子体物理实验室已将其用于国家球形环实验,以研究核聚变发电厂的可能的候选技术。 在金融领域,它应用于预测股票市场。 医疗专业人员将机器学习用于医疗诊断。 执法部门将其用于面部识别,并在面部识别的辅助下解决了若干犯罪行为的定罪问题! 美国太空总署的深空1号航天器使用了专家系统。 用自适应控制系统操纵油轮。 还有许许多多其他的例子证明了机器学习的广泛应用。
虽然可以很方便地从商业来源和开源库获得许多优秀的机器学习软件包,但是去了解一下这些算法的工作原理依然很有价值。有机会编写自己的算法是非常值得的,它可以让你有机会深入体会和了解商业与开源软件包背后的原理。
MATLAB的起源就是出于这个原因。当时,需要对矩阵进行操作的科学家使用FORTRAN来编写数值软件,要学会用计算机语言来完成编写编译链接执行过程,耗时且容易出错。MATLAB向用户提供了一种脚本语言,允许用户通过几行即时执行的脚本来解决许多问题。MATLAB具有内置的可视化工具,可帮助用户更好地理解结果。显然编写MATLAB比编写FORTRAN更有效率和乐趣。
本书的目的是帮助所有用户利用MATLAB的强大功能来解决各种机器学习的问题,适用于每个对机器学习感兴趣的人。另外,本书还涵盖一些内容,可以让那些对其他技术领域感兴趣的人看到机器学习和MATLAB如何帮助他们解决专业领域的问题。
如何使用随书软件
随书软件附带一个MATLAB的工具箱,实现了本书涉及的所有例子。工具箱包含
MATLAB函数 MATLAB脚本 html帮助 MATLAB脚本实现了本书中的所有示例,而函数则封装了各种算法。许多函数都有内置的演示,只需在命令窗口中键入函数名称,它就会执行演示。该演示通常封装在子函数中。你可以为自己的演示复制此代码并将其粘贴到脚本中。例如,在命令窗口中键入函数名称PlotSet,将出现图1。
图1 基于函数PlotSet.m的作图示例
打开函数源代码,你可以看到内置的演示子函数:
你可以基于这些演示开始构建你自己的脚本。某些函数,比如用于数值积分的右侧函数(函数句柄作为参数),则不带演示子函数。如果键入函数名,会报错:
该工具箱根据本书的章节进行组织,文件夹名称是Chapter_01、Chapter_02等。此外,还有一个general文件夹,其中包含支持工具箱其余部分的基础函数。你还需要开源包GLPK(GNU Linear Programming Kit)来运行一些代码。Nicolo Giorgetti为GLPK编写了一个MATLAB MEX接口,该接口可在SourceForge上获得,并包含在此工具箱中。接口包括:
glpk.m glpkcc.mexmaci64或glpkcc.mexw64等 GLPKTest.m 该软件包可从https:sourceforge.netprojectsglpkmex获取。第二项是为机器编译的glpkcc.cpp的MEX文件,分别对应Mac或Windows操作系统下的文件。请到https:www.gnu.orgsoftwareglpk获取GLPK库并将其安装在你的系统上。如果需要,也可以下载GLPKMEX源代码,并自行基于你的操作系统进行编译。
作者简介 About the Authors
Michael Paluszek是普林斯顿卫星系统公司(PSS)总裁,该公司位于美国新泽西州Plainsboro。Paluszek先生于1992年创建了PSS公司,主要业务是提供航空航天咨询服务。他使用MATLAB开发了Indostar-1地球同步通信卫星的控制系统和仿真系统,并于1995年推出了普林斯顿卫星系统公司的第一个商业MATLAB工具箱:航天器控制工具箱。从那时起,他已经先后为飞行器、潜水艇、机器人和核聚变推进系统等开发了工具箱和软件包,并且形成了覆盖范围广泛的公司产品线。他目前正在与普林斯顿等离子体物理实验室合作开发一个用于发电和太空推进的紧凑型核聚变反应堆。
在成立普林斯顿卫星系统公司之前,Paluszek先生是位于新泽西州East Windsor的通用电气公司(GE)宇航部门的工程师。在通用电气公司,他设计了全球地球科学极地消旋平台控制系统,并主导设计了GPS IIR姿态控制系统、Inmarsat-3姿态控制系统和火星观测器delta-V控制系统,这些系统的控制设计都使用了MATLAB。Paluszek先生还致力于DMSP气象卫星姿态确定系统的研发。Paluszek先生参与了超过12颗通信卫星的发射任务,其中包括GSTAR III恢复任务,第一次使用电推进器将卫星转移到作业轨道。在Draper实验室工作期间,Paluszek先生负责航天飞机、空间站和海底导航等工作。他的空间站工作包括基于控制力矩陀螺仪系统的姿态控制设计。
Paluszek先生获得了麻省理工学院的电气工程学士学位、航空航天学硕士和工程学位。他发表了很多论文,拥有十多项美国专利。Paluszek先生是Apress出版社出版的图书MATLAB Recipes和MATLAB Machine Learning的合著者。
Stephanie Thomas是位于美国新泽西州Plainsboro的普林斯顿卫星系统公司的副总裁。她于1999年和2001年分别从麻省理工学院获得航空航天学士学位和硕士学位。Thomas女士于1996年在暑期实习期间加入普林斯顿卫星系统公司的MATLAB航天器控制工具箱开发项目,自那以后就一直使用MATLAB进行航空航天分析。在近20年的MATLAB实践经历中,她开发了许多软件工具:用于航天器控制工具箱的太阳能帆板模块,美国空军的近地轨道卫星操控工具箱,用于Prisma卫星任务的碰撞监测Simulink模块,用MATLAB和Java编写的运载火箭分析工具。她开发了空间状态评估的新方法,例如用MATLAB和C两种语言实现的数值算法,用来评估任意两颗卫星之间的一般会合问题。Thomas女士还为普林斯顿卫星系统公司的《姿态和轨道控制》教材编写做出了贡献,其中介绍了使用航天器控制工具箱(SCT)的案例,并编写了许多软件用户指南。她为来自澳大利亚、加拿大、巴西和泰国等不同国家的工程师进行了航天器控制工具箱培训,并为美国太空总署、美国空军和欧洲航天局等提供MATLAB咨询服务。Thomas女士是Apress出版的图书MATLAB Recipes和MATLAB Machine Learning的合著者。2016年,Thomas女士因核聚动力冥王星轨道探测和登陆器项目,被任命为美国太空总署NIAC研究员。