第1章 如何解决机器学习中的所有问题 1
1.1 什么是一个问题 1
1.2 什么是一个算法 2
1.3 什么是机器学习 3
1.4 是否需要机器学习 3
1.5 一般问题解决过程 4
1.6 什么是一个模型 5
1.6.1 什么是一个好的模型 6
1.7 本书主要内容与章节安排 6
1.8 为什么选择Go语言 7
1.9 快速启动 7
1.10 函数 7
1.11 变量 8
1.11.1 值 9
1.11.2 类型 9
1.11.3 方法 11
1.11.4 接口 11
1.11.5 包和导入 12
1.12 开始 13
第2章 线性回归——房价预测 14
2.1 项目背景 15
2.2 探索性数据分析 15
2.2.1 数据摄取和索引 16
2.2.2 数据清洗工作 18
2.2.3 进一步的探索性工作 25
2.2.4 标准化 33
2.3 线性回归 34
2.3.1 回归 35
2.3.2 交叉验证 37
2.4 讨论和下一步的工作 39
2.5 小结 40
第3章 分类——垃圾邮件检测 41
3.1 项目背景 41
3.2 探索性数据分析 42
3.2.1 数据标记 42
3.2.2 规范化和词干提取 45
3.2.3 停用词 45
3.2.4 数据摄取 46
3.3 分类器 47
3.4 朴素贝叶斯 48
3.4.1 TF-IDF 48
3.4.2 条件概率 49
3.4.3 特征 51
3.4.4 贝叶斯定理 51
3.5 分类器实现 52
3.5.1 类 53
3.5.2 分类器第Ⅱ部分 54
3.6 程序整合 58
3.7 小结 61
第4章 利用时间序列分析分解二氧化碳趋势 62
4.1 探索性数据分析 62
4.1.1 从非HTTP数据源下载 63
4.1.2 处理非标准数据 63
4.1.3 处理小数型日期 64
4.1.4 绘图 65
4.2 分解 68
4.2.1 STL 69
4.2.2 更多绘制内容 81
4.3 预测 86
4.4 小结 89
参考文献 89
第5章 通过聚类整理个人推特账户的时间线 90
5.1 项目背景 90
5.2 K均值 90
5.3 DBSCAN 92
5.4 数据采集 92
5.5 探索性数据分析 92
5.6 数据信息 96
5.6.1 处理器 97
5.6.2 单字预处理 99
5.6.3 单条推特处理 103
5.7 聚类 103
5.7.1 K均值聚类 104
5.7.2 DBSCAN聚类 105
5.7.3 DMMClust聚类 107
5.8 实际数据 108
5.9 程序 111
5.10 程序调整 113
5.10.1 距离调整 114
5.10.2 预处理步骤调整 115
5.11 小结 117
第6章 神经网络——MNIST手写体识别 118
6.1 神经网络 118
6.1.1 模拟神经网络 119
6.2 线性代数101 121
6.2.1 激活函数探讨 123
6.3 学习功能 125
6.4 项目背景 126
6.4.1 Gorgonia 126
6.4.2 数据获取 126
6.4.3 什么是张量 129
6.4.4 构建神经网络 138
6.4.5 前馈 139
6.4.6 基于maybe类型进行错误处理 140
6.4.7 前馈函数说明 142
6.4.8 成本 143
6.4.9 反向传播 143
6.5 神经网络训练 146
6.6 交叉验证 148
6.7 小结 150
第7章 卷积神经网络——MNIST手写体识别 151
7.1 有关神经元的一切认识都是错误的 151
7.2 回顾神经网络 151
7.2.1 Gorgonia 152
7.2.2 构建一个神经网络 161
7.3 项目 164
7.3.1 数据获取 164
7.3.2 上一章 的其他内容 166
7.4 CNN简介 168
7.4.1 什么是卷积 168
7.4.2 最大池化 176
7.4.3 退出 176
7.5 构建一个CNN 176
7.5.1 反向传播 180
7.6 运行神经网络 182
7.7 测试 186
7.7.1 准确率 188
7.8 小结 189
第8章 基本人脸检测 190
8.1 什么是人脸 190
8.1.1 Viola-Jones 191
8.2 PICO 194
8.2.1 关于学习的注意事项 194
8.3 GoCV 195
8.3.1 API 195
8.4 PIGO 195
8.5 人脸检测程序 196
8.5.1 从网络摄像头获取图像 196
8.5.2 图像显示 197
8.5.3 在图像上涂鸦 198
8.5.4 人脸检测1 198
8.5.5 人脸检测2 200
8.5.6 算法结合 205
8.6 算法评估 206
8.7 小结 208
第9章 热狗或者不是热狗——使用外部服务 209
9.1 MachineBox 209
9.2 什么是MachineBox 210
9.2.1 登录和注册 210
9.2.2 Docker安装与设置 211
9.2.3 在Go语言中使用MachineBox 211
9.3 项目 212
9.3.1 训练 212
9.3.2 从网络摄像头读取图像 213
9.3.3 美化结果 214
9.4 结果 216
9.5 这一切意味着什么 218
9.6 为什么采用MachineBox 219
9.7 小结 219
第10章 今后发展趋势 220
10.1 读者应该关注什么 221
10.1.1 从业者 221
10.1.2 研究人员 221
10.2 研究人员、从业者及其利益相关者 222
10.3 本书未涉及的内容 222
10.4 更多学习资源 223