第1章 机器学习基础 1
1.1 机器学习概述 1
1.1.1 什么是机器学习 1
1.1.2 机器学习发展史 3
1.1.3 机器学习、人工智能、深度学习的关系 5
1.2 机器学习相关概念 6
1.3 机器学习的任务 8
1.3.1 监督学习 8
1.3.2 无监督学习 8
1.3.3 半监督学习 9
1.4 机器学习的一般步骤 9
1.5 机器学习Python基础 10
1.5.1 Python开发环境 10
1.5.2 Python基本语法 11
1.5.3 Python列表、元组、字典、集合 13
1.6 本章小结 18
1.7 习题 18
第2章 k近邻算法 19
2.1 k近邻算法原理 19
2.1.1 非参数估计与参数估计 20
2.1.2 非参数估计的一般推导 22
2.2 基于k近邻算法的实现 23
2.2.1 利用直方图估计概率密度、分类 23
2.2.2 利用Parzen矩形窗估计概率密度、分类 28
2.2.3 利用Parzen正态核估计概率密度、分类 29
2.3 k近邻算法应用─鸢尾花的分类 31
2.4 本章小结 35
2.5 习题 35
第3章 贝叶斯分类器 37
3.1 贝叶斯定理相关概念 37
3.1.1 先验概率、条件概率、后验概率与类条件概率 37
3.1.2 贝叶斯决策理论 38
3.1.3 极大似然估计 39
3.2 朴素贝叶斯分类器 42
3.2.1 手工设计贝叶斯分类器 43
3.2.2 贝叶斯分类器的实现 44
3.2.3 平滑方法 46
3.3 朴素贝叶斯分类算法实现─三文鱼和鲈鱼的分类 48
3.3.1 算法实现 48
3.3.2 调用系统函数实现 55
3.4 正态贝叶斯分类器 56
3.5 本章小结 57
3.6 习题 57
第4章 聚类 59
4.1 聚类算法简介 59
4.1.1 聚类算法分类 59
4.1.2 距离度量方法 60
4.2 K-means聚类 62
4.3 基于密度的聚类─DBSCAN聚类 68
4.3.1 DBSCAN算法原理及相关概念 68
4.3.2 DBSCAN聚类算法 69
4.4 基于层次的聚类─AGNES聚类 72
4.4.1 AGNES聚类算法思想 72
4.4.2 AGNES算法实现 74
4.5 聚类应用举例 76
4.6 各种聚类算法的比较 79
4.7 本章小结 80
4.8 习题 80
第5章 EM算法 82
5.1 EM算法原理及推导过程 82
5.1.1 EM算法思想 82
5.1.2 EM算法推导过程 83
5.2 高斯混合聚类 85
5.2.1 概率密度函数 85
5.2.2 高斯混合聚类算法推导过程 86
5.2.3 高斯混合聚类算法思想 87
5.2.4 高斯混合聚类应用举例 88
5.3 服从0-1二项分布的EM算法 92
5.3.1 服从0-1二项分布的EM算法思想 93
5.3.2 服从0-1二项分布的EM算法过程模拟 94
5.3.3 服从0-1二项分布的EM算法实现 96
5.4 本章小结 98
5.5 习题 98
第6章 支持向量机 100
6.1 SVM简介 100
6.1.1 线性可分与感知机 101
6.1.2 间隔最大化及线性SVM 104
6.2 线性SVM算法实现 108
6.3 非线性SVM与核函数 111
6.3.1 线性不可分 111
6.3.2 对偶问题与核函数 111
6.3.3 非线性SVM算法实现 115
6.4 SVM回归 118
6.5 SVM算法实现─鸢尾花的分类 120
6.5.1 sklearn中的SVC参数介绍 120
6.5.2 使用SVC对鸢尾花数据进行分类 121
6.6 本章小结 124
6.7 习题 125
第7章 决策树 126
7.1 决策树构造基本原理 126
7.2 决策树构造过程 127
7.3 决策树学习算法思想及实现 131
7.4 决策树算法实现─泰坦尼克号幸存者预测 133
7.5 本章小结 139
7.6 习题 139
第8章 线性回归 141
8.1 回归分析概述 141
8.2 单变量线性回归 142
8.2.1 梯度下降法求解线性回归原理与实现 142
8.2.2 牛顿法求解线性回归原理与实现 146
8.3 多变量回归分析 150
8.3.1 多变量回归分析原理 150
8.3.2 多变量线性回归算法实现 151
8.4 多项式回归分析 155
8.5 本章小结 157
8.6 习题 157
第9章 逻辑回归 160
9.1 sigmoid函数与逻辑回归模型 160
9.2 梯度下降与推导过程 161
9.3 参数学习向量化 163
9.4 逻辑回归的Python实现─乳腺良性与恶性肿瘤的预测 164
9.5 评估方法 169
9.6 本章小结 173
9.7 习题 174
第10章 人工神经网络 175
10.1 从感知机到多层感知机 175
10.2 神经网络模型 178
10.3 BP神经网络算法思想及实现 180
10.3.1 BP神经算法模型参数学习过程 180
10.3.2 BP神经网络算法实现 183
10.4 BP神经网络算法实现─鸢尾花分类 186
10.5 本章小结 193
10.6 习题 193
第11章 综合案例分析:垃圾邮件分类 194
11.1 文本预处理 194
11.1.1 中文分词 194
11.1.2 文本向量化 202
11.2 中文垃圾邮件分类算法及实现 204
11.3 本章小结 208
11.4 习题 209
第12章 综合案例分析:手写数字识别 210
12.1 图像的存储表示 210
12.2 数据预处理 213
12.2.1 将图像转换为文本 213
12.2.2 将矩阵转换为向量 215
12.3 基于kNN的手写数字识别 215
12.3.1 划分训练集和测试集 215
12.3.2 kNN分类模型 216
12.3.3 kNN分类模型评估 216
12.4 基于神经网络的手写数字识别 218
12.4.1 定义神经网络模型 218
12.4.2 主函数 219
12.5 本章小结 220
12.6 习题 221
第13章 综合案例分析:零售商品销售额分析与预测 222
13.1 问题描述与分析 222
13.2 数据探索与预处理 223
13.2.1 数据探索 223
13.2.2 属性特征的数值化 227
13.2.3 缺失值处理 228
13.3 特征选择 231
13.4 建立回归模型 232
13.4.1 线性回归模型 232
13.4.2 岭回归模型 233
13.4.3 Lasso回归模型 235
13.4.4 多项式回归模型 236
13.4.5 随机森林回归模型 237
13.5 超参数选择 239
13.6 本章小结 240
13.7 习题 241
第14章 综合案例分析:基于协同过滤的推荐系统 242
14.1 推荐系统简介 242
14.1.1 信息检索与推荐系统 242
14.1.2 推荐系统的前世今生 243
14.1.3 推荐系统的原理与分类 244
14.1.4 推荐系统的评估方法 245
14.2 基于最近邻的协同过滤推荐算法原理与实现 247
14.2.1 基于近邻用户的协同过滤推荐 247
14.2.2 基于近邻项目的协同过滤推荐 255
14.3 基于隐语义分析的推荐模型 260
14.4 基于标签的推荐算法 266
14.5 本章小结 266
14.6 习题 267
参考文献 268