-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Python與機器學習實戰:決策樹、集成學習、支持向量機與神經網絡算法詳解及編程實現

( 簡體 字)
作者:何宇健類別:1. -> 程式設計 -> Python
   2. -> 程式設計 -> 機器學習
譯者:
出版社:電子工業出版社Python與機器學習實戰:決策樹、集成學習、支持向量機與神經網絡算法詳解及編程實現 3dWoo書號: 47136
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:6/1/2017
頁數:328
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121317200
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

自從AlphaGo在2016年3月戰勝人類圍棋頂尖高手李世石后,“人工智能”“深度學習”這一類詞匯就進入了大眾的視野;而作為更加寬泛的一個概念——“機器學習”則多少順勢成為了從學術界到工業界都相當火熱的話題。不少人可能都想嘗試和體驗一下“機器學習”這個可以說相當神奇的東西,不過可能又苦于不知如何下手。編著本書的目的,就是想介紹一種入門機器學習的方法。雖然市面上已經有許多機器學習的書籍,但它們大多要么過于偏重理論,要么過于偏重應用,要么過于“厚重”;本書致力于將理論與實踐相結合,在講述理論的同時,利用Python這一門簡明有力的編程語言進行一系列的實踐與應用。
當然,囿于作者水平,本書實現的一些模型從速度上來說會比成熟的第三方庫中實現的模型要慢不少。一方面是因為比較好的第三方庫背后往往會用底層語言來實現核心算法,另一方面則是本書通常會把數據預處理的過程涵蓋在模型中。以決策樹模型為例,scikit-learn中的決策樹模型會比本書實現的要快很多,但本書實現的模型能夠用scikit-learn中決策樹模型訓練不了的訓練集來訓練。
同時,限于篇幅、本書無法將所有代碼都悉數放出(事實上這樣做的意義也不是很大),所以我們會略去一些相對枯燥且和相應算法的核心思想關系不大的實現。對于這些實現,我們會進行相應的算法說明,感興趣的讀者可以嘗試自己一步一步地去實現,也可以直接在GitHub上面查看筆者自己實現的版本(GitHub地址會在相應的地方貼出)。
雖說確實可以完全罔顧理論來用機器學習解決許多問題,但是如果想要理解背后的道理并借此提高解決問題的效率,扎實的理論根基是必不可少的。本書會盡量避免羅列枯燥的數學公式,但是基本的公式常常不可或缺。雖然筆者想要盡量做到通俗易懂,但仍然還是需要讀者擁有一定的數學知識。不過為了閱讀體驗良好,本書通常會將比較煩瑣的數學理論及相關推導放在每一章的倒數第二節(最后一節是總結)作為某種意義上的“附加內容”。這樣做有若干好處:
? 對于已經熟知相關理論的讀者,可以不再重復地看同樣的東西;
? 對于只想了解機器學習各種思想、算法和實現的讀者,可以避免接受不必要的知識;
? 對于想了解機器學習背后道理和邏輯的讀者,可以有一個集中的地方進行學習。
本書的特點
? 理論與實踐結合,在較為詳細、全面地講解理論之后,會配上相應的代碼實現以加深讀者對相應算法的理解。
? 每一章都會有豐富的實例,讓讀者能夠將本書所闡述的思想和模型應用到實際任務中。
? 在涵蓋了諸多經典的機器學習算法的同時,也涵蓋了許多最新的研究成果(比如最后一章所講述的卷積神經網絡(CNN)可以說就是許多“深度學習”的基礎)。
? 所涉及的模型實現大多僅僅基于線性代數運算庫(Numpy)而沒有依賴更高級的第三方庫,讀者無須了解Python那浩如煙海的第三方庫中的任何一個第三方庫便能讀懂本書的代碼。
本書的內容安排
第1章 Python與機器學習入門
本章介紹了機器學習的概念和一些基礎術語,比如泛化能力、過擬合、經驗風險(ERM)和結構風險(SRM)等,還介紹了如何安裝并使用Anaconda這一Python的科學運算環境。同時在最后,我們解決了一個小型的機器學習問題。本章內容雖不算多,卻可說是本書所有內容的根基。
第2章 貝葉斯分類器
作為和我們比較熟悉的頻率學派相異的學派,貝葉斯學派的思想相當耐人尋味,值得進行研究與體會。本章將主要介紹的樸素貝葉斯正是貝葉斯決策的一個經典應用,雖然它加了很強的假設,但其在實際應用中的表現仍然相當優異(比如自然語言處理中的文本分類)。而為了克服樸素貝葉斯假設過強的缺點,本章將簡要介紹的,諸如半樸素貝葉斯和貝葉斯網這些貝葉斯分類器會在某些領域擁有更好的性能。
第3章 決策樹
決策樹可以說是最直觀的機器學習模型之一,它多多少少擁有著信息論的一些理論背景作為支撐。決策樹的訓練思想簡潔,模型本身可解讀性強,本章將會在介紹其生成、剪枝等一系列實現的同時,通過一些可視化來對其有更好的理解。
第4章 集成學習
正所謂“三個臭皮匠,賽過諸葛亮”。集成學習的兩大板塊“Bootstrap”和“Boosting”所對應的主流模型——“隨機森林(RandomForest)”和“AdaBoost”正是這句俗語的最佳解釋。本章在介紹相關理論與實現的同時,將會通過相當多的例子來剖析集成學習的一些性質。
第5章 支持向量機
支持向量機(SVM)有著非常輝煌的歷史,它背后那套相當深刻而成熟的數學理論讓它在現代的深度學習中“異軍突起”之前,占據著相當重要的地位。本章將會盡量厘清支持向量機的思想與相關的比較簡明的理論,同時會通過一些對比來體現支持向量機的優異之處。
第6章 神經網絡
神經網絡在近現代可以說已經成為“耳熟能詳”的詞匯了,它讓不少初次聽說其名號的人(包括筆者在內)對其充滿著各種幻想。雖說神經網絡算法的推導看上去煩復而“令人生畏”,但其實所用到的知識都并不深奧。本章會相當詳細地介紹神經網絡中的兩大算法——“前向傳導算法”和“反向傳播算法”,同時還會介紹諸多主流的“參數更新方法”。除此之外,本章還會提及如何在“大數據”下改進和優化我們的神經網絡模型(這一套思想是可以推廣到其他機器學習模型上的)。
第7章 卷積神經網絡
卷積神經網絡是許多深度學習的基礎結構,它可以算是神經網絡的一種拓展。卷積神經網絡的思想具有很好的生物學直觀,適合處理結構性的數據。同時,利用成熟的卷積神經網絡模型,我們能夠比較好地完成許多具有一定難度而相當有趣的任務;本章則會針對這些任務中的“圖像分類”任務,提出一套比較詳細的解決方案。
本書由淺入深,理論與實踐并存,同時更是將理論也進行了合理的分級;無論在此前對機器學習有何種程度的認知,想必都能通過不同的閱讀方式有所收獲吧。
適合閱讀本書的讀者
? 想要了解某些傳統機器學習算法細節的學生、老師、從業者等。
? 想要知道如何“從零開始”高效實現機器學習算法的程序員。
? 想要了解機器學習算法能如何進行應用的職員、經理等。
? 對機器學習抱有興趣并想要入門的愛好者。

編者 何宇健
內容簡介:

Python與機器學習這一話題是如此的寬廣,僅靠一本書自然不可能涵蓋到方方面面,甚至即使出一個系列也難能做到這點。單就機器學習而言,其領域就包括但不限于如下:有監督學習(Supervised Learning),無監督學習(Unsupervised Learning)和半監督學習(Semi-Supervised Learning)。而具體的問題又大致可以分兩類:分類問題(Classification)和回歸問題(Regression)。Python本身帶有許多機器學習的第三方庫,但本書在絕大多數情況下只會用到Numpy這個基礎的科學計算庫來進行算法代碼的實現。這樣做的目的是希望讀者能夠從實現的過程中更好地理解機器學習算法的細節,以及了解Numpy的各種應用。不過作為補充,本書會在適當的時候應用scikit-learn這個成熟的第三方庫中的模型。本書適用于想了解傳統機器學習算法的學生和從業者,想知道如何高效實現機器的算法的程序員,以及想了解機器學習的算法能如何進行應用的職員、經理等。

目錄:

第1章 Python與機器學習入門 1
1.1 機器學習緒論 1
1.1.1 什么是機器學習 2
1.1.2 機器學習常用術語 3
1.1.3 機器學習的重要性 6
1.2 人生苦短,我用Python 7
1.2.1 為何選擇Python 7
1.2.2 Python 在機器學習領域的優勢 8
1.2.3 Anaconda的安裝與使用 8
1.3 第一個機器學習樣例 12
1.3.1 獲取與處理數據 13
1.3.2 選擇與訓練模型 14
1.3.3 評估與可視化結果 15
1.4 本章小結 17
第2章 貝葉斯分類器 18
2.1 貝葉斯學派 18
2.1.1 貝葉斯學派與頻率學派 19
2.1.2 貝葉斯決策論 19
2.2 參數估計 20
2.2.1 極大似然估計(ML估計) 21
2.2.2 極大后驗概率估計(MAP估計) 22
2.3 樸素貝葉斯 23
2.3.1 算法陳述與基本架構的搭建 23
2.3.2 MultinomialNB的實現與評估 31
2.3.3 GaussianNB的實現與評估 40
2.3.4 MergedNB的實現與評估 43
2.3.5 算法的向量化 50
2.4 半樸素貝葉斯與貝葉斯網 53
2.4.1 半樸素貝葉斯 53
2.4.2 貝葉斯網 54
2.5 相關數學理論 55
2.5.1 貝葉斯公式與后驗概率 55
2.5.2 離散型樸素貝葉斯算法 56
2.5.3 樸素貝葉斯和貝葉斯決策 58
2.6 本章小結 59
第3章 決策樹 60
3.1 數據的信息 60
3.1.1 信息論簡介 61
3.1.2 不確定性 61
3.1.3 信息的增益 65
3.1.4 決策樹的生成 68
3.1.5 相關的實現 77
3.2 過擬合與剪枝 92
3.2.1 ID3、C4.5的剪枝算法 93
3.2.2 CART剪枝 100
3.3 評估與可視化 103
3.4 相關數學理論 111
3.5 本章小結 113
第4章 集成學習 114
4.1 “集成”的思想 114
4.1.1 眾擎易舉 115
4.1.2 Bagging與隨機森林 115
4.1.3 PAC框架與Boosting 119
4.2 隨機森林算法 120
4.3 AdaBoost算法 124
4.3.1 AdaBoost算法陳述 124
4.3.2 弱模型的選擇 126
4.3.3 AdaBoost的實現 127
4.4 集成模型的性能分析 129
4.4.1 隨機數據集上的表現 130
4.4.2 異或數據集上的表現 131
4.4.3 螺旋數據集上的表現 134
4.4.4 蘑菇數據集上的表現 136
4.5 AdaBoost算法的解釋 138
4.6 相關數學理論 139
4.6.1 經驗分布函數 139
4.6.2 AdaBoost與前向分步加法模型 140
4.7 本章小結 142
第5章 支持向量機 144
5.1 感知機模型 145
5.1.1 線性可分性與感知機策略 145
5.1.2 感知機算法 148
5.1.3 感知機算法的對偶形式 151
5.2 從感知機到支持向量機 153
5.2.1 間隔最大化與線性SVM 154
5.2.2 SVM算法的對偶形式 158
5.2.3 SVM的訓練 161
5.3 從線性到非線性 163
5.3.1 核技巧簡述 163
5.3.2 核技巧的應用 166
5.4 多分類與支持向量回歸 180
5.4.1 一對多方法(One-vs-Rest) 180
5.4.2 一對一方法(One-vs-One) 181
5.4.3 有向無環圖方法(Directed Acyclic Graph Method) 181
5.4.4 支持向量回歸(Support Vector Regression) 182
5.5 相關數學理論 183
5.5.1 梯度下降法 183
5.5.2 拉格朗日對偶性 185
5.6 本章小結 187
第6章 神經網絡 188
6.1 從感知機到多層感知機 189
6.2 前向傳導算法 192
6.2.1 算法概述 193
6.2.2 激活函數(Activation Function) 195
6.2.3 損失函數(Cost Function) 199
6.3 反向傳播算法 200
6.3.1 算法概述 200
6.3.2 損失函數的選擇 202
6.3.3 相關實現 205
6.4 特殊的層結構 211
6.5 參數的更新 214
6.5.1 Vanilla Update 217
6.5.2 Momentum Update 217
6.5.3 Nesterov Momentum Update 219
6.5.4 RMSProp 220
6.5.5 Adam 221
6.5.6 Factory 222
6.6 樸素的網絡結構 223
6.7 “大數據”下的網絡結構 227
6.7.1 分批(Batch)的思想 228
6.7.2 交叉驗證 230
6.7.3 進度條 231
6.7.4 計時器 233
6.8 相關數學理論 235
6.8.1 BP算法的推導 235
6.8.2 Softmax + log-likelihood組合 238
6.9 本章小結 240
第7章 卷積神經網絡 241
7.1 從NN到CNN 242
7.1.1 “視野”的共享 242
7.1.2 前向傳導算法 243
7.1.3 全連接層(Fully Connected Layer) 250
7.1.4 池化(Pooling) 251
7.2 利用TensorFlow重寫NN 252
7.2.1 反向傳播算法 252
7.2.2 重寫Layer結構 253
7.2.3 實現SubLayer結構 255
7.2.4 重寫CostLayer結構 261
7.2.5 重寫網絡結構 262
7.3 將NN擴展為CNN 263
7.3.1 實現卷積層 263
7.3.2 實現池化層 266
7.3.3 實現CNN中的特殊層結構 267
7.3.4 實現LayerFactory 268
7.3.5 擴展網絡結構 270
7.4 CNN的性能 272
7.4.1 問題描述 272
7.4.2 搭建CNN模型 273
7.4.3 模型分析 280
7.4.4 應用CNN的方法 283
7.4.5 Inception 286
7.5 本章小結 289
附錄A Python入門 290
附錄B Numpy入門 303
附錄C TensorFlow入門 310
序: