猜你喜欢
MATLAB与机器学习

MATLAB与机器学习

书籍作者:迈克尔·帕拉斯泽克 ISBN:9787111589846
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3259
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

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

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

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

本书主要内容:

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

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

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

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


作者简介

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

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

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

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


编辑推荐

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

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

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


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

第一部分 机器学习概论

第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.1 MathWorks公司产品

3.2.2 普林斯顿卫星系统产品

3.3 MATLAB开源资源

3.3.1 深度学习工具箱

3.3.2 深度神经网络

3.3.3 MatConvNet

3.4 机器学习工具

3.4.1 R语言

3.4.2 Scikit learn

3.4.3 LIBSVM

3.5 优化工具

3.5.1 LOQO

3.5.2 SNOPT

3.5.3 GLPK

3.5.4 CVX

3.5.5 SeDuMi

3.5.6 YALMIP

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

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

4.1 MATLAB数据类型概述

4.1.1 矩阵

4.1.2 元胞数组

4.1.3 数据结构

4.1.4 数值类型

4.1.5 图像

4.1.6 数据存储

4.1.7 Tall数组

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 轨道剪枝