本書是“達人迷”經(jīng)典系列中關(guān)于機器學習的一本。本書內(nèi)容分為6 個部分, 共計 23 章, 由淺入深地講解機器學習的基礎(chǔ)知識, 本書使用的語言--Python和R, 必備數(shù)學知識, 處理數(shù)據(jù)的常用工具, 機器學習的應(yīng)用以及常見的學習包、模型等6個方面, 以幫助讀者了解并掌握機器學習的相關(guān)知識、并能將其應(yīng)用于自己的工作中。
		
	
	第 1 部分 關(guān)于機器如何學習的介紹 1
	第 1 章 有關(guān) AI 的真實故事 3
	1.1 超越炒作 4
	1.2 夢到電子羊 5
	1.2.1 了解 AI 和機器學習的歷史 5
	1.2.2 機器學習能為 AI 做什么 6
	1.2.3 機器學習的目標 7
	1.2.4 硬件決定了機器學習的極限 7
	1.3 克服 AI 幻想 8
	1.3.1 AI 和機器學習的時髦用途 9
	1.3.2 AI 和機器學習的真正用途 9
	1.3.3 講究實用性,講究普通性 11
	1.4 AI 和機器學習之間的關(guān)系 11
	1.5 AI 和機器學習的規(guī)范 12
	1.6 定義藝術(shù)與工程之間的界限 13
	第 2 章 大數(shù)據(jù)時代的學習 14
	2.1 定義大數(shù)據(jù) 15
	2.2 考慮大數(shù)據(jù)源 16
	2.2.1 構(gòu)建一個新的數(shù)據(jù)源 16
	2.2.2 使用現(xiàn)有的數(shù)據(jù)源 18
	2.2.3 尋找用于測試的數(shù)據(jù)源 18
	2.3 確立統(tǒng)計學在機器學習中的角色 19
	2.4 理解算法的角色 20
	2.4.1 定義算法要做什么 20
	2.4.2 考慮五大主流技術(shù) 20
	2.5 定義訓練的含義 22
	第 3 章 對未來的設(shè)想 24
	3.1 為將來創(chuàng)造有用的技術(shù) 25
	3.1.1 考慮機器人領(lǐng)域中機器學習的角色 25
	3.1.2 在醫(yī)療領(lǐng)域使用機器學習 26
	3.1.3 為各種需求創(chuàng)建智能的系統(tǒng) 26
	3.1.4 在工業(yè)界使用機器學習 27
	3.1.5 理解更新的處理器和其他硬件的角色 28
	3.2 通過機器學習發(fā)現(xiàn)新的工作機會 28
	3.2.1 為機器工作 28
	3.2.2 和機器一起工作 29
	3.2.3 修復機器 30
	3.2.4 創(chuàng)建新的機器學習任務(wù) 30
	3.2.5 設(shè)計新的機器學習環(huán)境 30
	3.3 避免未來技術(shù)中潛在的陷阱 31
	第 2 部分 準備你的學習工具 33
	第 4 章 安裝 R 35
	4.1 為機器學習選擇 R 的版本 36
	4.2 在 Windows 系統(tǒng)上安裝 R 37
	4.3 在 Linux 系統(tǒng)上安裝 R 43
	4.4 在 Mac OS X 系統(tǒng)上安裝 R 45
	4.5 下載數(shù)據(jù)集和示例代碼 46
	4.5.1 了解本書使用的數(shù)據(jù)集 47
	4.5.2 定義代碼庫 48
	第 5 章 使用 RStudio 在 R 中編碼 50
	5.1 理解基本的數(shù)據(jù)類型 51
	5.2 使用向量 52
	5.3 使用列表組織數(shù)據(jù) 53
	5.4 使用矩陣 54
	5.4.1 創(chuàng)建基本矩陣 54
	5.4.2 修改向量的排列 55
	5.4.3 訪問單個元素 56
	5.4.4 對行和列進行命名 56
	5.5 使用數(shù)組處理多維 57
	5.5.1 創(chuàng)建一個基本的數(shù)組 58
	5.5.2 命名行和列 59
	5.6 創(chuàng)建一個數(shù)據(jù)框 60
	5.6.1 理解因子 60
	5.6.2 創(chuàng)建一個基本的數(shù)據(jù)框 62
	5.6.3 和數(shù)據(jù)框的交互 63
	5.6.4 擴展一個數(shù)據(jù)框 64
	5.7 執(zhí)行基本的統(tǒng)計任務(wù) 66
	5.7.1 進行決策 66
	5.7.2 使用循環(huán) 68
	5.7.3 不使用循環(huán)語句來執(zhí)行循環(huán)的任務(wù) 69
	5.7.4 使用函數(shù) 70
	5.7.5 查找平均值和中位數(shù) 70
	5.7.6 通過圖表來表示你的數(shù)據(jù) 71
	第 6 章 安裝 Python 73
	6.1 為機器學習選擇 Python 的版本 74
	6.1.1 獲取 Continuum Analytics Anaconda 75
	6.1.2 獲取 Enthought Canopy Express 76
	6.1.3 獲取 pythonxy 76
	6.1.4 獲取 WinPython 77
	6.2 在 Linux 系統(tǒng)上安裝 Python 77
	6.3 在 Mac OS X 上安裝 Python 78
	6.4 在 Windows 系統(tǒng)上安裝Python 79
	6.5 下載數(shù)據(jù)集和示例代碼 83
	6.5.1 使用 Jupyter Notebook 83
	6.5.2 定義代碼庫 85
	6.5.3 了解本書所使用的數(shù)據(jù)集 90
	第 7 章 使用 Anaconda 進行 Python編程 92
	7.1 使用數(shù)字和邏輯 93
	7.1.1 執(zhí)行變量賦值 95
	7.1.2 做算術(shù) 95
	7.1.3 使用布爾表達式來比較數(shù)據(jù) 97
	7.2 創(chuàng)建并使用字符串 99
	7.3 和日期打交道 100
	7.4 創(chuàng)建并使用函數(shù) 101
	7.4.1 創(chuàng)建可重用的函數(shù) 101
	7.4.2 調(diào)用函數(shù) 102
	7.4.3 使用全局變量和局部變量 104
	7.5 使用條件和循環(huán)語句 105
	7.5.1 使用 if 語句進行決策 105
	7.5.2 使用嵌套的決策,在多個選項中進行選擇 106
	7.5.3 使用 for 執(zhí)行重復的任務(wù) 107
	7.5.4 使用 while 語句 108
	7.6 使用集合、列表和元組來存儲數(shù)據(jù) 109
	7.6.1 創(chuàng)建集合 109
	7.6.2 在集合上進行運算 109
	7.6.3 創(chuàng)建列表 110
	7.6.4 創(chuàng)建并使用元組 111
	7.7 定義有用的迭代器 113
	7.8 使用字典來索引數(shù)據(jù) 114
	7.9 將代碼存儲在模塊中 114
	第 8 章 探索其他的機器學習工具 116
	8.1 SAS、Stata 和 SPSS 117
	8.2 用 Weka 做學術(shù) 119
	8.3 使用 LIBSVM 輕松訪問復雜的算法 120
	8.4 使用 Vowpal Wabbit,運行起來像閃電那么快 120
	8.5 使用 KNIME 和 RapidMiner進行可視化 121
	8.6 使用 Spark 處理海量數(shù)據(jù) 122
	第 3 部分 從數(shù)學的基礎(chǔ)知識開始 123
	第 9 章 揭秘機器學習背后的數(shù)學 125
	9.1 處理數(shù)據(jù) 126
	9.1.1 創(chuàng)建矩陣 127
	9.1.2 理解基本的運算 129
	9.1.3 進行矩陣的乘法 130
	9.1.4 了解高級的矩陣運算 132
	9.1.5 有效地使用向量 132
	9.2 探索概率的世界 135
	9.2.1 概率的運算 136
	9.2.2 貝葉斯理論的條件概率 137
	9.3 介紹統(tǒng)計的使用 139
	第 10 章 降低合適的曲線 142
	10.1 將學習解釋為優(yōu)化 143
	10.1.1 監(jiān)督式學習 143
	10.1.2 無監(jiān)督式學習 143
	10.1.3 增強學習 144
	10.1.4 學習的過程 144
	10.2 探索成本函數(shù) 147
	10.3 降低誤差曲線 148
	10.4 小批量和在線的更新 150
	第 11 章 驗證機器學習 154
	11.1 檢查樣本之外的誤差 155
	11.2 理解偏差的局限 157
	11.3 記住模型的復雜性 159
	11.4 讓解決方案保持均衡性 160
	11.5 訓練、驗證和測試 163
	11.6 借助于交叉驗證 163
	11.7 尋求驗證的替代方案 165
	11.8 優(yōu)化交叉驗證的選擇 166
	11.9 避免樣本偏差和泄露陷阱 168
	第 12 章 從簡單的學習器開始 171
	12.1 發(fā)現(xiàn)令人驚嘆的感知器 172
	12.1.1 還談不上奇跡 172
	12.1.2 觸碰不可分的極限 174
	12.2 生成貪婪的分類樹 175
	12.2.1 通過劃分數(shù)據(jù)來預測結(jié)果 176
	12.2.2 修剪過于茂盛的樹 179
	12.3 概率 180
	12.3.1 理解樸素貝葉斯 180
	12.3.2 使用樸素貝葉斯來預估響應(yīng) 183
	第 4 部分 從聰明且大量的數(shù)據(jù)中學習 187
	第 13 章 預處理數(shù)據(jù) 189
	13.1 收集并清洗數(shù)據(jù) 190
	13.2 修復缺失的數(shù)據(jù) 191
	13.2.1 識別缺失的數(shù)據(jù) 191
	13.2.2 選擇正確的替代策略 192
	13.3 變換數(shù)據(jù)的分布 195
	13.4 創(chuàng)建你自己的特征 197
	13.4.1 理解為什么要創(chuàng)建特征 197
	13.4.2 自動地創(chuàng)建特征 197
	13.5 壓縮數(shù)據(jù) 199
	13.6 劃分出異常數(shù)據(jù) 201
	第 14 章 利用相似度 205
	14.1 測量向量之間的相似度 206
	14.1.1 理解相似度 206
	14.1.2 計算用于學習的距離 207
	14.2 使用距離來確定聚類 208
	14.2.1 檢查假設(shè)和期望 209
	14.2.2 檢視算法的細節(jié) 210
	14.3 調(diào)優(yōu) K 均值算法 212
	14.3.1 試驗 K 均值的可靠性 213
	14.3.2 試驗質(zhì)心如何收斂 215
	14.4 使用 K 最近鄰的搜索進行分類 218
	14.5 利用正確的 k 參數(shù) 218
	14.5.1 理解參數(shù) k 219
	14.5.2 試驗一個靈活的算法 220
	第 15 章 使用線性模型的簡單方式 223
	15.1 開始合并變量 224
	15.2 混合不同類型的變量 229
	15.3 切換到概率 232
	15.3.1 指定二元的響應(yīng) 232
	15.3.2 處理多個類 234
	15.4 猜測正確的特征 235
	15.4.1 定義不能協(xié)同工作的特征的結(jié)果 235
	15.4.2 使用特征選擇來解決過擬合問題 236
	15.5 每次學習一個樣例 238
	15.5.1 使用梯度下降 238
	15.5.2 理解隨機梯度下降的不同之處 239
	第 16 章 用神經(jīng)網(wǎng)絡(luò)解決復雜性問題 243
	16.1 學習并模仿大自然 244
	16.1.1 使用前饋 245
	16.1.2 深入兔子洞 247
	16.1.3 使用反向傳播 249
	16.2 和過擬合做斗爭 251
	16.2.1 理解問題 252
	16.2.2 打開黑匣子 252
	16.3 介紹深度學習 255
	第 17 章 更進一步,使用支持向量機 258
	17.1 重溫分隔問題:一種新的方法 259
	17.2 算法的解釋 260
	17.2.1 深入支持向量機的數(shù)學基礎(chǔ) 262
	17.2.2 避免不可分隔的陷阱 263
	17.3 使用非線性 264
	17.3.1 使用例子展示核函數(shù)的技巧 265
	17.3.2 發(fā)現(xiàn)不同的核函數(shù) 266
	17.4 闡述超參數(shù) 268
	17.5 使用支持向量機進行分類和預估 269
	第 18 章 借助于學習器的組合 274
	18.1 利用決策樹 275
	18.1.1 種植一片森林 276
	18.1.2 理解重要性度量 279
	18.2 使用幾乎隨機的猜測 281
	18.3 增強聰明的預測器 285
	18.4 平均不同的預測器 287
	第 5 部分 將學習應(yīng)用到實際問題 289
	第 19 章 圖像的分類 291
	19.1 處理一組圖像 292
	19.2 提取視覺特征 296
	19.3 使用 Eigenfaces 識別人臉 297
	第 20 章 為觀點和情感打分 301
	20.1 介紹自然語言處理 301
	20.2 理解機器是如何閱讀的 302
	20.2.1 處理并增強文本 304
	20.2.2 從 Web 上抓取文本數(shù)據(jù)集 308
	20.2.3 處理原始文本中的問題 311
	20.3 使用打分和分類 312
	20.3.1 執(zhí)行分類任務(wù) 312
	20.3.2 分析來自電子商務(wù)平臺的評論 315
	第 21 章 推薦商品和電影 319
	21.1 實現(xiàn)變革 320
	21.2 下載評分數(shù)據(jù) 321
	21.2.1 了解 MovieLens數(shù)據(jù)集 321
	21.2.2 瀏覽匿名的 Web 數(shù)據(jù) 323
	21.2.3 面對評分數(shù)據(jù)的局限 323
	21.3 利用奇異值分解 325
	21.3.1 考慮 SVD 的起源 325
	21.3.2 理解 SVD 的內(nèi)在關(guān)聯(lián) 326
	21.3.3 SVD 的實踐 327
	第 6 部分 十條區(qū) 333
	第 22 章 10 個需要掌握的機器學習包 335
	22.1 Cloudera Oryx 336
	22.2 CUDA-Convnet 336
	22.3 ConvNetJS 336
	22.4 e1071 337
	22.5 gbm 337
	22.6 Gensim 338
	22.7 glmnet 338
	22.8 randomForest 338
	22.9 SciPy 339
	22.10 XGBoost 339
	第 23 章 提升機器學習模型的 10 種方式 340
	23.1 研究學習的曲線 341
	23.2 正確地使用交叉驗證 341
	23.3 選擇正確的錯誤或分數(shù)度量標準 342
	23.4 搜尋最佳的超參數(shù) 343
	23.5 測試多個模型 343
	23.6 平均多個模型 344
	23.7 堆疊多個模型 344
	23.8 運用特征工程 345
	23.9 選擇特征和樣本 345
	23.10 尋求更多的數(shù)據(jù) 346