3dwoo大學簡體電腦書店
Python大規模機器學習
( 簡體 字)
作者:[荷]巴斯蒂安·賈丁(Bastiaan Sjardin) [意]盧卡·馬薩羅(Luca Massaron) [意]阿爾貝托·博斯凱蒂(Alberto Boschetti)著類別:1. -> 程式設計 -> Python
   2. -> 程式設計 -> 機器學習
出版社:機械工業出版社Python大規模機器學習 3dWoo書號: 51060
詢問書籍請說出此書號!
有庫存
NT售價: 445
出版日:4/1/2019
頁數:296
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111623144 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
譯者序
前言
作者簡介
審校者簡介
第1章邁向可擴展性的第一步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計算的基礎知識等。



隨著大數據的興起,對計算及算法效率的需求不斷增加。本書介紹一組新的機器學習算法,它們能夠滿足這類擴展需求,并提高預測準確性。本書首先介紹可擴展的機器學習算法,這些算法的可擴展性可分為三級:第一級是可用于臺式計算機的加速算法;第二級是較新算法,專門為可擴展性而設計,可以處理更大的文件;第三級涉及在大數據環境中進行機器學習。本書還將介紹基于Hadoop中的MapReduce框架和Python中的Spark進行高效機器學習的新技術。

通過閱讀本書,你將學習:

應用可擴展性較好的機器學習算法

使用較新的大規模機器學習技術

以深度學習和可擴展數據處理技術來提高預測準確性

在Spark中使用MapReduce框架

通過Spark和Hadoop應用有效的機器學習算法

構建強大的可擴展集成

通過單機處理極端大型數據集,使用數據流訓練線性和非線性預測模型
“擁有大腦的好處在于:一個人可以學習,無知可以變成有知,點滴知識可以逐漸匯聚成江海”

——Douglas Hofstadter

機器學習屬于人工智能范疇,其目的是基于現有數據集(訓練集)來尋找函數,以便以盡可能高的正確性預測先前未見過的數據集(測試集)的結果,這通常以標簽和類別的形式(分類問題)或以連續值的形式(回歸問題)出現。在實際應用中,機器學習的具體實例包括預測未來股票價格,或從一組文件中對作者性別進行分類,等等。本書介紹最重要的機器學習概念和適合更大數據集的方法,并通過Python的實際示例向讀者進行講解。主要討論監督學習(分類和回歸),以及適用于更大數據集的無監督學習,比如主成分分析(PCA)、聚類和主題建模。

谷歌、Facebook和優步等大型IT公司都聲稱它們成功地大規模應用了這樣的機器學習方法,從而引起世界轟動。隨著大數據的出現和適用性提高,對可擴展機器學習解決方案的需求呈指數增長,導致許多其他公司甚至個人也已經開始渴望在大數據集中挖掘隱藏的相關性成果。不幸的是,大多數學習算法都不能很好擴展,會在臺式計算機或較大的計算集群上導致CPU和內存過載。因此,即使大數據的炒作高峰已經過去,但可擴展機器學習解決方案并不充裕。

坦率地說,仍然需要解決許多瓶頸問題,即便是很難歸類為大數據的數據集也如此(有的數據集高達2GB甚至更大)。本書的任務是提供合適的方法(有時甚至是非常規方法),以便大規模應用最強大的開源機器學習方法,而無須昂貴的企業解決方案或大型計算集群。通過本書,讀者可以學習使用Python和其他一些可用的解決方案(這些方案與可擴展的機器學習流水線能很好地集成)。閱讀這本書是一次旅程,它將讓你對機器學習有一個全新的了解,從而為你開始真正的大數據分析奠定基礎。

本書涵蓋的內容

第1章以正確視角提出可擴展機器學習的問題,以便你熟悉本書中將要使用的工具。

第2章討論采用隨機梯度下降(SGD)策略減少內存消耗,它基于非核心學習的主題。另外演示各種數據的不同處理技術,例如散列技巧。

第3章介紹流算法,它能夠以支持向量機的形式發現非線性。我們將介紹目前Scikit-learn的替代方法,如LIBLINEAR和Vowpal Wabbit,雖然它們以外部shell命令運行,但很容易用Python腳本封裝和定向。

第4章為在Theano框架中應用深度神經網絡以及使用H2O進行大規模處理提供有用策略。盡管這是個熱門話題,但成功應用它會相當困難,更別說提供可擴展的解決方案。另外,還將學習使用theanets包中的自動編碼器實現無監督的預訓練。

第5章介紹有趣的深度學習技術與在線神經網絡方法。雖然TensorFlow還處于起步階段,但該框架提供了非常不錯的機器學習解決方案。此外,還將詳解如何在TensorFlow環境中使用Keras卷積神經網絡功能。

第6章詳解隨機森林、梯度增強和XGboost的可擴展解決方案。CART是分類和回歸樹的縮寫,它是一種通常應用于集成方法框架的機器學習方法。我們還將演示使用H2O的大規模應用實例。

第7章深入介紹無監督學習、PCA、聚類分析和主題建模方法,并使用正確方法對它們進行擴展。

第8章學習如何在虛擬機環境中設置Spark,以便從單臺機器轉移到網絡計算范例。Python很容易在機器集群上集成并能增強我們的工作效率,因此很容易利用Hadoop集群的能力。

第9章演示使用Spark處理數據和在大數據集上構建預測模型的所有重要環節。

附錄介紹GPU和Theano,包括Theano和GPU計算的基礎知識。如果你的系統允許,還將幫助讀者學習相關安裝和環境配置,以便在GPU上使用Theano。

本書要求

運行書中代碼示例需要在macOS、Linux或Microsoft Windows上安裝Python 27或更高版本。

書中示例經常使用Python的基本功能庫,例如SciPy、NumPy、Scikitlearn和StatsModels,并且在某種程度上使用matplotlib和pandas進行科學和統計計算。也會使用稱為H2O的非核心云計算應用程序。

本書需要Jupyter及其Python內核驅動的Notebooks,本書使用最新版本41。

第1章將為設置Python環境、核心庫以及全部必需工具提供所有分步說明和某些技巧。

本書讀者

本書適合數據科學從業者、開發人員以及計劃使用大型復雜數據集的讀者。 我們努力讓本書擁有盡可能好的可讀性,以便適合更多讀者。 考慮到本書主題非常先進,我們建議讀者先熟悉基本的機器學習概念,如分類和回歸、誤差最小化函數和交叉驗證等,但不嚴格要求讀者必須這樣做。本書假設讀者了解Python、Jupyter Notebooks和命令行運行,并有一定的數學基礎,能夠掌握書中的各種大型解決方案背后的概念。本書寫作風格也適合使用其他語言(R、Java和MATLAB)的程序員。 理想情況下,非常適合(但不限于)熟悉機器學習并有興趣使用Python的數據科學家,因為相比于R或MATLAB而言,Python在計算、內存和I/O方面有優勢。

排版約定

書中代碼塊設置如下:



大多數示例中使用Jupyter Notebooks,所以希望在包含代碼塊的單元中始終帶有輸入(標記為In:),并通常帶有輸出(標記為Out:)。在你的計算機上,只需輸入In:后面的代碼,并檢查結果是否與Out:后面的內容相對應:



在終端命令行中給出命令時,會帶有前綴$>,否則,如果是Python REPL,則以>>>開頭:

表示警告或重要說明。

表示提示和技巧。

下載示例代碼及彩色圖像

本書的示例代碼及所有截圖和樣圖。
pagetop