第1章 数学基础与Python库 1
1.1 Python是进行人工智能编程的主要语言 1
1.2 数学基础 4
1.2.1 线性代数基础 4
1.2.2 微积分基础 8
1.3 Python库的操作 17
1.3.1 numpy操作 17
1.3.2 matplotlib操作 23
本章小结 27
第2章 深度学习概论与PaddlePaddle入门 28
2.1 人工智能、机器学习与深度学习 29
2.1.1 人工智能 30
2.1.2 机器学习 30
2.1.3 深度学习 31
2.2 深度学习的发展历程 32
2.2.1 神经网络的第一次高潮 32
2.2.2 神经网络的第一次寒冬 33
2.2.3 神经网络的第二次高潮 34
2.2.4 神经网络的第二次寒冬 35
2.2.5 深度学习的来临 35
2.2.6 深度学习崛起的时代背景 36
2.3 深度学习的应用场景 36
2.3.1 图像与视觉 37
2.3.2 语音识别 37
2.3.3 自然语言处理 38
2.3.4 个性化推荐 38
2.4 常见的深度学习网络结构 39
2.4.1 全连接网络结构 39
2.4.2 卷积神经网络 40
2.4.3 循环神经网络 41
2.5 机器学习回顾 41
2.5.1 线性回归的基本概念 42
2.5.2 数据处理 44
2.5.3 模型概览 45
2.5.4 效果展示 46
2.6 深度学习框架简介 47
2.6.1 深度学习框架的作用 47
2.6.2 常见的深度学习框架 48
2.6.3 PaddlePaddle简介 49
2.6.4 PaddlePaddle使用 49
2.7 PaddlePaddle实现 51
本章小结 60
第3章 深度学习的单层网络 61
3.1 Logistic回归模型 62
3.1.1 Logistic回归概述 62
3.1.2 损失函数 64
3.1.3 Logistic回归的梯度下降 66
3.2 实现Logistic回归模型 71
3.2.1 Python版本 72
3.2.2 PaddlePaddle版本 81
本章小结 90
第4章 浅层神经网络 92
4.1 神经网络 92
4.1.1 神经网络的定义及其结构 92
4.1.2 神经网络的计算 94
4.2 BP算法 100
4.2.1 逻辑回归与BP算法 101
4.2.2 单样本双层神经网络的BP算法 101
4.2.3 多个样本神经网络BP算法 105
4.3 BP算法实践 108
4.3.1 Python版本 109
4.3.2 PaddlePaddle版本 116
本章小结 122
第5章 深层神经网络 123
5.1 深层网络介绍 123
5.1.1 深度影响算法能力 124
5.1.2 网络演化过程与常用符号 125
5.2 传播过程 127
5.2.1 神经网络算法核心思想 127
5.2.2 深层网络前向传播过程 128
5.2.3 深层网络后向传播过程 129
5.2.4 传播过程总结 130
5.3 网络的参数 132
5.4 代码实现 133
5.4.1 Python版本 133
5.4.2 PaddlePaddle版本 136
本章小结 140
第6章 卷积神经网络 141
6.1 图像分类问题描述 141
6.2 卷积神经网络介绍 142
6.2.1 卷积层 142
6.2.2 ReLU激活函数 147
6.2.3 池化层 148
6.2.4 Softmax分类层 149
6.2.5 主要特点 151
6.2.6 经典神经网络架构 152
6.3 PaddlePaddle实现 159
6.3.1 数据介绍 159
6.3.2 模型概览 160
6.3.3 配置说明 160
6.3.4 应用模型 168
本章小结 169
第7章 个性化推荐 170
7.1 问题描述 170
7.2 传统推荐方法 171
7.2.1 基于内容的推荐 172
7.2.2 协同过滤推荐 173
7.2.3 混合推荐 175
7.3 深度学习推荐方法 176
7.3.1 YouTube的深度神经网络推荐系统 176
7.3.2 融合推荐系统 178
7.4 个性化推荐系统在PaddlePaddle上的实现 180
7.4.1 数据准备 180
7.4.2 模型配置 182
7.4.3 模型训练 184
7.4.4 模型测试 188
本章小结 188
第8章 个性化推荐的分布式实现 190
8.1 PaddlePaddle Cloud介绍 190
8.2 PaddlePaddle Cloud使用 192
8.2.1 创建集群 192
8.2.2 配置集群 192
8.2.3 配置客户端 193
8.3 个性化推荐在PaddlePaddle Cloud上的实现 194
8.3.1 提交单节点任务 194
8.3.2 个性化推荐在PaddlePaddleCloud上的实现 196
本章小结 199
第9章 广告CTR预估 200
9.1 CTR预估简介 200
9.1.1 CTR定义 201
9.1.2 CTR与推荐算法的异同 202
9.1.3 CTR预估的评价指标 202
9.2 CTR预估的基本过程 205
9.2.1 CTR预估的三个阶段 206
9.2.2 CTR预估中的特征预处理 206
9.3 CTR预估的常见模型 208
9.3.1 LR模型 208
9.3.2 GBDT模型 210
9.3.3 GBDT+LR模型 212
9.3.4 FM+DNN模型 214
9.3.5 MLR模型 215
9.4 CTR预估在工业上的实现 217
9.5 CTR预估在PaddlePaddle上的实现 218
9.5.1 数据集 218
9.5.2 预测模型选择和构建 219
9.5.3 PaddlePaddle完整实现 222
本章小结 226
第10章 算法优化 227
10.1 基础知识 227
10.1.1 训练、验证和测试集 227
10.1.2 偏差和方差 228
10.2 评估 229
10.2.1 选定评估目标 229
10.2.2 迭代过程 230
10.2.3 欠拟合和过拟合 230
10.3 调优策略 231
10.3.1 降低偏差 231
10.3.2 降低方差 236
10.4 超参数调优 242
10.4.1 随机搜索和网格搜索 242
10.4.2 超参数范围 243
10.4.3 分阶段搜索 243
10.4.4 例子:对学习率的调整 244
本章小结 245