描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111589846
1. 《MATLAB 与机器学习》以MATLAB为编程语言,从机器学习基本知识到工程实践,由浅入深,分析包括自动驾驶、飞机智能控制等工程应用问题并给出解决方案,该书的写作得到Mathworks公司官方图书计划的支持并收录其中。
2. 本书适合具有MATLAB使用基础的大专院校工程专业学生、研究者和从业工程师,学习机器学习在工程方面的应用,理解在真实场景中将算法如何应用与工程实践。
3. 本书提供所有示例的源代码下载:https://www.apress.com/us/book/9781484222492,读者可在MATLAB中文社区论坛:http://www.ilovematlab.cn/forum-265-1.html与译者互动交流。
本书是关于在MATLAB中使用实例进行机器学习的综合指南。书中概述了人工智能与自动控制的历史;回顾了用于机器学习的商用软件包,并展示了它们如何应用于该领域;接着展示了如何使用MATLAB来解决机器学习问题,以及如何利用MATLAB图形技术来增强程序员对机器学习结果的理解。
本书随书提供了机器学习中若干重要问题的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.6YALMIP
第二部分机器学习的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 轨道剪枝
总结
MATLAB的起源正是基于这样的目的。初,科学家们使用FORTRAN语言编写数值软件来进行矩阵运算。当时,用户必须通过“编写-编译-链接-执行”的过程来使用计算机程序,整个过程非常耗时,且极易出错。MATLAB则为用户提供了一种脚本语言,用户只须编写很少的几行代码,立即执行,便可以解决许多问题。MATLAB的内置可视化工具可以进一步帮助用户更好地理解计算结果。编写MATLAB程序比编写FORTRAN程序更为高效和充满乐趣。
本书旨在帮助用户利用MATLAB解决一系列宽泛的学习问题。本书包含两部分:部分包括第1~3章,介绍机器学习的背景知识,其中包括学习控制,其内容通常与机器智能并不紧密相关,在书中我们采用“自主学习”一词涵盖所有这些学科。本书第二部分包括第4~12章,展示了完整的MATLAB机器学习应用示例。第4~6章针对性地介绍了MATLAB的相关功能,使得机器学习算法非常易于实现。其余章节则给出了应用示例。每一章都提供了特定主题的技术背景和如何实现学习算法的思路。每个示例都由一系列MATLAB函数支持的MATLAB脚本来实现。
本书适用于信息领域中对机器学习感兴趣的技术人员和开发者,也适用于其他技术领域中对如何利用机器学习和MATLAB来解决专业领域问题感兴趣的技术人员。
对于很多读者来说,对 MATLAB 的利用可能还停留在单纯的仿真甚至矩阵运算方面。经过 30 多年的发展,MATLAB积累了大量工业级的工具箱,广度上涵盖通用科学计算、通信与信号处理、控制系统、金融等各个领域。在深度上,采用基于模型的设计方法,MATLAB已经在算法开发、系统设计、自动代码生成以及从单元测试到系统验证的各个方面,具备了成熟的流程和完整的功能。
在过去30年中,MATLAB一直活跃在数据分析领域。大量的用户使用MATLAB进行数据分析,以获取数据的特征(Data Analysis),并对未知输入进行预测(Data Analytics)。机器学习正是目前使用*为广泛的算法手段之一。
机器学习是一个系统工程,一个完整的数据分析流程包括数据的获取、数据清洗和探索、数据分析以及结果发布。这也是 MATLAB 作为统一开发环境的价值。在数据获取方面,MATLAB 支持多种类型的数据输入,包括分布式文件系统、硬件设备、测试仪器、数据库等,足以应付大多数的机器学习场景。同时,不同领域的工具箱能够提供专业的数据预处理和可视化功能。随着技术的进步,数据的总量正在以指数的速度增长,MATLAB 支持并行计算和云计算,能大大提升算法的研发效率。*后,MATLAB 强大的嵌入式代码生成和发布能力,提供了算法结果的一键式发布能力,极大减少了后期算法移植的工作量。
繁荣的图书市场上,在
MATLAB 图书计划中注册的书籍已超过
1800 部,涉及 MATLAB 的方方面面。虽然在售的 MATLAB 图书远远超过这个数目,但本书仍是我们MATLAB图书计划里一百多部中文书籍中*本关于机器学习的专著。本书由MathWorks中国技术专家陈建平和 EMC 研究院李三平博士翻译。
从自主系统的角度,本书对机器学习的原理进行了介绍。我们在接触大量 MATLAB 用户的过程中,发现领域专家想利用机器学习的手段对搜集的数据进行分析和预测,但不知如何快速开展工作。也有不少人通过网络了解到一些机器学习的算法描述,却苦于无法找到兼顾原理与工具的中文图书,在有效地选取*算法与进行分析和预测等实践方面存在困难。本书为这些读者提供了重要的指南,有助于他们快速开展工作,有效选取合适的算法,并进行分析和预测。
我相信本书在MATLAB与机器学习方面系统性的阐述能够对读者有所帮助。
周拥华
MathWorks中国技术经理
评论
还没有评论。