3dwoo大學簡體電腦書店
機器學習項目開發實戰
( 簡體 字)
作者:[美] Mathias Brandewinder ( 馬蒂亞斯·布蘭德溫德爾 ) 類別:1. -> 程式設計 -> 機器學習
出版社:人民郵電出版社機器學習項目開發實戰 3dWoo書號: 44863
詢問書籍請說出此書號!
有庫存
NT售價: 295
出版日:7/1/2016
頁數:264
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787115429513 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章 256級灰度 1
 1.1 什么是機器學習 2
 1.2 經典的機器學習問題:圖像分類 3
 1.2.1 挑戰:構建一個數字識別程序 3
 1.2.2 機器學習中的距離函數 5
 1.2.3 從簡單的方法入手 5
 1.3 我們的第一個模型(C#版本) 6
 1.3.1 數據集組織 6
 1.3.2 讀取數據 7
 1.3.3 計算圖像之間的距離 9
 1.3.4 編寫分類器 11
 1.4 那么,如何知道程序有效? 12
 1.4.1 交叉驗證 12
 1.4.2 評估模型質量 13
 1.4.3 改進模型 14
 1.5 介紹用于機器學習的F# 15
 1.5.1 使用F#交互執行進行實時腳本編寫和數據研究 15
 1.5.2 創建第一個F#腳本 18
 1.5.3 剖析第一個F#腳本 19
 1.5.4 創建函數管道 22
 1.5.5 用元組和模式匹配操縱數據 23
 1.5.6 訓練和評估分類器函數 24
 1.6 改進我們的模型 26
 1.6.1 試驗距離的另一種定義 26
 1.6.2 重構距離函數 27
 1.7 我們學到了什么 30
 1.7.1 在好的距離函數中能找到什么 30
 1.7.2 模型不一定要很復雜 31
 1.7.3 為什么使用F#? 31
 1.8 更進一步 32
第2章 垃圾郵件還是非垃圾郵件? 33
 2.1 挑戰:構建一個垃圾郵件檢測引擎 34
 2.1.1 了解我們的數據集 34
 2.1.2 使用可區分聯合建立標簽模型 35
 2.1.3 讀取數據集 36
 2.2 根據一個單詞決定 38
 2.2.1 以單詞作為線索 38
 2.2.2 用一個數字表示我們的確定程度 39
 2.2.3 貝葉斯定理 40
 2.2.4 處理罕見的單詞 42
 2.3 組合多個單詞 42
 2.3.1 將文本分解為標記 42
 2.3.2 簡單組合得分 43
 2.3.3 簡化的文檔得分 44
 2.4 實現分類器 45
 2.4.1 將代碼提取到模塊中 46
 2.4.2 文檔評分與分類 47
 2.4.3 集合和序列簡介 49
 2.4.4 從文檔語料庫中學習 51
 2.5 訓練第一個分類器 53
 2.5.1 實現第一個標記化程序 54
 2.5.2 交互式驗證設計 54
 2.5.3 用交叉驗證確立基準 55
 2.6 改進分類器 56
 2.6.1 使用每個單詞 56
 2.6.2 大小寫是否重要? 57
 2.6.3 簡單就是美 58
 2.6.4 仔細選擇單詞 59
 2.6.5 創建新特征 61
 2.6.6 處理數字值 63
 2.7 理解分類錯誤 64
 2.8 我們學到了什么? 66
第3章 類型提供程序的快樂 67
 3.1 探索StackOverflow數據 68
 3.1.1 StackExchange API 68
 3.1.2 使用JSON類型提供程序 70
 3.1.3 構建查詢問題的最小化DSL 73
 3.2 世界上的所有數據 76
 3.2.1 世界銀行類型提供程序 76
 3.2.2 R類型提供程序 77
 3.2.3 分析數據與R數據框架 81
 3.2.4 .NET數據框架Deedle 83
 3.2.5 全世界的數據統一起來! 84
 3.3 我們學到了什么? 88
第4章 自行車與人 91
 4.1 了解數據 92
 4.1.1 數據集有哪些內容? 92
 4.1.2 用FSharp.Charting檢查數據 93
 4.1.3 用移動平均數發現趨勢 94
 4.2 為數據適配模型 96
 4.2.1 定義簡單直線模型 96
 4.2.2 尋找最低代價模型 97
 4.2.3 用梯度下降找出函數的最小值 98
 4.2.4 使用梯度下降進行曲線擬合 99
 4.2.5 更通用的模型公式 100
 4.3 實施梯度下降的方法 101
 4.3.1 隨機梯度下降 101
 4.3.2 分析模型改進 103
 4.3.3 批量梯度下降 105
 4.4 拯救者——線性代數 107
 4.4.1 寶貝,我縮短了公式! 108
 4.4.2 用Math.NET進行線性代數運算 109
 4.4.3 標準形式 110
 4.4.4 利用MKL開足馬力 111
 4.5 快速演化和驗證模型 112
 4.5.1 交叉驗證和過度擬合 112
 4.5.2 簡化模型的創建 113
 4.5.3 在模型中添加連續特征 115
 4.6 用更多特征改進預測 117
 4.6.1 處理分類特征 117
 4.6.2 非線性特征 119
 4.6.3 正規化 122
 4.7 我們學到了什么? 123
 4.7.1 用梯度下降最大限度地減小代價 123
 4.7.2 用回歸方法預測數字 124
第5章 你不是獨一無二的雪花 125
 5.1 發現數據中的模式 126
 5.2 我們所面臨的挑戰:理解StackOverflow上的主題 128
 5.3 用K-均值聚類方法找出聚類 132
 5.3.1 改進聚類和質心 133
 5.3.2 實施K-均值聚類方法 135
 5.4 StackOverflow標簽的歸類 138
 5.4.1 運行聚類分析 138
 5.4.2 結果分析 139
 5.5 好的聚類和壞的聚類 141
 5.6 重新標度數據集以改進聚類 144
 5.7 確定需要搜索的聚類數量 147
 5.7.1 什么是“好”的聚類? 147
 5.7.2 確定StackOverflow數據集的k值 148
 5.7.3 最終的聚類 150
 5.8 發現特征的相關性 151
 5.8.1 協方差和相關系數 151
 5.8.2 StackOverflow標簽之間的相關性 153
 5.9 用主成分分析確定更好的特征 154
 5.9.1 用代數方法重新組合特征 155
 5.9.2 PCA工作方式預覽 156
 5.9.3 實現PCA 158
 5.9.4 對StackOverflow數據集應用PCA 159
 5.9.5 分析提取的特征 160
 5.10 提出建議 165
 5.10.1 簡單標簽推薦系統 165
 5.10.2 實現推薦系統 166
 5.10.3 驗證做出的推薦 168
 5.11 我們學到了什么? 170
第6章 樹與森林 171
 6.1 我們所面臨的挑戰:“泰坦尼克”上的生死存亡 171
 6.1.1 了解數據集 172
 6.1.2 觀察各個特征 173
 6.1.3 構造決策樁 174
 6.1.4 訓練決策樁 176
 6.2 不適合的特征 177
 6.2.1 數值該如何處理? 177
 6.2.2 缺失數據怎么辦? 178
 6.3 計量數據中的信息 180
 6.3.1 用熵計量不確定性 180
 6.3.2 信息增益 182
 6.3.3 實現最佳特征識別 184
 6.3.4 使用熵離散化數值型特征 186
 6.4 從數據中培育一棵決策樹 187
 6.4.1 建立樹的模型 187
 6.4.2 構建決策樹 189
 6.4.3 更漂亮的樹 191
 6.5 改進決策樹 192
 6.5.1 為什么會過度擬合? 193
 6.5.2 用過濾器限制過度的自信 194
 6.6 從樹到森林 195
 6.6.1 用k-折方法進行更深入的交叉驗證 196
 6.6.2 將脆弱的樹組合成健壯的森林 198
 6.6.3 實現缺失的部分 199
 6.6.4 發展一個森林 200
 6.6.5 嘗試森林 201
 6.7 我們學到了什么? 202
第7章 一個奇怪的游戲 205
 7.1 構建一個簡單的游戲 206
 7.1.1 游戲元素建模 206
 7.1.2 游戲邏輯建模 207
 7.1.3 以控制臺應用的形式運行游戲 209
 7.1.4 游戲顯示 211
 7.2 構建一個粗糙的“大腦” 213
 7.2.1 決策過程建模 214
 7.2.2 從經驗中學習制勝策略 215
 7.2.3 實現“大腦” 216
 7.2.4 測試“大腦” 218
 7.3 我們能更高效地學習嗎? 221
 7.3.1 探索與利用的對比 221
 7.3.2 紅色的門和藍色的門是否不同? 222
 7.3.3 貪婪與規劃的對比 223
 7.4 無限的瓷磚組成的世界 224
 7.5 實現“大腦”2.0 227
 7.5.1 簡化游戲世界 227
 7.5.2 預先規劃 228
 7.5.3 ε-學習 229
 7.6 我們學到了什么? 231
 7.6.1 符合直覺的簡單模型 231
 7.6.2 自適應機制 232
第8章 重回數字 233
 8.1 調整代碼 233
 8.1.1 尋求的目標 234
 8.1.2 調整距離函數 235
 8.1.3 使用Array.Parallel 239
 8.2 使用Accord.NET實現不同的分類器 240
 8.2.1 邏輯回歸 241
 8.2.2 用Accord實現簡單邏輯回歸 242
 8.2.3 一對一、一對多分類 244
 8.2.4 支持向量機 246
 8.2.5 神經網絡 248
 8.2.6 用Accord創建和訓練一個神經網絡 250
 8.3 用m-brace.net實現伸縮性 253
 8.3.1 用Brisk啟動Azure上的MBrace 253
 8.3.2 用MBrace處理大數據集 256
 8.4 我們學到了什么? 259
第9章 結語 261
 9.1 描繪我們的旅程 261
 9.2 科學! 262
 9.3 F#:函數式風格更有效率 263
 9.4 下一步是什么? 264

本書通過一系列有趣的實例,由淺入深地介紹了機器學習這一炙手可熱的新領域,并且詳細介紹了適合機器學習開發的Microsoft F#語言和函數式編程,引領讀者深入了解機器學習的基本概念、核心思想和常用算法。書中的例子既通俗易懂,同時又十分實用,可以作為許多開發問題的起點。通過對本書的閱讀,讀者無須接觸枯燥的數學知識,便可快速上手,為日后的開發工作打下堅實的基礎。本書適合對機器學習感興趣的.NET開發人員閱讀,也適合其他讀者作為機器學習的入門參考書。
pagetop