译者序
前言
第1章 机器学习的思维1
1.1 人机界面1
1.2 设计原理4
1.2.1 问题的类型6
1.2.2 问题是否正确7
1.2.3 任务8
1.2.4 统一建模语言27
1.3 总结31
第2章 工具和技术32
2.1 Python与机器学习33
2.2 IPython控制台33
2.3 安装SciPy栈34
2.4 NumPy35
2.4.1 构造和变换数组38
2.4.2 数学运算39
2.5 Matplotlib41
2.6 Pandas45
2.7 SciPy47
2.8 Scikit-learn50
2.9 总结57
第3章 将数据变为信息58
3.1 什么是数据58
3.2 大数据59
3.2.1 大数据的挑战60
3.2.2 数据模型62
3.2.3 数据分布63
3.2.4 来自数据库的数据67
3.2.5 来自互联网的数据68
3.2.6 来自自然语言的数据70
3.2.7 来自图像的数据72
3.2.8 来自应用编程接口的数据72
3.3 信号74
3.4 数据清洗76
3.5 数据可视化78
3.6 总结80
第4章 模型—从信息中学习81
4.1 逻辑模型81
4.1.1 一般性排序83
4.1.2 解释空间84
4.1.3 覆盖空间86
4.1.4 PAC学习和计算复杂性87
4.2 树状模型88
4.3 规则模型92
4.3.1 有序列表方法94
4.3.2 基于集合的规则模型95
4.4 总结98
第5章 线性模型100
5.1 最小二乘法101
5.1.1 梯度下降102
5.1.2 正规方程法107
5.2 logistic回归109
5.3 多分类113
5.4 正则化115
5.5 总结117
第6章 神经网络119
6.1 神经网络入门119
6.2 logistic单元121
6.3 代价函数126
6.4 神经网络的实现128
6.5 梯度检验133
6.6 其他神经网络架构134
6.7 总结135
第7章 特征—算法眼中的世界136
7.1 特征的类型137
7.1.1 定量特征137
7.1.2 有序特征138
7.1.3 分类特征138
7.2 运算和统计139
7.3 结构化特征141
7.4 特征变换141
7.4.1 离散化143
7.4.2 归一化144
7.4.3 校准145
7.5 主成分分析149
7.6 总结151
第8章 集成学习152
8.1 集成学习的类型152
8.2 Bagging方法153
8.2.1 随机森林154
8.2.2 极端随机树155
8.3 Boosting方法159
8.3.1 AdaBoost161
8.3.2 梯度Boosting163
8.4 集成学习的策略165
8.5 总结168
第9章 设计策略和案例研究169
9.1 评价模型的表现169
9.2 模型的选择174
9.3 学习曲线176
9.4 现实世界中的案例研究178
9.4.1 建立一个推荐系统178
9.4.2 温室虫害探测185
9.5 机器学习一瞥188
9.6 总结190