Python大規模機器學習
作 者: (荷)巴斯蒂安·賈丁(Bastiaan Sjardin) 等 著 王貴財,劉春明 譯
定 價: 89
出?版?社: 機械工業出版社
出版日期: 2019年05月01日
頁 數: 299
裝 幀: 平裝
ISBN: 9787111623144
●譯者序
前言
作者簡介
審校者簡介
章邁向可擴展性的步1
1.1詳細解釋可擴展性1
1.1.1大規模實例3
1.1.2介紹Python4
1.1.3使用Python進行向上擴展4
1.1.4使用Python進行向外擴展5
1.2Python用於大規模機器學習6
1.2.1選擇Python 2還是Python 36
1.2.2安裝Python7
1.2.3逐步安裝7
1.2.4安裝軟件包8
1.2.5軟件包升級9
1.2.6科學計算發行版10
1.2.7Jupyter/IPython介紹11
1.3Python包13
1.3.1NumPy14
1.3.2SciPy14
1.3.3pandas14
1.3.4Scikit.learn15
1.3.5小結21
第2章Scikit.learn中的可擴展學習22
2.1非核**習22
2.1.1選擇子采樣23
2.1.2一次優化一個實例24
2.1.3構建非核**習繫統25
2.2流化源數據25
2.2.1處理真實數據集26
2.2.2個示例——流化共享單車數據集28
2.2.3使用pandas I/O工具30
2.2.4使用數據庫31
2.2.5關注實例排序35
2.3隨機學習37
2.3.1批處理梯度下降37
2.3.2隨機梯度下降40
2.3.3Scikit.learn的SGD實現40
2.3.4定義SGD學習參數42
2.4數據流的特征管理43
2.4.1描述目標46
2.4.2哈希技巧49
2.4.3其他基本變換51
2.4.4流測試和驗證52
2.4.5使用SGD52
2.5小結56
第3章實現快速SVM57
3.1測試數據集58
3.1.1共享單車數據集58
3.1.2森林覆蓋類型數據集58
3.2支持向量機59
3.2.1hinge loss及其變形64
3.2.2Scikit.learn的SVM實現65
3.2.3探究通過子采樣改善非線性SVM68
3.2.4使用SGD實現大規模SVM70
3.3正則化特征選擇77
3.4SGD中的非線性78
3.5超參數調整82
3.6小結96
第4章神經網絡與深度學習97
4.1神經網絡架構98
4.1.1神經網絡如何學習106
4.1.2選擇正確的架構110
4.1.3使用神經網絡111
4.1.4sknn並行化111
4.2神經網絡和正則化113
4.3神經網絡和超參數優化115
4.4神經網絡和決策邊界117
4.5用H2O進行規模化深度學習120
4.5.1用H2O進行大規模深度學習121
4.5.2H2O上的網格搜索124
4.6深度學習和無監督預訓練126
4.7使用theanets進行深度學習126
4.8自動編碼器和無監督學習128
4.9小結131
第5章用TensorFlow進行深度學習132
5.1TensorFlow安裝134
5.2在TensorFlow上使用SkFlow進行機器學習140
5.3安裝Keras和TensorFlow148
5.4在TensorFlow中通過Keras實現卷積神經網絡152
5.4.1卷積層153
5.4.2池化層153
5.4.3全連接層154
5.5增量CNN方法156
5.6GPU計算156
5.7小結159
第6章大規模分類和回歸樹160
6.1bootstrap聚合162
6.2隨機森林和極端隨機森林163
6.3隨機搜索實現快速參數優化167
6.4CART和boosting172
6.5XGBoost179
6.5.1XGBoost回歸181
6.5.2XGBoost流化大型數據集184
6.5.3XGBoost模型存儲185
6.6用H2O實現非核心CART185
6.6.1H2O上的隨機森林和網格搜索186
6.6.2H2O上的隨機梯度增強和網格搜索188
6.7小結191
第7章大規模無監督學習192
7.1無監督方法192
7.2特征分解:PCA193
7.2.1隨機化PCA199
7.2.2增量PCA200
7.2.3稀疏PCA201
7.3使用H2O的PCA202
7.4K-均值聚類算法203
7.4.1初始化方法206
7.4.2K-均值假設206
7.4.3選擇最佳K209
7.4.4擴展K-均值算法:小批量212
7.5用H2O實現K-均值216
7.6LDA218
7.7小結226
第8章分布式環境——Hadoop和Spark227
8.1從單機到集群227
8.2設置VM230
8.2.1VirtualBox230
8.2.2Vagrant232
8.2.3使用VM232
8.3Hadoop生態繫統234
8.3.1架構234
8.3.2HDFS235
8.3.3MapReduce242
8.3.4YARN250
8.4Spark250
8.5小結260
第9章Spark機器學習實踐261
9.1為本章設置虛擬機261
9.2跨集群節點共享變量262
9.2.1廣播隻讀變量262
9.2.2累加器隻寫變量264
9.2.3廣播和累加器的示例265
9.3Spark的數據預處理267
9.3.1JSON文件和Spark DataFrame268
9.3.2處理缺失數據270
9.3.3在內存中分組和創建表271
9.3.4將預處理的DataFrame或RDD寫入磁盤273
9.3.5使用Spark DataFrame274
9.4Spark機器學習276
9.4.1Spark處理KDD99數據集277
9.4.2讀取數據集277
9.4.3特征工程280
9.4.4訓練學習器284
9.4.5評估學習器的表現286
9.4.6機器學習管道的威力286
9.4.7手動優化288
9.4.8交叉驗證291
9.5小結293
附錄介紹GPU和Theano294
內容簡介
本書不僅介紹大規模機器學習的基本概念,還包含豐富的案例研究。書中所選皆為很實用的技術和工具,而對理論細節不進行深入討論,旨在提供大規模機器學習方法(甚至很好規方法)。不管是初學者、普通用戶還是專家級用戶,通過本書都能理解並掌握利用Python進行大規模機器學習。為讓讀者快速掌握核心技術,本書由淺入深講解大量實例,圖文並茂呈現每一步的操作結果,幫助讀者更好地掌握大規模機器學習Python工具。例如:基於Scikit-learn可擴展學習、 Liblinear和Vowpal Wabbit快速支持向量機、基於Theano與H2O的大規模深度學習方法、TensorFlow深度學習技術與在線神經網絡方法、大規模分類和回歸樹的可擴展解決方案、大規模無監督學習(PCA,聚類分析和主題建模等)擴展方法、Hadoop和Spark分布式環境、Spark機器學習實踐以及Theano和GPU計算的基礎知識。
(荷)巴斯蒂安·賈丁(Bastiaan Sjardin) 等 著 王貴財,劉春明 譯