第 1 章 如何阅读本书 1
1.1 获取Python 2
1.1.1 学习Python 3
1.1.2 软件包 3
1.2 不需要等待 3
1.3 小结 4
附注 5
第 2 章 深度学习入门 6
2.1 为什么要学习深度学习 7
2.1.1 最后一子 8
2.1.2 一件怪事 8
2.1.3 两类人 9
2.2 什么是深度学习 10
2.2.1 成功的蓝图 10
2.2.2 有监督学习和无监督学习 11
2.2.3 深度学习的流程 11
2.3 深度学习能解决什么问题 12
2.4 哪些领域使用深度学习 14
2.4.1 深度学习能揭开永葆青春的秘密吗 15
2.4.2 衰老的挑战 15
2.4.3 众多的理论 16
2.4.4 数据科学家的答案 16
2.5 想使用深度学习——却不知如何开始 17
2.6 小结 18
附注 18
第3 章 神经网络基础 27
3.1 历史备忘录 28
3.2 神经网络的拓扑结构 29
3.3 神经元的作用 30
人工神经元 31
3.4 理解激活函数 31
3.4.1 数学计算 32
3.4.2 sigmoid 函数 34
3.4.3 运算成本 34
3.5 神经网络如何进行学习 35
基本算法 36
3.6 解释梯度下降算法 37
3.6.1 误差曲面 38
3.6.2 随机梯度下降 39
3.7 小结 39
附注 40
第4 章 深度神经网络简介 42
4.1 深度神经网络简析 43
4.2 怎样在一分钟内解释深度神经网络 44
4.2.1 如何看待DNN 44
4.2.2 统计学家的视角 45
4.2.3 一个关键的观点 45
4.3 深度神经网络的3 种使用方式 45
4.3.1 增强雾天的可视性 46
4.3.2 打击黑客犯罪 50
4.3.3 不可思议的缩略图 51
4.4 如何快速地近似任何函数 54
4.4.1 一个用Python 构建深度神经网络的极简方法 55
4.4.2 生成示例 56
4.4.3 检查样本 57
4.4.4 格式化数据 58
4.4.5 拟合模型 60
4.4.6 性能表现评估 61
4.5 有监督学习概述 62
4.5.1 有监督学习的目标 63
4.5.2 无监督学习 63
4.5.3 半监督学习 64
4.6 小结 65
附注 65
第5 章 如何构建可定制的深度预测模型 70
5.1 一个深度神经网络预测的实际应用 71
5.1.1 样本数据和神经网络 71
5.1.2 可靠的性能表现 72
5.2 明确预测目标 72
5.3 获取数据的拷贝 74
5.4 标准化的重要性 75
5.5 使用训练样本和测试样本 76
5.6 创建深度神经网络回归模型的极简方式 78
5.7 学习速率详解 79
5.7.1 选择最佳值 80
5.7.2 如果将模型拟合到数据 81
5.8 评估模型在训练集性能表现的几种方式 81
5.8.1 均方差 82
5.8.2 获取预测和度量性能 83
5.9 小结 83
附注 84
第6 章 提高性能的一些技巧 85
6.1 sigmoid 激活函数的局限 86
6.2 选择最佳层数的原则 89
6.3 如何快速改进模型 92
6.4 避免过度拟合 93
6.5 应该包含多少个神经元 95
6.6 评估测试数据集上的性能 96
6.7 冻结网络权重 97
6.8 保存网络以供将来使用 98
6.9 小结 99
附注 99
第7 章 二元分类神经网络的奥秘 101
7.1 感人至深——创造奇迹 102
7.1.1 一项二元分类任务 103
7.1.2 有用的结果 103
7.2 了解分类目标 104
7.3 使用Python 从网络下载数据 105
7.4 处理缺失的观测值 107
7.5 保存数据 111
7.6 冲量简单入门 112
7.7 留出法的秘密 113
7.8 如何用Python 快速构建一个深度神经网络二元分类器 115
7.8.1 生成训练集和测试集 117
7.8.2 指定模型 117
7.8.3 拟合模型 118
7.8.4 混淆矩阵 119
7.9 小结 120
附注 120
第8 章 构建优秀模型之道 123
8.1 尝试最简单的想法提高成功率 124
8.2 辍学的威力 124
8.3 相似性 126
8.4 共适应 126
8.5 一个教训 127
8.6 双曲正切激活函数的威力以及如何有效地使用 127
8.7 如何从小批量方法中获益 128
8.8 重建模型 129
8.9 关于不平衡样本你应该知道的事 131
8.9.1 核心问题 131
8.9.2 查看测试集上的表现 133
8.10 小结 134
附注 134
第9 章 深度神经网络在多元分类问题的简单应用 136
9.1 分类问题描述 138
9.1.1 查看样本 139
9.1.2 检查目标对象 140
9.2 关于softmax 激活函数的说明 140
9.3 使用rmsprop 算法构建多项式模型 141
9.3.1 关于rmsprop 算法的说明 143
9.3.2 模型性能表现 144
9.4 Adagrad 学习算法概述 144
9.5 如何尝试其他学习算法 146
9.5.1 Nesterov 的加速梯度下降算法 146
9.5.2 尝试冲量法 147
9.5.3 常规随机梯度下降法 148
9.5.4 在模型中使用Adadelta 算法 149
9.5.5 测试集性能表现 150
9.6 小结 152
9.7 结束语 152
附注 152