目 录
第1章 深度学习基础 1
1.1 人工智能、机器学习与深度学习 1
1.1.1 人工智能的诞生 1
1.1.2 人工智能、机器学习和深度学习的关系 3
1.1.3 深度学习的发展 3
1.2 深度学习的应用领域 4
1.2.1 语音搜索和语音助手 4
1.2.2 图像识别 4
1.2.3 自动驾驶 5
1.2.4 金融领域 5
1.3 深度学习的主要框架 5
1.3.1 Theano 6
1.3.2 TensorFlow 6
1.3.3 Keras 7
1.3.4 PyTorch 8
1.3.5 Microsoft CNTK 8
1.3.6 MXNet 9
第2章 数据抓取与存储 10
2.1 Windows系统下Python开发环境的安装 10
2.1.1 Windows系统下安装Anaconda 11
2.1.2 下载并安装Python 3安装包 11
2.1.3 检查环境安装是否成功 13
2.2 Linux系统下Python开发环境的安装 13
2.2.1 CentOS 7系统下安装Python 3.6 14
2.2.2 Ubuntu 18.04系统下安装Python 3.6.6 15
2.2.3 Linux系统下安装Anaconda 15
2.3 第三方库的安装 16
2.3.1 数据收集与处理流程 16
2.3.2 请求库的安装 17
2.3.3 解析库的安装 17
2.4 数据库的安装 19
2.4.1 Windows系统下安装MySQL 8.0 19
2.4.2 Ubuntu系统下安装MySQL 8.0 23
2.4.3 存储库的安装 24
2.5 爬虫基础 25
2.5.1 URI和URL 25
2.5.2 超文本 25
2.5.3 HTTP协议和HTTPS协议 26
2.5.4 HTTP请求 27
2.5.5 Request请求 29
2.5.6 Reponse响应 33
2.6 实战案例:抓取双色球开奖数据 35
2.6.1 项目介绍 35
2.6.2 抓取最新期开奖数据 35
2.6.3 抓取历史期开奖数据 49
第3章 概率论基础 57
3.1 样本空间及随机变量 57
3.1.1 样本空间 57
3.1.2 随机变量 58
3.2 概率分布及分布函数 59
3.2.1 概率分布 59
3.2.2 分布函数 60
3.3 离散随机变量 61
3.3.1 离散随机变量概述 61
3.3.2 离散随机变量的均匀分布 62
3.3.3 伯努利分布(Bernoulli Distribution) 65
3.3.4 二项分布(Binomial Distribution) 65
3.3.5 泊松分布(Poisson Distribution) 66
3.4 实战案例:分析双色球一等奖开奖注数是否随机 68
3.4.1 查询数据 68
3.4.2 柱形图显示 70
第4章 时间序列 77
4.1 时间序列入门 77
4.1.1 什么是时间序列 77
4.1.2 时间序列的基本概念 78
4.1.3 如何进行时间序列分析 79
4.2 彩票的特性模型选择 80
4.2.1 概率均等性 80
4.2.2 偏态性 80
4.2.3 连贯性 81
4.2.4 时序性 81
4.3 马尔可夫链模型 82
4.3.1 马尔可夫链的基本原理 82
4.3.2 基于加权马尔可夫链的模型福彩3D分析与预测 85
4.4 实战案例:马尔可夫链模型预测 87
4.4.1 项目介绍 87
4.4.2 抓取福彩3D数据 87
4.4.3 马尔可夫链预测的步骤分析 96
4.4.4 马尔可夫链预测步骤一:马尔可夫性验证 96
4.4.5 马尔可夫链预测步骤二:一步转移概率矩阵 98
4.4.6 马尔可夫链预测步骤三:n步转移概率矩阵 101
4.4.7 马尔可夫链预测步骤四:计算权重wk 101
4.4.8 马尔可夫链预测步骤五:进行预测 103
第5章 深度学习框架简介及环境安装 117
5.1 Tensorflow的发展历程 117
5.2 Ubuntu系统下安装TensorFlow+Keras 120
5.2.1 安装CPU版本的TensorFlow 120
5.2.2 安装Keras 122
5.3 Windows系统下安装TensorFlow+Keras 122
5.3.1 安装GPU版本的TensorFlow 122
5.3.2 安装Keras 127
第6章 深度学习原理 128
6.1 深度学习数学基础 128
6.1.1 张量 128
6.1.2 应用中的数据张量 132
6.2 神经网络基础 134
6.2.1 感知器 134
6.2.2 线性单元 140
6.2.3 线性模型 141
6.2.4 目标函数 141
6.2.5 梯度下降算法 142
6.2.6 随机梯度下降算法 148
6.2.7 线性回归代码实例 148
6.3 循环神经网络 152
6.3.1 循环神经网络的概念 152
6.3.2 实战RNN 153
6.4 LSTM神经网络 156
6.4.1 RNN的长期依赖问题 156
6.4.2 LSTM原理简介 156
6.5 参考文献 159
第7章 Keras入门 160
7.1 Keras简介 160
7.1.1 Keras在TensorFlow中的架构图 161
7.1.2 Keras基础 161
7.2 Sequential顺序模型 162
7.2.1 指定输入数据的大小 163
7.2.2 模型编译 163
7.2.3 优化器 164
7.2.4 损失函数 171
7.2.5 损失函数的选择 173
7.2.6 评价函数 181
7.2.7 模型训练 182
7.2.8 训练历史可视化 184
7.2.9 模型预测 184
7.3 Keras LSTM简介 185
7.3.1 LSTM参数介绍 185
7.3.2 LSTM序列模型搭建 186
7.4 实战案例:LSTM神经网络预测福彩3D 188
7.4.1 项目介绍 188
7.4.2 导入数据和参数 189
7.4.3 构建LotteryLSTM框架类 191
7.4.4 LotteryLSTM初始化 192
7.4.5 训练数据集和测试数据集分割 192
7.4.6 LSTM网络的创建与训练 194
7.4.7 Keras模型的保存 196
7.4.8 LSTM网络评估 199
7.4.9 LSTM网络预测结果可视化 200
7.4.10 项目代码实现 201
7.5 参考文献 211
第8章 福彩3D预测平台工程搭建 212
8.1 工程代码整合 212
8.1.1 LSTM神经网络模型保存 212
8.1.2 LSTM神经网络模型调用 218
8.1.3 抓取数据代码 220
8.1.4 MySQL数据库导入数据库文件 223
8.2 工程代码 224
8.3 结束语 246