MATLAB为机器学习领域提供了必要的工具。用户可以借助MATLAB环境提供的强大交互式图形界面,非常轻松地解决机器学习问题。
本书在介绍每个主题前,会简要概述其理论基础,然后辅以实际案例进行阐释。通过阅读本书,读者能够应用机器学习方法,并能充分利用MATLAB的功能解决实际问题。
《MATLAB机器学习》前3章主要介绍MATLAB机器学习的基础知识、使用MATLAB导入数据和组织数据的方法以及从数据到知识发掘的方法,中间3章主要介绍回归分析、分类分析以及无监督学习,最后3章介绍人工神经网络、降维变换的方法以及机器学习实战的相关知识。
本书可供数据分析员、数据科学家以及任何希望学习机器学习算法以及构建数据处理、预测应用的读者阅读。
1. 知名MATLAB专家用 MATLAB 进行机器学习建模的入门书。
2. 真实案例+图表展示多种回归模型,真实再现用MATLAB实现数据应用,且侧重于实际应用。
3. 中国量化投资学会MATLAB技术分会会长、MATLAB技术论坛联合创始人李洋领衔翻译,在原书基础上增加了专业、细致的修订。
朱塞佩·恰布罗(Giuseppe Ciaburro),获有意大利那不勒斯腓特烈二世大学(Università degli Studi di Napoli Federico Ⅱ)的化学工程硕士学位和那不勒斯第二大学(Seconda Università degli Studi di Napoli)的声学和噪声控制硕士学位。他目前在意大利坎帕尼亚的一所大学(Università degli Studi della Campania“Luigi Vanvitelli”)的建成环境控制实验室工作。他在燃烧领域以及声学和噪声控制领域方面有15年以上的编程工作经验。他使用的核心编程语言是Python和R,并且在使用MATLAB上也有丰富的经验。Giuseppe虽为声学和噪声控制领域的专家,但他在专业计算机课程的教学以及在线课程方面也有丰富的经验。他出版过专著,也在科学期刊、主题会议上发表过文章。近期他的研究方向是将机器学习应用到声学和噪声控制理论中。
第 1章 MATLAB机器学习初体验 1
1.1 机器学习基础 1
1.2 机器学习算法的分类 4
1.2.1 监督学习 4
1.2.2 非监督学习 5
1.2.3 强化学习 5
1.3 选择正确的算法 6
1.4 构建机器学习模型的流程 7
1.5 MATLAB中的机器学习支持简介 8
1.5.1 操作系统、硬件平台要求 10
1.5.2 MATLAB安装要求 11
1.6 统计机器学习工具箱 11
1.6.1 数据类型 13
1.6.2 统计机器学习工具箱功能简介 13
1.7 神经网络工具箱 18
1.8 MATLAB中的统计学和线性代数 19
1.9 总结 21
第 2章 使用MATLAB导入数据和组织数据 22
2.1 熟悉MATLAB桌面 22
2.2 将数据导入MATLAB 27
2.2.1 导入向导 27
2.2.2 通过程序语句导入数据 29
2.3 从MATLAB导出数据 36
2.4 处理媒体文件 37
2.4.1 处理图像数据 37
2.4.2 音频的导入/导出 39
2.5 数据组织 39
2.5.1 元胞数组 40
2.5.2 结构体数组 42
2.5.3 table类型 44
2.5.4 分类数组 46
2.6 总结 47
第3章 从数据到知识挖掘 49
3.1 区分变量类别 50
3.1.1 定量变量 50
3.1.2 定性变量 50
3.2 数据准备 51
3.2.1 初步查看数据 51
3.2.2 找到缺失值 53
3.2.3 改变数据类型 54
3.2.4 替换缺失值 54
3.2.5 移除缺失值 55
3.2.6 为表格排序 56
3.2.7 找到数据中的异常值 56
3.2.8 将多个数据源合并成一个数据源 57
3.3 探索性统计指标—数值测量 59
3.3.1 位置测量 59
3.3.2 分散度的测量 61
3.3.3 分布形状的测量 64
3.4 探索性可视化 66
3.4.1 图形数据统计分析对话框 67
3.4.2 柱状图 70
3.4.3 箱形图 75
3.4.4 散点图 77
3.5 总结 78
第4章 找到变量之间的关系—回归方法 80
4.1 寻找线性关系 80
4.1.1 最小二乘回归 81
4.1.2 基本拟合接口 86
4.2 如何创建一个线性回归模型 88
4.2.1 通过稳健回归消除异常值的影响 93
4.2.2 多元线性回归 96
4.3 多项式回归 101
4.4 回归学习器App 103
4.5 总结 107
第5章 模式识别之分类算法 108
5.1 决策树分类 108
5.2 概率分类模型—朴素贝叶斯分类 115
5.2.1 概率论基础 116
5.2.2 使用朴素贝叶斯进行分类 119
5.2.3 MATLAB中的贝叶斯方法 120
5.3 判别分析分类 123
5.4 k邻近算法 128
5.5 MATLAB分类学习器App 132
5.6 总结 136
第6章 无监督学习 137
6.1 聚类分析简介 137
6.1.1 相似度与离散度指标 138
6.1.2 聚类方法类型简介 139
6.2 层次聚类算法 141
6.2.1 层次聚类中的相似度指标 141
6.2.2 定义层次聚类中的簇 143
6.2.3 如何理解层次聚类图 145
6.2.4 验证聚类结果 147
6.3 k均值聚类—基于均值聚类 148
6.3.1 k均值算法 148
6.3.2 函数kmeans() 149
6.3.3 silhouette图—可视化聚类结果 152
6.4 k中心点聚类—基于样本中心聚类 153
6.4.1 什么是中心点 154
6.4.2 函数kmedoids() 154
6.4.3 评估聚类结果 156
6.5 高斯混合模型聚类 156
6.5.1 高斯分布 156
6.5.2 MATLAB中的GMM支持 157
6.5.3 使用后验概率分布进行聚类 159
6.6 总结 160
第7章 人工神经网络——模拟人脑的思考方式 162
7.1 神经网络简介 162
7.2 神经网络基础构成 165
7.2.1 隐藏层数量 170
7.2.2 每层的节点数量 170
7.2.3 神经网络训练方法 170
7.3 神经网络工具箱 171
7.4 工具箱的用户界面 175
7.5 使用神经网络进行数据拟合 176
7.5.1 如何使用拟合App(nftool) 178
7.5.2 脚本分析 186
7.6 总结 188
第8章 降维——改进机器学习模型的性能 190
8.1 特征选择 190
8.1.1 分步回归 191
8.1.2 MATLAB中的分步回归 192
8.2 特征提取 199
8.3 总结 210
第9章 机器学习实战 211
9.1 用于预测混凝土质量的数据拟合 211
9.2 使用神经网络诊断甲状腺疾病 222
9.3 使用模糊聚类对学生进行分簇 226
9.4 总结 231