第 一部分 机器学习基础知识
第 1 章 开始机器学习 2
1.1 机器学习简介 2
1.2 理解机器学习的背景知识 3
1.2.1 数学(线性代数、微分、统计和概率) 3
1.2.2 编程 4
1.3 机器学习发展史 4
1.3.1 机器学习的历史与现状 4
1.3.2 机器学习的三大学派 6
1.4 机器学习的分类 7
1.4.1 监督学习、无监督学习、强化学习 8
1.4.2 监督学习的详细分类 9
1.4.3 无监督学习详细分类 10
1.4.4 深度学习 11
1.5 小结 11
第 2 章 机器学习主要概念 12
2.1 模型:观察问题的角度 12
2.1.1 模型的定义 13
2.1.2 简单模型 14
2.1.3 复杂模型 15
2.1.4 结构模型 16
2.1.5 好模型的定义 17
2.2 损失函数:模型的公式化学习目标 19
2.2.1 算术损失函数 20
2.2.2 概率损失函数 21
2.2.3 排序损失函数 23
2.2.4 模型复杂度与相关损失函数 24
2.3 优化:实际训练的方法 25
2.3.1 梯度下降法 26
2.3.2 牛顿/拟牛顿法 28
2.3.3 随机梯度下降法 28
2.3.4 反向传播 30
2.3.5 最新的优化方法 31
2.4 模型评估:实际运用中的性能评估方法 31
2.4.1 模型的泛化特征评估 31
2.4.2 准确率 32
2.4.3 精确率与召回率 33
2.4.4 排序评估 34
2.5 小结 35
第二部分 机器学习的主要模型
第3 章 数据与问题 38
3.1 数据类型 38
3.1.1 文本数据 38
3.1.2 数值数据 39
3.1.3 图像数据 39
3.1.4 音频数据 40
3.1.5 混合数据 40
3.2 数据量与数据质量 40
3.2.1 数据量与机器学习的相关性 40
3.2.2 数据质量与机器学习的相关性 41
3.3 数据标准化 42
3.3.1 数值数据标准化 42
3.3.2 分类数据标准化 44
3.3.3 序数数据标准化 44
3.4 问题类型 45
3.4.1 回归 45
3.4.2 分类 46
3.4.3 聚类问题 46
3.4.4 表征学习(嵌入学习) 47
3.5 小结 48
第4 章 利用购买历史数据构建用户群 49
4.1 聚类 49
4.2 K 中心点聚类 50
4.3 层次聚类 53
4.4 基于密度的聚类 56
4.5 计算相似度 57
4.5.1 闵氏距离 58
4.5.2 马氏距离 59
4.6 小结 61
第5 章 构建文本分析系统 62
5.1 构建文本分类系统 62
5.1.1 文本分类的常用特征 62
5.1.2 利用特征进行分类操作 65
5.2 主题建模 69
5.3 语法分析 71
5.3.1 词性标注 71
5.3.2 命名实体识别 74
5.4 词嵌入学习——word2vec 75
5.5 小结 78
第6 章 构建电影推荐系统 79
6.1 电影推荐系统 79
6.2 相似度运算 80
6.2.1 杰卡德系数 80
6.2.2 余弦相似度 81
6.2.3 编辑距离 82
6.3 基于内容的推荐系统 83
6.4 协同过滤 84
6.4.1 均方根误差 85
6.4.2 基于用户/商品的协同过滤 86
6.4.3 隐因子模型 87
6.5 标准化 90
6.6 小结 91
第7 章 构建图像识别系统 92
7.1 图像处理基本概念 92
7.1.1 像素 92
7.1.2 滤波 93
7.1.3 卷积 95
7.2 图像识别 97
7.2.1 图像分类 98
7.2.2 图像检测 98
7.3 用于图像识别的特征 99
7.3.1 轮廓线 99
7.3.2 角点 100
7.3.3 SIFT 103
7.3.4 主成分分析 105
7.4 利用深度学习进行图像识别 107
7.4.1 关于CNN 107
7.4.2 卷积层 108
7.4.3 池化 109
7.4.4 激活函数 110
7.4.5 全连接层 111
7.5 小结 112
第8 章 解决机器学习中的多种问题 113
8.1 模型问题 113
8.1.1 过度学习 113
8.1.2 如何更轻松地找到好模型 119
8.2 数据问题 121
8.2.1 数据量过大 121
8.2.2 数据量过少 123
8.2.3 数据略微倾斜 124
8.3 速度问题 126
8.3.1 向量运算 126
8.3.2 机器学习高效运行系统 128
8.3.3 分布式处理 128
8.4 小结 129
第三部分 机器学习系统应用
第9 章 机器学习软件简介 132
9.1 安装Python 与库 132
9.2 著名数据库简介 133
9.2.1 机器学习库 133
9.2.2 深度学习库 134
9.2.3 与计算相关的库 136
9.3 本书使用的工具包 136
9.3.1 Scikit-learn 137
9.3.2 TensorFlow 140
9.4 小结 151
第 10 章 利用购买历史数据构建用户群——实战 152
10.1 数据集 152
10.2 数据预处理 153
10.3 K 均值聚类 160
10.4 确定正确的簇数K 161
10.4.1 定量评估 161
10.4.2 定性评估 164
10.5 分层聚类法 168
10.6 小结 173
第 11 章 构建文本分析系统——实战 174
11.1 构建垃圾短信过滤器(文本分类) 174
11.1.1 用于示例的数据处理 174
11.1.2 通过特征分类 179
11.2 构建主题模型系统 182
11.3 构建词性分析系统 184
11.4 构建专有名词标记系统 185
11.5 小结 187
第 12 章 构建电影推荐系统——实战 188
12.1 数据集 188
12.2 数据预处理 189
12.3 构建基于内容的电影推荐系统 192
12.4 构建基于协同过滤的电影推荐系统 198
12.4.1 实现奇异值分解 198
12.4.2 实现梯度下降法 203
12.4.3 评估近似结果 205
12.5 小结 209
第 13 章 构建图像识别系统——实战 210
13.1 图像数据的K 均值聚类 210
13.2 以主成分分析进行人脸识别 213
13.3 运用CNN 进行手写数字分类 223
13.3.1 生成特征 224
13.3.2 训练与测试 228
13.4 小结 234