编辑推荐

1.《MATLAB与机器学习》以MATLAB为编程语言,从机器学习基本知识到工程实践,由浅入深,分析包括自动驾驶、飞机智能控制等工程应用问题并给出解决方案,该书的写作得到Mathworks公司官方图书计划的支持并收录其中。

2.《MATLAB与机器学习》适合具有MATLAB使用基础的大专院校工程专业学生、研究者和从业工程师,学习机器学习在工程方面的应用,理解在真实场景中将算法如何应用与工程实践。

3.《MATLAB与机器学习》提供所有示例的源代码下载:https://www.apress.com/us/book/9781484222492,读者可在MATLAB中文社区论坛:http://www.ilovematlab.cn/forum-265-1.html与译者互动交流。

内容简介

MATLAB与机器学习》是关于在MATLAB中使用实例进行机器学习的综合指南。书中概述了人工智能与自动控制的历史;回顾了用于机器学习的商用软件包,并展示了它们如何应用于该领域;接着展示了如何使用MATLAB来解决机器学习问题,以及如何利用MATLAB图形技术来增强程序员对机器学习结果的理解。

MATLAB与机器学习》随书提供了机器学习中若干重要问题的MATLAB完整解决方案,包括飞机控制、人脸识别、自动驾驶。书中所有的示例和应用程序都提供了完整的源代码。

机器学习包含大量的数学概念与理论。书中以清晰简洁的方式介绍了其中每个领域的数学知识,即使是并不经常接触数学理论的读者也可以轻松理解。工程领域的读者会看到这些数学知识与他们已经了解的领域技术之间的密切联系,并将学习到新的技术。

MATLAB与机器学习》主要内容:

?机器学习领域的知识概述

?如何使用MATLAB进行编程和构建机器学习应用程序

?用于机器学习的MATLAB图形技术

?面向实际机器学习问题的MATLAB应用案例

作者简介

作者:MichaelPaluszek先生现任美国普林斯顿卫星系统公司总裁,具有超过30年航空航天技术咨询服务经验,曾在通用电气公司(GE)宇航部门工作,参与并领导过多个美国军方和民用项目。开发过多个MATLAB工具箱和软件包,应用于卫星、飞行器、潜艇、机器人和核聚变推进等系统。Paluszek先生获得了麻省理工学院的电气工程学士学位、航空航天学硕士和工程学位。他发表了很多论文,拥有十多项美国专利。

作者:StephanieThomas女士是位于美国普林斯顿卫星系统公司的副总裁。她拥有麻省理工学院获得航空航天学士学位和硕士学位。Thomas女士在近20年的MATLAB实践经历中,她开发了许多MATLAB软件工具,包括用于航天器控制工具箱的太阳能帆板模块、美国空军的近地轨道卫星操控工具、运载火箭分析工具等等。她还为来自澳大利亚、加拿大、巴西和泰国等不同国家的工程师进行了航天器控制工具箱培训,并为美国太空总署(NASA)、美国空军和欧洲航天局等提供MATLAB咨询服务。2016年,Thomas女士因“核聚动力冥王星轨道探测器和登陆器”入选美国太空总署创新资助项目,被任命为美国太空总署NIAC研究员。

译者:李三平,美国麻省大学计算机工程专业博士,现为DELLEMC中国研究院首席研究员,研究方向主要为深度学习模型与服务框架,云架构的预测分析与智能运维等。已在IEEETransactions期刊和会议上发表论文数十篇,申请美国专利20余项。

译者:陈建平,MathWorks中国资深技术专家,专注于工程大数据分析和高性能计算领域。拥有北京大学学士和硕士学位,并于2008年加入MathWorks公司,之前在NTTDoCoMo从事通信算法的研究工作。拥有十余年并行数值算法设计、实现,以及对大规模工程数据分析和建模的经验。

精彩书评

对于很多读者来说,对MATLAB的利用可能还停留在单纯的仿真甚至矩阵运算方面。经过30多年的发展,MATLAB积累了大量工业级的工具箱,广度上涵盖通用科学计算、通信与信号处理、控制系统、金融等各个领域。在深度上,采用基于模型的设计方法,MATLAB已经在算法开发、系统设计、自动代码生成以及从单元测试到系统验证的各个方面,具备了成熟的流程和完整的功能。

在过去30年中,MATLAB一直活跃在数据分析领域。大量的用户使用MATLAB进行数据分析,以获取数据的特征(DataAnalysis),并对未知输入进行预测(DataAnalytics)。机器学习正是目前使用*为广泛的算法手段之一。

机器学习是一个系统工程,一个完整的数据分析流程包括数据的获取、数据清洗和探索、数据分析以及结果发布。这也是MATLAB作为统一开发环境的价值。在数据获取方面,MATLAB支持多种类型的数据输入,包括分布式文件系统、硬件设备、测试仪器、数据库等,足以应付大多数的机器学习场景。同时,不同领域的工具箱能够提供专业的数据预处理和可视化功能。随着技术的进步,数据的总量正在以指数的速度增长,MATLAB支持并行计算和云计算,能大大提升算法的研发效率。繁荣的图书市场上,在MATLAB图书计划中注册的书籍已超过1800部,涉及MATLAB的方方面面。虽然在售的MATLAB图书远远超过这个数目,但《MATLAB与机器学习》仍是我们MATLAB图书计划里一百多部中文书籍中**本关于机器学习的专著。《MATLAB与机器学习》由MathWorks中国技术专家陈建平和EMC研究院李三平博士翻译。

从自主系统的角度,《MATLAB与机器学习》对机器学习的原理进行了介绍。我们在接触大量MATLAB用户的过程中,发现领域专家想利用机器学习的手段对搜集的数据进行分析和预测,但不知如何快速开展工作。也有不少人通过网络了解到一些机器学习的算法描述,却苦于无法找到兼顾原理与工具的中文图书,在有效地选取*佳算法与进行分析和预测等实践方面存在困难。《MATLAB与机器学习》为这些读者提供了重要的指南,有助于他们快速开展工作,有效选取合适的算法,并进行分析和预测。

我相信《MATLAB与机器学习》在MATLAB与机器学习方面系统性的阐述能够对读者有所帮助。

周拥华

MathWorks中国技术经理

目录

第一部分机器学习概论

第1章机器学习概述

1.1引言

1.2机器学习基础

1.2.1数据

1.2.2模型

1.2.3训练

1.3学习机

1.4机器学习分类

1.5自主学习方法

1.5.1回归

1.5.2神经网络

1.5.3支持向量机

1.5.4决策树

1.5.5专家系统

第2章自主学习的历史

2.1引言

2.2人工智能

2.3学习控制

2.4机器学习

2.5未来

第3章机器学习软件

3.1自主学习软件

3.2商业化MATLAB软件

3.2.1MathWorks公司产品

3.2.2普林斯顿卫星系统产品

3.3MATLAB开源资源

3.3.1深度学习工具箱

3.3.2深度神经网络

3.3.3MatConvNet

3.4机器学习工具

3.4.1R语言

3.4.2Scikitlearn

3.4.3LIBSVM

3.5优化工具

3.5.1LOQO

3.5.2SNOPT

3.5.3GLPK

3.5.4CVX

3.5.5SeDuMi

3.5.6YALMIP

第二部分机器学习的MATLAB实现

第4章用于机器学习的MATLAB数据类型

4.1MATLAB数据类型概述

4.1.1矩阵

4.1.2元胞数组

4.1.3数据结构

4.1.4数值类型

4.1.5图像

4.1.6数据存储

4.1.7Tall数组

4.1.8稀疏矩阵

4.1.9表与分类数组

4.1.10大型MAT文件

4.2使用参数初始化数据结构

4.2.1问题

4.2.2方法

4.2.3步骤

4.3在图像数据存储上执行mapReduce

4.3.1问题

4.3.2方法

4.3.3步骤

总结

第5章MATLAB图形

5.1二维线图

5.1.1问题

5.1.2方法

5.1.3步骤

5.2二维图形

5.2.1问题

5.2.2方法

5.2.3步骤

5.3定制二维图

5.3.1问题

5.3.2方法

5.3.3步骤

5.4三维盒子

5.4.1问题

5.4.2方法

5.4.3步骤

5.5用纹理绘制三维对象

5.5.1问题

5.5.2方法

5.5.3步骤

5.6三维图形

5.6.1问题

5.6.2方法

5.6.3步骤

5.7构建图形用户界面

5.7.1问题

5.7.2方法

5.7.3步骤

总结

第6章MATLAB机器学习示例

6.1引言

6.2机器学习

6.2.1神经网络

6.2.2面部识别

6.2.3数据分类

6.3控制

6.3.1卡尔曼滤波器

6.3.2自适应控制

6.4人工智能

第7章基于深度学习的面部识别

7.1在线获取数据:用于训练神经网络

7.1.1问题

7.1.2方法

7.1.3步骤

7.2生成神经网络的训练数据

7.2.1问题

7.2.2方法

7.2.3步骤

7.3卷积

7.3.1问题

7.3.2方法

7.3.3步骤

7.4卷积层

7.4.1问题

7.4.2方法

7.4.3步骤

7.5池化

7.5.1问题

7.5.2方法

7.5.3步骤

7.6全连接层

7.6.1问题

7.6.2方法

7.6.3步骤

7.7确定输出概率

7.7.1问题

7.7.2方法

7.7.3步骤

7.8测试神经网络

7.8.1问题

7.8.2方法

7.8.3步骤

7.9识别图像

7.9.1问题

7.9.2方法

7.9.3步骤

总结

第8章数据分类

8.1生成分类测试数据

8.1.1问题

8.1.2方法

8.1.3步骤

8.2绘制决策树

8.2.1问题

8.2.2方法

8.2.3步骤

8.3决策树的算法实现

8.3.1问题

8.3.2方法

8.3.3步骤

8.4生成决策树

8.4.1问题

8.4.2方法

8.4.3步骤

8.5手工创建决策树

8.5.1问题

8.5.2方法

8.5.3步骤

8.6训练和测试决策树

8.6.1问题

8.6.2方法

8.6.3步骤

总结

第9章基于神经网络的数字分类

9.1生成带噪声的测试图像

9.1.1问题

9.1.2方法

9.1.3步骤

9.2创建神经网络工具箱

9.2.1问题

9.2.2方法

9.2.3步骤

9.3训练单一输出节点的神经网络

9.3.1问题

9.3.2方法

9.3.3步骤

9.4测试神经网络

9.4.1问题

9.4.2方法

9.4.3步骤

9.5训练多输出节点的神经网络

9.5.1问题

9.5.2方法

9.5.3步骤

总结

第10章卡尔曼滤波器

10.1状态估计器

10.1.1问题

10.1.2方法

10.1.3步骤

10.1.4传统卡尔曼滤波器

10.2使用UKF进行状态估计

10.2.1问题

10.2.2方法

10.2.3步骤

10.3使用UKF进行参数估计

10.3.1问题

10.3.2方法

10.3.3步骤

总结

第11章自适应控制

11.1自调谐:求振荡器频率

11.1.1问题

11.1.2方法

11.1.3步骤

11.2模型参考自适应控制

11.2.1创建方波输入

11.2.2实现模型参考自适应控制

11.2.3转子的MRAC系统实现

11.3飞机的纵向控制

11.3.1编写飞机纵向运动的微分方程

11.3.2利用数值方法寻找平衡状态

11.3.3飞机的数值仿真

11.3.4神经网络中对取值范围的限定和缩放

11.3.5寻找学习控制的神经网络

11.3.6枚举输入集合

11.3.7编写通用神经网络函数

11.3.8实现PID控制

11.3.9飞机俯仰角PID控制演示

11.3.10创建俯仰动力学的神经网络

11.3.11非线性仿真中的控制器演示

11.4轮船驾驶:实现轮船驾驶控制的增益调度

11.4.1问题

11.4.2方法

11.4.3步骤

总结

第12章自动驾驶

12.1汽车雷达建模

12.1.1问题

12.1.2步骤

12.1.3方法

12.2汽车的自主传递控制

12.2.1问题

12.2.2方法

12.2.3步骤

12.3汽车动力学

12.3.1问题

12.3.2步骤

12.3.3方法

12.4汽车仿真与卡尔曼滤波器

12.4.1问题

12.4.2方法

12.4.3步骤

12.5雷达数据的MHT实现

12.5.1问题

12.5.2方法

12.5.3步骤

12.5.4假设形成

12.5.5轨道剪枝

前言/序言

PREFACE前言机器学习正在众多学科中变得愈加重要,它应用于工程领域中的自动驾驶汽车技术和金融领域中的股市预测,而医疗专业人员则使用它来辅助诊断。虽然许多优秀的机器学习软件包可以通过商业购买和开源软件渠道获得,但深入理解其中隐藏的算法原理仍然是很有价值的。进而,自己动手编程来实现算法则会更加受益匪浅,因为这样不仅能够深入了解商业和开源软件包中的算法实现方法,还能掌握足够的背景知识来编写定制化的机器学习软件以实现特定的应用需求。
MATLAB的起源正是基于这样的目的。最初,科学家们使用FORTRAN语言编写数值软件来进行矩阵运算。当时,用户必须通过“编写-编译-链接-执行”的过程来使用计算机程序,整个过程非常耗时,且极易出错。MATLAB则为用户提供了一种脚本语言,用户只须编写很少的几行代码,立即执行,便可以解决许多问题。MATLAB的内置可视化工具可以进一步帮助用户更好地理解计算结果。编写MATLAB程序比编写FORTRAN程序更为高效和充满乐趣。
MATLAB与机器学习》旨在帮助用户利用MATLAB解决一系列宽泛的学习问题。《MATLAB与机器学习》包含两部分:第一部分包括第1~3章,介绍机器学习的背景知识,其中包括学习控制,其内容通常与机器智能并不紧密相关,在书中我们采用“自主学习”一词涵盖所有这些学科。《MATLAB与机器学习》第二部分包括第4~12章,展示了完整的MATLAB机器学习应用示例。第4~6章针对性地介绍了MATLAB的相关功能,使得机器学习算法非常易于实现。其余章节则给出了应用示例。每一章都提供了特定主题的技术背景和如何实现学习算法的思路。每个示例都由一系列MATLAB函数支持的MATLAB脚本来实现。
MATLAB与机器学习》适用于信息领域中对机器学习感兴趣的技术人员和开发者,也适用于其他技术领域中对如何利用机器学习和MATLAB来解决专业领域问题感兴趣的技术人员。

其他推荐