-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
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書號
詳細書籍分類

機器學習算法原理與編程實踐

( 簡體 字)
作者:鄭捷類別:1. -> 程式設計 -> 機器學習
譯者:
出版社:電子工業出版社機器學習算法原理與編程實踐 3dWoo書號: 42722
詢問書籍請說出此書號!

缺書
NT售價: 440

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

譯者序:

前言:

前 言

動機
2011年1月14日,史上最強的人機對抗在美國紐約約克鎮高地拉開序幕。Jeopardy!是美國具有25年歷史的眾所皆知的電視問答節目秀。每次三名參賽者相互角逐,在競賽中需要迅速理解屏幕上提出的各類智力問題,并作出回答。問題涉及的領域十分廣泛,就像一套世界知識的百科全書,超過個人所能掌握的知識容量的極限。而這次,一名特殊的參賽者名列其中,它就是IBM公司的計算機參賽者Watson,挑戰兩位人類選手Ken和Brad。經過激烈的角逐,Watson同時擊敗了兩位人類選手,贏得100萬美元獎金而一舉成名。這一具有歷史意義的比賽被Jeopardy!的哥倫比亞廣播公司連續在2011年2月14∼16日三天晚上進行了重播,也成為計算機發展史上一個重要的時刻。IBM評論為:
“在Jeopardy!比賽中,計算機打敗人類選手是開放領域問答系統的一個里程碑!”
事實上,這次比賽有力地證明了,在廣泛的知識和智能領域,機器有能力全面超越人類。開放領域問答軟件的一個重要核心就是機器學習。從很多方面來看,這才僅僅是一個開始。近年來,計算機行業取得的最重要成就或多或少地都與機器學習領域的技術突破密切相關。2010年前后,多倫多大學的Geoffrey Hinton提出的深度學習(Deep Learning)算法,突破了產生抽象概念的技術瓶頸,被評價為:
“借助于DeepLearning算法,人類終于找到了如何處理‘抽象概念’這個亙古難題的方法。”
該算法與衍生的卷積神經網絡(CNN——有監督)和深度置信網絡(DNN——無監督)在計算機視覺、語音識別和部分自然語言處理領域獲得巨大的成功,其與另一個并行處理架構Map Reduce并稱“大數據”技術的基石。
2012年11月,微軟在天津的一次活動上公開演示了一個全自動的同聲傳譯系統,講演者用英文演講,后臺的計算機一氣呵成自動完成語音識別、英中機器翻譯和中文語音合成,效果非常流暢。據報道,后面支撐的關鍵技術就是DNN,或者深度學習(DeepLearning,DL)。
人與動物最本質的區別之一就是人類具有高度發達的智能。千百年來,人類從未停止過對智慧本身的研究與探索。20世紀50年代,圖靈就在論文《機器能思考嗎》中提出了一個著名測試,后世稱為圖靈測試:
“假如一臺機器通過特殊的方式與人溝通,若有一定比例的人(超過30%)無法在特定時間內(5分鐘)分辨出與自己交談的是人還是機器,則可認為該機器具有‘思考’的能力。”
這里的思考能力就是指智能。而對于計算機領域而言,它是一個多么奢侈而艱難的字眼。以IBM Watson為例,它由90臺IBM服務器、360個計算機芯片驅動組成,是一個有著10臺冰箱那么大的計算機系統。它擁有15TB內存,2880臺處理器,每秒可進行80萬億次運算。系統配置的處理器是Power 7系列處理器,這是當前RISC(精簡指令集計算機)架構中最強的處理器。它采用45nm工藝打造,擁有8個核心、32個線程,主頻最高可達4.1GHz,僅其二級緩存就達到32MB。
在大數據領域,據Google稱,其知識圖譜的信息有許多來源,包括CIA的世界概況、Freebase和維基百科,其功能與Ask.com和Wolfram Alpha等問題問答系統相似。截至2012年,其語義網絡包含超過570億個對象,超過18億個介紹,用來理解搜索關鍵詞含義的、不同對象之間的鏈接關系更是不可計數。2012年11月4日,知識圖譜新增了7種語言:西班牙語、法語、德語、葡萄牙語、日語、俄羅斯語及意大利語。
歷經半個多世紀,在各個領域的商業機構和科研機構的共同努力下,幾經沉浮,人們逐漸意識到,高度并行的計算(硬件)能力和大規模數據的學習(算法)能力是“思考”的基礎。距離讓機器像人類一樣思考的目標已經不遠了!
本書特色
本書的最大特色就是理論講解深入淺出、通俗易懂,入門門檻不高,理論與實踐并重。降低學習門檻是我們主要的努力方向。對于中國讀者,特別是廣大的工程技術人員,無論是在職還是學生,進入機器學習領域不外乎兩條路。
第一條路是從開源代碼學習,輔助一些書籍資料。大多數軟件設計人員都做過幾年源碼解析工作,源碼解析這條路是比較辛苦的,但一旦掌握,就會形成一種條件反射。程序員寧可讀源碼也不愿意讀數學公式,這是普遍現象。筆者認為,隨著機器學習一步步走向工程實踐,這部分人在讀者群中應占絕大部分。
為了最大限度地降低學習的難度,首先,在內容上,我們以大量的文字描述來說明重要的定理和公式,盡可能在數學推導過程中增加充分的文字解釋,消除初學者的理解障礙。其次,我們將源碼、公式和文字解釋對照起來,使初學者在閱讀源碼和文字解釋的同時,也能夠輕松理解算法的數學原理,使他們認識到數學分析并不遙遠,理解起來并不困難。最后,我們使用矢量編程的設計方式,這種方式的優勢是可以部分將數學公式直接映射到代碼上,代碼簡介,思路清晰,學習效率很高。三管齊下,使初學者能多角度加深算法概念的理解,在實踐應用中做到舉一反三。
第二條路是從數學入手,一般針對研究所或科研院校的研究人員。他們喜歡那種有一定的理論高度,看明白了拿來就可以講課或寫論文用的書籍。這部分讀者的特點是比較重理論,缺點是實踐能力不強。本書可以通過豐富的算法代碼彌補他們在此方面的不足。
最后,本書由本土作者編寫。筆者翻譯過幾本國外的專業論文和書籍,也看過不少的本土經典。如果內容差異不大,從效率和接受程度上,看本土書籍要快很多,時間成本對任何一個人都是重要的;本土書籍的另一個優勢是作者與大多數的讀者都有相似的背景知識結構,因而沒有文化差異性,思路上很好理解,容易被讀者接受。本書內容多取材于實踐,目標明確,針對性強,對讀者而言學習效率高。
本書內容及體系結構
本書的特點之一是從結構上闡明了研究機器學習理論和算法的方法。最重要的不是數學,也不是這些算法本身,而是思想的發展過程,這與之前所有的書籍有所不同。全書分為三條主線。
第一條主線是從第一代神經網絡(線性分類器)、第二代神經網絡(非線性)及其在預測領域的應用,到支持向量機,最后是深度學習。
從第5章開始我們深入講解了感知器網絡及Logisitic網絡的算法及相關的理論基礎。第6章,我們詳細介紹了三種典型的神經網絡:BP網絡、SOM網絡、玻爾茲曼機網絡。這兩章的內容主要集中在第二代神經網絡的模型上。
? 第8章我們從統計學習理論開始,深入探討了支持向量機的模型,并給出了文本分類的實例。支持向量機的出現結束了淺層機器學習算法的大多數問題,使人工智能走向了一個新階段。
? 第9章和第10章我們詳細介紹了認知分層理論,并探討了人類神經系統的兩大重要機制:迭代和分層。由此引入了深度神經網絡框架(深度學習),并以Theano框架為中心介紹了GPU運算的模型。深度學習框架中的算法很多,我們介紹了多層感知器和卷積神經網絡兩個算法,作為讀者入門的基礎。
第二條主線是貝葉斯理論,從樸素貝葉斯算法到貝葉斯網,最后是隱馬爾科夫模型,這部分屬于智能推理的范疇。
? 第2章我們詳細介紹了樸素貝葉斯算法在文本分類中的應用。由于文本處理的大多數算法都是以貝葉斯網為基礎的,而樸素貝葉斯是其中最簡單的算法,所以以此開篇。
? 第11章,我們從隨機過程開始,層層深入,相繼介紹了馬爾可夫鏈、貝葉斯網絡、隱馬爾科夫模型。最后,我們給出了隱馬爾科夫模型的重要應用——自然語言處理的詞性標注模塊,并給出詳細的代碼講解和結巴分詞及詞性標注應用。
最后一條主線是矩陣降維、奇異值分解(svd)和PCA算法,因為算法簡單,本書都使用真實案例進行講解。
? 第4章,我們通過一個實例介紹了推薦系統的內容,并分析介紹了協同過濾理論中的兩個重要算法:KMeans和SVD隱語義分析。我們不僅講解了SVD的數學推導,而且給出了手工計算的代碼。
? 第9章,我們講解了主成分分析(PCA)的基本原理和算法,并通過實例講解,列出了PCA的算法實現和監測評估。
? 第3章和第9章,我們介紹了決策時算法的發展歷史,以及各個歷史時期的代表算法——ID3、C4.5、CART、AdaBoost,并給出基本原理和代碼實現。
目前機器學習主要由這三條主線貫穿始終,本書著力于講解這三條主線的理論發展、思想變遷、數學原理,而具體算法就是其上的一顆顆明珠。希望讀者在學習完本書之后,能夠將機器學習的各種理論融會貫通。
內容簡介:

本書是機器學習原理和算法編碼實現的基礎性讀物,內容分為兩大主線:單個算法的原理講解和機器學習理論的發展變遷。算法除包含傳統的分類、聚類、預測等常用算法之外,還新增了深度學習、貝葉斯網、隱馬爾科夫模型等內容。對于每個算法,均包括提出問題、解決策略、數學推導、編碼實現、結果評估幾部分。數學推導力圖做到由淺入深,深入淺出。結構上數學原理與程序代碼一一對照,有助于降低學習門檻,加深公式的理解,起到推廣和擴大機器學習的作用。

目錄:

第1章 機器學習的基礎 1
1.1 編程語言與開發環境 2
1.1.1 搭建Python開發環境 2
1.1.2 安裝Python算法庫 4
1.1.3 IDE配置及其安裝測試 5
1.2 對象、矩陣與矢量化編程 8
1.2.1 對象與維度 8
1.2.2 初識矩陣 10
1.2.3 矢量化編程與GPU運算 13
1.2.4 理解數學公式與NumPy矩陣運算 14
1.2.5 Linalg線性代數庫 18
1.3 機器學習的數學基礎 20
1.3.1 相似性的度量 21
1.3.2 各類距離的意義與Python實現 22
1.3.3 理解隨機性 29
1.3.4 回顧概率論 30
1.3.5 多元統計基礎 32
1.3.6 特征間的相關性 33
1.3.7 再談矩陣——空間的變換 35
1.3.8 數據歸一化 40
1.4 數據處理與可視化 42
1.4.1 數據的導入和內存管理 42
1.4.2 表與線性結構的可視化 45
1.4.3 樹與分類結構的可視化 46
1.4.4 圖與網絡結構的可視化 47
1.5 Linux操作系統下部署Python機器學習開發環境 48
1.5.1 Linux發行版的選擇 48
1.5.2 CentOS部署多版本Python實例 49
1.5.3 安裝NumPy、SciPy、Matplotlib開發包 52
1.5.4 安裝Scikit-Learn開發包 54
1.6 結語 55
第2章 中文文本分類 56
2.1 文本挖掘與文本分類的概念 56
2.2 文本分類項目 58
2.2.1 文本預處理 58
2.2.2 中文分詞介紹 61
2.2.3 Scikit-Learn庫簡介 66
2.2.4 向量空間模型 70
2.2.5 權重策略:TF-IDF方法 71
2.2.6 使用樸素貝葉斯分類模塊 74
2.2.7 分類結果評估 76
2.3 分類算法:樸素貝葉斯 78
2.3.1 貝葉斯公式推導 78
2.3.2 樸素貝葉斯算法實現 79
2.3.3 算法的改進 82
2.3.4 評估分類結果 82
2.4 分類算法:kNN 83
2.4.1 kNN算法原理 83
2.4.2 kNN算法的Python實現 86
2.4.3 評估分類結果 88
2.5 結語 88
第3章 決策樹的發展 89
3.1 決策樹的基本思想 89
3.1.1 從一個實例開始 90
3.1.2 決策樹的算法框架 95
3.1.3 信息熵測度 96
3.2 ID3決策樹 98
3.2.1 ID3算法 98
3.2.2 ID3的實現 101
3.2.3 決策樹主方法 101
3.2.4 訓練決策樹 103
3.2.5 持久化決策樹 104
3.2.6 決策樹分類 105
3.2.7 算法評估 106
3.3 C4.5算法 106
3.3.1 信息增益率 106
3.3.2 C4.5的實現 108
3.3.3 訓練決策樹 108
3.3.4 分類數據 109
3.4 Scikit-Learn與回歸樹 110
3.4.1 回歸算法原理 110
3.4.2 最小剩余方差法 111
3.4.3 模型樹 113
3.4.4 剪枝策略 113
3.4.5 Scikit-Learn實現 115
3.5 結語 117
第4章 推薦系統原理 118
4.1 推薦系統概述 119
4.1.1 從亞馬遜網站認識推薦系統 119
4.1.2 推薦系統的架構 122
4.1.3 開源推薦系統 125
4.2 協同過濾及其算法 126
4.2.1 協同過濾 126
4.2.2 數據預處理 127
4.2.3 使用Scikit-Learn的KMeans聚類 127
4.2.4 User CF原理 129
4.2.5 Item CF原理 131
4.2.6 SVD原理與計算 132
4.3 KMeans算法詳解 135
4.3.1 KMeans算法流程 135
4.3.2 輔助函數 136
4.3.3 聚類主函數 137
4.3.4 評估分類結果 139
4.4 聚類的改進:二分KMeans算法 141
4.4.1 二分聚類主函數 141
4.4.2 評估分類結果 142
4.5 SVD算法詳解 143
4.5.1 SVD算法回顧 143
4.5.2 常用距離函數 146
4.5.3 SVD數據集 146
4.5.4 SVD算法主函數 147
4.5.5 評估結果 147
4.6 結語 148
第5章 梯度尋優 149
5.1 最優化與計算復雜性 149
5.1.1 最優化理論 149
5.1.2 最優化的數學描述 150
5.1.3 凸集與分離定理 151
5.1.4 凸函數及其性質 153
5.1.5 局部最優與全局最優 155
5.1.6 計算復雜性與NP問題 156
5.1.7 逐次逼近法 159
5.2 Logistic梯度下降法 163
5.2.1 梯度下降法 164
5.2.2 線性分類器 166
5.2.3 Logistic函數——世界不是非黑即白 169
5.2.4 算法流程 171
5.2.5 對測試集進行分類 175
5.3 算法分析 175
5.3.1 超平面的變化趨勢 176
5.3.2 超平面的收斂評估 177
5.3.3 權重向量的收斂評估 179
5.3.4 算法總體評價 180
5.4 隨機梯度下降法:算法改進與評估 180
5.4.1 主函數 181
5.4.2 程序輸出 182
5.4.3 步長變化率 183
5.4.4 權重收斂評估 184
5.4.5 權重分量的變化趨勢 185
5.4.6 算法總體評價 187
5.5 結語 187
第6章 神經網絡初步 189
6.1 神經網絡簡史 189
6.1.1 起源與早期發展 189
6.1.2 中期發展 190
6.1.3 當前的發展與反思 192
6.2 BP神經網絡理論 192
6.2.1 線性不可分問題 192
6.2.2 BP網絡構成 193
6.2.3 BP網絡的訓練過程 196
6.3 BP網絡的實現和評估 199
6.3.1 BP網絡類與主要方法 199
6.3.2 設計BP網絡 199
6.3.3 輔助函數 202
6.3.4 主函數 203
6.3.5 分類器 204
6.3.6 執行分類并輸出結果 205
6.3.7 BP網絡評估 207
6.4 自組織特征映射神經網絡 208
6.4.1 SOM網絡框架 208
6.4.2 SOM類 211
6.4.3 功能函數 212
6.4.4 SOM網絡的實現 212
6.4.5 聚類結果 213
6.5 Boltzmann機算法 215
6.5.1 問題的提出 215
6.5.2 模擬退火原理 216
6.5.3 Boltzmann分布與退火過程 217
6.5.4 Boltzmann機類與功能函數 219
6.5.5 最短路徑的實現 222
6.5.6 執行算法 223
6.5.7 評估結果 224
6.6 結語 225
第7章 預測的技術與哲學 226
7.1 線性系統的預測 226
7.1.1 回歸與現代預測學 226
7.1.2 最小二乘法 227
7.1.3 代碼實現 229
7.1.4 正規方程組法 231
7.1.5 正規方程組的代碼實現 232
7.1.6 算法評估 232
7.2 徑向基網絡 233
7.2.1 RBF網絡 233
7.2.2 輔助函數 236
7.2.3 使用RBF預測 236
7.2.4 評估預測結果 238
7.3 嶺回歸 238
7.3.1 驗證多重共線性 239
7.3.2 嶺回歸理論 240
7.3.3 嶺際分析 240
7.3.4 k值的判定 242
7.3.5 輔助函數 243
7.3.6 嶺回歸的實現與k值計算 243
7.3.7 算法評估 244
7.4 預測的哲學 245
7.4.1 從《周易》談起 246
7.4.2 兩儀生四象 249
7.4.3 周期三與混沌 251
7.4.4 Logistic中的吸引子 254
7.4.5 三生萬物 258
7.4.6 八卦圖及其推演 261
7.5 結語 263
第8章 萬能分類器——支持向量機 265
8.1 支持向量機的理論基礎 266
8.1.1 經驗風險最優 266
8.1.2 關鍵定理與VC維 267
8.1.3 結構風險最優 270
8.2 SVM的數學推導 272
8.2.1 最大間隔超平面 272
8.2.2 拉格朗日乘子法 275
8.2.3 KKT條件與對偶變換 276
8.2.4 分類器函數 277
8.2.5 映射到高維空間 278
8.2.6 核函數法 280
8.2.7 離群點的松弛變量 281
8.3 SMO算法 284
8.3.1 SMO求解SVM 284
8.3.2 構造SMO類 288
8.3.3 主函數 290
8.3.4 訓練數據 291
8.3.5 分類并評估算法 293
8.4 SVM中文文本分類 293
8.4.1 回顧中文文本分類 294
8.4.2 Scikit-Learn SVM分類 294
8.4.3 評估結果 295
8.5 結語 296
第9章 人臉識別中的機器學習 297
9.1 模式識別概述 297
9.1.1 認知與模式 297
9.1.2 機器視覺與OpenCV 300
9.1.3 OpenCV的文件與基本操作 301
9.2 人臉檢測 305
9.2.1 人臉識別的歷史與架構 305
9.2.2 人臉識別系統 307
9.2.3 人臉檢測原理與Haar級聯檢測 308
9.2.4 人臉檢測特征文件 311
9.2.5 Haar cascade的實現 314
9.2.6 LBP cascade的實現 315
9.3 AdaBoost算法概述 316
9.3.1 算法原理與步驟 316
9.3.2 輔助函數 317
9.3.3 AdaBoost分類器 318
9.3.4 單層決策樹分類子算法 319
9.3.5 訓練數據集 321
9.3.6 執行分類 322
9.4 人臉識別 323
9.4.1 人臉數據庫 324
9.4.2 PCA原理 325
9.4.3 特征臉識別類 327
9.4.4 生成特征臉 328
9.4.5 執行人臉識別 330
9.5 結語 330
第10章 認知計算與深度學習 332
10.1 認知計算 332
10.1.1 認知層次論 333
10.1.2 從具體到抽象 336
10.1.3 Theano庫與基本操作 338
10.2 多層感知器 343
10.2.1 MNIST數據集 343
10.2.2 Softmax回歸類 345
10.2.3 正則化方法 347
10.2.4 執行SoftMax學習 350
10.2.5 多層感知器 353
10.2.6 多層感知器的實現 355
10.2.7 MLP的訓練過程 358
10.3 卷積神經網絡 358
10.3.1 理論基礎 358
10.3.2 卷積類 363
10.3.3 LeNet5函數 364
10.3.4 CNN的訓練過程 369
10.4 Theano安裝與GPU運算 370
10.4.1 Anaconda安裝 370
10.4.2 實現CPU運算 372
10.4.3 安裝VS2013 374
10.4.4 安裝CUDA 375
10.4.5 實現支持GPU運算 378
10.5 結語 378
第11章 概率圖模型與詞性標注 380
11.1 馬爾科夫過程 381
11.1.1 隨機過程與狀態圖 381
11.1.2 馬爾科夫鏈及其概念 382
11.1.3 馬爾科夫鏈的實現 384
11.2 概率圖模型和貝葉斯網 385
11.2.1 概述 385
11.2.2 條件獨立性 386
11.2.3 貝葉斯網簡介 390
11.2.4 貝葉斯網的構造 392
11.2.5 貝葉斯網的推理簡介 394
11.3 隱馬爾科夫模型 396
11.3.1 概述 396
11.3.2 HMM推理與前向算法 399
11.3.3 Vertibi算法原理 403
11.3.4 Vertibi算法實現 405
11.3.5 執行并輸出結果 406
11.4 詞性標注系統 406
11.4.1 語料庫與詞性資源 407
11.4.2 手工計算 409
11.4.3 結果驗證 413
11.5 結語 414
序: