本書開頭部分講了如何按照深度學習的需求來配置Apache Spark,以實現不同類型的神經網絡,接下來講述了在分布式環境中實現深度學習涉及的常見和不那么常見的需求。另外,你還將學到Spark中的深度學習代碼,這些代碼可以復用到其他類似的問題中,或者稍作改動用于略有不同的問題。將帶你一起用Spark對數據進行分流和聚類用TensorFlow、deeplearning4j和 Caffe在Spark中實現和部署深度學習模型,例如CNN、RNN和 LSTM。學完本書的內容,你將能夠在Spark上訓練和部署有效的深度學習模型。
Ahmed Sherif是一名數據科學家,自2005年以來一直從事各種角色的數據研究。他從2013年開始使用BI解決方案并慢慢轉向數據科學。2016年,他從西北大學獲得了預測分析碩士學位,在那里他研究深度學習的科學與應用和同時使用Python和R語言的預測建模。最近,他一直在使用Azure在云端開發機器學習和深度學習解決方案。2016年,他出版了他的第一本書《實用商業智能》。他目前是微軟的數據和人工智能技術解決方案專業人員。Amrith Ravindra博士是一位機器學習愛好者,擁有電氣與工業工程學位。在攻讀碩士學位的過程中,他更深入地研究機器學習世界,并培養了對數據科學的熱愛。工程專業的研究生課程給他提供了數學背景,使他進入深度學習的職業生涯。他在坦帕市舉行的當地數據科學聚會上會見了Ahmed Sherif。他們決定合作寫一本關于他們最喜歡的機器學習算法的書。他希望這本書能夠幫助他實現成為數據科學家并積極為機器學習做出貢獻的最終目標。
黃友良,計算機應用技術專業博士,畢業于北京師范大學,2009年7月-至今就職于北京中醫藥大學管理學院,中華醫學會教育技術分會第八、九屆委員會青年委員,中國中醫藥信息研究會人工智能分會理事,Adobe中國認證講師。
目錄
1 為深度學習開發設置Spark 1
介紹 1
下載Ubuntu桌面映像 2
在macOS中使用VMWare Fusion安裝和配置Ubuntu 3
在Windows中使用Oracle VirtualBox安裝和配置Ubuntu 8
為谷歌云平臺安裝和配置Ubuntu桌面端 11
在Ubuntu桌面端安裝和配置Spark 23
集成Jupyter Notebook與Spark 29
啟動和配置Spark集群 33
停止Spark集群 34
2 在Spark中創建神經網絡 36
介紹 36
在PySpark中創建數據幀 37
在PySpark數據幀中操作列 41
將PySpark數據幀轉換為數組 42
在散點圖中將數組可視化 46
設置輸入神經網絡的權重和偏差 49
規范化神經網絡的輸入數據 52
驗證數組以獲得最佳的神經網絡性能 55
使用sigmoid設置激活函數 57
創建sigmoid導數 60
計算神經網絡中的代價函數 62
根據身高值和體重值預測性別 66
預測分數并進行可視化 69
3 卷積神經網絡的難點 72
介紹 72
難點1:導入MNIST圖像 73
難點2:可視化MNIST圖像 77
難點3:將MNIST圖像導出為文件 80
難點4:增加MNIST圖像 82
難點5:利用備用資源訓練圖像 86
難點6:為卷積神經網絡優先考慮高級庫 88
4 循環神經網絡的難點 94
介紹 94
前饋網絡簡介 95
循環神經網絡的順序工作 103
難點1:梯度消失問題 108
難點2:梯度爆炸問題 111
長短期記憶單元的順序工作 114
5 用Spark機器學習預測消防部門呼叫 119
介紹 119
下載舊金山消防局呼叫數據集 119
識別邏輯回歸模型的目標變量 123
為邏輯回歸模型準備特征變量 130
應用邏輯回歸模型 137
評估邏輯回歸模型的準確度 142
6 在生成網絡中使用LSTM 145
介紹 145
下載將用作輸入文本的小說/書籍 145
準備和清理數據 151
標記句子 156
訓練和保存LSTM模型 158
使用模型生成類似的文本 163
7 使用TF-IDF進行自然語言處理 171
介紹 171
下載治療機器人會話文本數據集 172
分析治療機器人會話數據集 176
數據集單詞計數可視化 178
計算文本的情感分析 180
從文本中刪除停用詞 184
訓練TF-IDF模型 188
評估TF-IDF模型性能 192
比較模型性能和基線分數 194
8 使用XGBoost進行房地產價值預測 196
下載金斯縣房屋銷售數據集 196
執行探索性分析和可視化 199
繪制價格與其他特征之間的相關性 210
預測房價 223
9 使用長短期記憶單元預測蘋果公司股票市場價格 229
下載蘋果公司的股票市場數據 229
探索和可視化蘋果公司的股票市場數據 233
準備用于提升模型性能的股票市場數據 238
構建長短期記憶單元模型 246
評估長短期記憶單元模型 249
10 使用深度卷積網絡進行人臉識別 252
介紹 252
下載MIT-CBCL數據集并將其加載到內存中 252
繪制并可視化目錄中的圖像 257
圖像預處理 262
模型構建、訓練和分析 269
11 使用Word2Vec創建和可視化單詞向量 277
介紹 277
獲取數據 277
導入必要的庫 281
準備數據 284
構建和訓練模型 288
進一步可視化 293
進一步分析 300
12 使用Keras創建電影推薦引擎 304
介紹 304
下載MovieLens數據集 305
操作和合并MovieLens數據集 312
探索MovieLens數據集 318
為深度學習流水線準備數據集 322
應用Keras深度學習模型 327
評估推薦引擎的準確度 331
13 使用TensorFlow在Spark中進行圖像分類 333
介紹 333
下載梅西和羅納爾多各30張圖像 334
使用深度學習包安裝PySpark 339
將圖像加載到PySpark數據幀 341
理解遷移學習 344
創建用于圖像分類訓練的流水線 346
評估模型性能 348
微調模型參數 350