内容简介
前言
第一部分 机器学习基础
第1章 机器学习概览
什么是机器学习
为什么要使用机器学习
机器学习系统的种类
监督式/无监督式学习
批量学习和在线学习
基于实例与基于模型的学习
机器学习的主要挑战
训练数据的数量不足
训练数据不具代表性
质量差的数据
无关特征
训练数据过度拟合
训练数据拟合不足
退后一步
测试与验证
练习
第2章 端到端的机器学习项目
使用真实数据
???
框架问题
选择性能指标
检查假设
获取数据
创建工作区
下载数据
快速查看数据结构
创建测试集
从数据探索和可视化中获得洞见
将地理数据可视化
寻找相关性
试验不同属性的组合
机器学习算法的数据准备
数据清理
处理文本和分类属性
自定义转换器
特征缩放
转换流水线
选择和训练模型
培训和评估训练集
使用交叉验证来更好地进行评估
微调模型
网格搜索
随机搜索
集成方法
分析最佳模型及其错误
通过测试集评估系统
启动、监控和维护系统
试试看
练习
第3章 分类
MNIST
训练一个二元分类器
性能考核
使用交叉验证测量精度
混淆矩阵
精度和召回率
精度/召回率权衡
ROC曲线
多类别分类器
错误分析
多标签分类
多输出分类
练习
第4章 训练模型
线性回归
标准方程
计算复杂度
梯度下降
批量梯度下降
随机梯度下降
小批量梯度下降
多项式回归
学习曲线
正则线性模型
岭回归
套索回归
弹性网络
早期停止法
逻辑回归
概率估算
训练和成本函数
决策边界
Softmax回归
练习
第5章 支持向量机
线性SVM分类
软间隔分类
非线性SVM分类
多项式核
添加相似特征
高斯RBF核函数
计算复杂度
SVM回归
工作原理
决策函数和预测
训练目标
二次规划
对偶问题
核化SVM
在线SVM
练习
第6章 决策树
决策树训练和可视化
做出预测
估算类别概率
CART训练算法
计算复杂度
基尼不纯度还是信息熵
正则化超参数
回归
不稳定性
练习
第7章 集成学习和随机森林
投票分类器
bagging和pasting
Scikit-Learn的bagging和pasting
包外评估
Random Patches和随机子空间
随机森林
极端随机树
特征重要性
提升法
AdaBoost
梯度提升
堆叠法
练习
第8章 降维
维度的诅咒
数据降维的主要方法
投影
流形学习
PCA
保留差异性
主成分
低维度投影
使用Scikit-Learn
方差解释率
选择正确数量的维度
PCA压缩
增量PCA
随机PCA
核主成分分析
选择核函数和调整超参数
局部线性嵌入
其他降维技巧
练习
第二部分 神经网络和深度学习
第9章 运行TensorFlow
安装
创建一个计算图并在会话中执行
管理图
节 点值的生命周期
TensorFlow中的线性回归
实现梯度下降
手工计算梯度
使用自动微分
使用优化器
给训练算法提供数据
保存和恢复模型
用TensorBoard来可视化图和训练曲线
命名作用域
模块化
共享变量
练习
第10章 人工神经网络简介
从生物神经元到人工神经元
生物神经元
具有神经元的逻辑计算
感知器
多层感知器和反向传播
用TensorFlow的高级API来训练MLP
使用纯TensorFlow训练DNN
构建阶段
执行阶段
使用神经网络
微调神经网络的超参数
隐藏层的个数
每个隐藏层中的神经元数
激活函数
练习
第11章 训练深度神经网络
梯度消失/爆炸问题
Xavier初始化和He初始化
非饱和激活函数
批量归一化
梯度剪裁
重用预训练图层
重用TensorFlow模型
重用其他框架的模型
冻结低层
缓存冻结层
调整、丢弃或替换高层
模型动物园
无监督的预训练
辅助任务中的预训练
快速优化器
Momentum优化
Nesterov梯度加速
AdaGrad
RMSProp
Adam优化
学习速率调度
通过正则化避免过度拟合
提前停止
e1和e2正则化
dropout
最大范数正则化
数据扩充
实用指南
练习
第12章 跨设备和服务器的分布式TensorFlow
一台机器上的多个运算资源
安装
管理GPU RAM
在设备上操作
并行执行
控制依赖
多设备跨多服务器
开启一个会话
master和worker服务
分配跨任务操作
跨多参数服务器分片变量
用资源容器跨会话共享状态
使用TensorFlow队列进行异步通信
直接从图中加载数据
在TensorFlow集群上并行化神经网络
一台设备一个神经网络
图内与图间复制
模型并行化
数据并行化
练习
第13章 卷积神经网络
视觉皮层的组织结构
卷积层
过滤器
多个特征图的叠加
TensorFlow实现
内存需求
池化层
CNN架构
LeNet-5
AlexNet
GoogLeNet
ResNet
练习
第14章 循环神经网络
循环神经元
记忆单元
输入和输出序列
TensorFlow中的基本RNN
通过时间静态展开
通过时间动态展开
处理长度可变输入序列
处理长度可变输出序列
训练RNN
训练序列分类器
训练预测时间序列
创造性的RNN
深层RNN
在多个GPU中分配一个深层RNN
应用丢弃机制
多个时间迭代训练的难点
LSTM单元
窥视孔连接
GRU单元
自然语言处理
单词嵌入
用于机器翻译的编码器-解码器网络
练习
第15章 自动编码器
高效的数据表示
使用不完整的线性自动编码器实现PCA
栈式自动编码器
TensorFlow实现
权重绑定
一次训练一个自动编码器
重建可视化
特征可视化
使用堆叠的自动编码器进行无监控的预训练
去噪自动编码器
TensorFlow实现
稀疏自动编码器
TensorFlow实现
变分自动编码器
生成数字
其他自动编码器
练习
第16章 强化学习
学习奖励最优化
策略搜索
OpenAl gym介绍
神经网络策略
评估行为:信用分配问题
策略梯度
马尔可夫决策过程
时间差分学习与Q学习
探索策略
逼近Q学习
使用深度Q学习玩吃豆人游戏
练习
致谢
附录A练习答案
附录B机器学习项目清单
附录C SVM对偶问题
附录D自动微分
附录E其他流行的ANN架构