目 錄
第1章 深度學習基礎 1
1.1 人工智能、機器學習與深度學習 1
1.1.1 人工智能的誕生 1
1.1.2 人工智能、機器學習和深度學習的關系 3
1.1.3 深度學習的發(fā)展 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章 數(shù)據抓取與存儲 10
2.1 Windows系統(tǒng)下Python開發(fā)環(huán)境的安裝 10
2.1.1 Windows系統(tǒng)下安裝Anaconda 11
2.1.2 下載并安裝Python 3安裝包 11
2.1.3 檢查環(huán)境安裝是否成功 13
2.2 Linux系統(tǒng)下Python開發(fā)環(huán)境的安裝 13
2.2.1 CentOS 7系統(tǒng)下安裝Python 3.6 14
2.2.2 Ubuntu 18.04系統(tǒng)下安裝Python 3.6.6 15
2.2.3 Linux系統(tǒng)下安裝Anaconda 15
2.3 第三方庫的安裝 16
2.3.1 數(shù)據收集與處理流程 16
2.3.2 請求庫的安裝 17
2.3.3 解析庫的安裝 17
2.4 數(shù)據庫的安裝 19
2.4.1 Windows系統(tǒng)下安裝MySQL 8.0 19
2.4.2 Ubuntu系統(tǒng)下安裝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協(xié)議和HTTPS協(xié)議 26
2.5.4 HTTP請求 27
2.5.5 Request請求 29
2.5.6 Reponse響應 33
2.6 實戰(zhàn)案例:抓取雙色球開獎數(shù)據 35
2.6.1 項目介紹 35
2.6.2 抓取最新期開獎數(shù)據 35
2.6.3 抓取歷史期開獎數(shù)據 49
第3章 概率論基礎 57
3.1 樣本空間及隨機變量 57
3.1.1 樣本空間 57
3.1.2 隨機變量 58
3.2 概率分布及分布函數(shù) 59
3.2.1 概率分布 59
3.2.2 分布函數(shù) 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 實戰(zhàn)案例:分析雙色球一等獎開獎注數(shù)是否隨機 68
3.4.1 查詢數(shù)據 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 偏態(tài)性 80
4.2.3 連貫性 81
4.2.4 時序性 81
4.3 馬爾可夫鏈模型 82
4.3.1 馬爾可夫鏈的基本原理 82
4.3.2 基于加權馬爾可夫鏈的模型福彩3D分析與預測 85
4.4 實戰(zhàn)案例:馬爾可夫鏈模型預測 87
4.4.1 項目介紹 87
4.4.2 抓取福彩3D數(shù)據 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章 深度學習框架簡介及環(huán)境安裝 117
5.1 Tensorflow的發(fā)展歷程 117
5.2 Ubuntu系統(tǒng)下安裝TensorFlow+Keras 120
5.2.1 安裝CPU版本的TensorFlow 120
5.2.2 安裝Keras 122
5.3 Windows系統(tǒng)下安裝TensorFlow+Keras 122
5.3.1 安裝GPU版本的TensorFlow 122
5.3.2 安裝Keras 127
第6章 深度學習原理 128
6.1 深度學習數(shù)學基礎 128
6.1.1 張量 128
6.1.2 應用中的數(shù)據張量 132
6.2 神經網絡基礎 134
6.2.1 感知器 134
6.2.2 線性單元 140
6.2.3 線性模型 141
6.2.4 目標函數(shù) 141
6.2.5 梯度下降算法 142
6.2.6 隨機梯度下降算法 148
6.2.7 線性回歸代碼實例 148
6.3 循環(huán)神經網絡 152
6.3.1 循環(huán)神經網絡的概念 152
6.3.2 實戰(zhàn)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 指定輸入數(shù)據的大小 163
7.2.2 模型編譯 163
7.2.3 優(yōu)化器 164
7.2.4 損失函數(shù) 171
7.2.5 損失函數(shù)的選擇 173
7.2.6 評價函數(shù) 181
7.2.7 模型訓練 182
7.2.8 訓練歷史可視化 184
7.2.9 模型預測 184
7.3 Keras LSTM簡介 185
7.3.1 LSTM參數(shù)介紹 185
7.3.2 LSTM序列模型搭建 186
7.4 實戰(zhàn)案例:LSTM神經網絡預測福彩3D 188
7.4.1 項目介紹 188
7.4.2 導入數(shù)據和參數(shù) 189
7.4.3 構建LotteryLSTM框架類 191
7.4.4 LotteryLSTM初始化 192
7.4.5 訓練數(shù)據集和測試數(shù)據集分割 192
7.4.6 LSTM網絡的創(chuàng)建與訓練 194
7.4.7 Keras模型的保存 196
7.4.8 LSTM網絡評估 199
7.4.9 LSTM網絡預測結果可視化 200
7.4.10 項目代碼實現(xiàn) 201
7.5 參考文獻 211
第8章 福彩3D預測平臺工程搭建 212
8.1 工程代碼整合 212
8.1.1 LSTM神經網絡模型保存 212
8.1.2 LSTM神經網絡模型調用 218
8.1.3 抓取數(shù)據代碼 220
8.1.4 MySQL數(shù)據庫導入數(shù)據庫文件 223
8.2 工程代碼 224
8.3 結束語 246