发表于2024-11-07
機器學習算法原理與編程實踐 pdf epub mobi txt 電子書 下載 2024
《機器學習算法原理與編程實踐》圍繞神經網絡、智能推理、矩陣計算三大主綫,提供近25個經典的算法講解。解剖有代錶性的算法庫:Scikit-Learn算法庫、OpenCV機器視覺、Theano深度學習庫。作為本土原創圖書,本書更符閤國內人的閱讀習慣,適閤作為機器學習算法設計的入門讀物。
《機器學習算法原理與編程實踐》是機器學習原理和算法編碼實現的基礎性讀物,內容分為兩大主綫:單個算法的原理講解和機器學習理論的發展變遷。算法除包含傳統的分類、聚類、預測等常用算法之外,還新增瞭深度學習、貝葉斯網、隱馬爾科夫模型等內容。對於每個算法,均包括提齣問題、解決策略、數學推導、編碼實現、結果評估幾部分。數學推導力圖做到由淺入深,深入淺齣。結構上數學原理與程序代碼一一對照,有助於降低學習門檻,加深公式的理解,起到推廣和擴大機器學習的作用。
鄭捷,www.threedweb.cn網站負責人,研究方嚮是機器學習與自然語言處理。當前負責的核心産品是高精度自然語言認知係統的設計與研發,研發目標是高精度(識彆率在85%~95%)的統一架構的NLP認知係統。
第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
動機
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種語言:西班牙語、法語、德語、葡萄牙語、日語、俄羅斯語及意大利語。
曆經半個多世紀,在各個領域的商業機構和科研機構的共同努力下,幾經沉浮,人們逐漸意識到,高度並行的計算(硬件)能力和大規模數據的學習(算法)能力是“思考”的基礎。距離讓機器像人類一樣思考的目標已經不遠瞭!
本書特色
由淺入深,為程序員講解機器學習,可以不深入算法。
評分質量過硬,非常好用,送貨快!
評分非常好(?´???`?)
評分可以,沒看完呢。。。。。
評分不錯的書,非常滿意,很喜歡,值得購買
評分好!!!!!!!!!!!!!!!!
評分可以,沒看完呢。。。。。
評分很好非常好真的非常好
評分還不錯最近公司要搞機器學習,買來看看
機器學習算法原理與編程實踐 pdf epub mobi txt 電子書 下載