場(chǎng)景式學(xué)習,全面覆蓋機器學(xué)習深度學(xué)習強化學(xué)習深度強化學(xué)習及模型的遷移學(xué)習,沒(méi)有機器學(xué)習專(zhuān)業(yè)基礎也能夠上手設計與開(kāi)發(fā)機器學(xué)習產(chǎn)品,內容全面,深入淺出,工具多樣,案例豐富,授人以漁。
★內容全面
全面覆蓋了機器學(xué)習的三大領(lǐng)域:有監督學(xué)習、無(wú)監督學(xué)習、強化學(xué)習。在分析它們的傳統算法模型后,著(zhù)重解析近年來(lái)取得突破的深度學(xué)習在人工智能方面的應用。
★深入淺出
用生活化的語(yǔ)言描述算法與模型的原理與作用,并給出實(shí)踐指導和案例解析。使得沒(méi)有任何專(zhuān)業(yè)基礎的讀者在學(xué)習本書(shū)后能夠獨立設計與開(kāi)發(fā)機器學(xué)習產(chǎn)品。
★工具多樣
理論內容全面,以至于沒(méi)有哪個(gè)工具能夠全部實(shí)現這些模型,因此在每一個(gè)模型的實(shí)踐部分選取合適的工具??傮w來(lái)看,本書(shū)圍繞scikit-learn與TensorFlow展開(kāi)實(shí)踐,并在需要時(shí)引入其他工具。
★案例豐富
除了每個(gè)模型的小型實(shí)踐,本書(shū)包括的較大案例是:金融預測、醫療診斷概率模型、月球登陸器、圖像識別、寫(xiě)詩(shī)機器人、中國象棋博弈。
★授人以漁
在運用到較深的理論知識或更細節的論證結果時(shí),本書(shū)給出這些知識與結論的出處,確保讀者能夠追本溯源;在工具使用方面,不僅著(zhù)眼于接口細節,更關(guān)注那些能使讀者快速形成查閱該工具在線(xiàn)文檔的核心知識的能力。
★《從機器學(xué)習到深度學(xué)習:基于scikit-learn與TensorFlow的高效開(kāi)發(fā)實(shí)戰》是一本場(chǎng)景式的機器學(xué)習實(shí)踐書(shū),筆者努力做到“授人以漁,而非授人以魚(yú)”。理論方面從人工智能(AI)與機器學(xué)習(ML)的基本要素講起,逐步展開(kāi)有監督學(xué)習、無(wú)監督學(xué)習、強化學(xué)習這三大類(lèi)模型的應用場(chǎng)景與算法原理;實(shí)踐方面通過(guò)金融預測、醫療診斷概率模型、月球登陸器、圖像識別、寫(xiě)詩(shī)機器人、中國象棋博弈等案例啟發(fā)讀者將機器學(xué)習應用在各行各業(yè)里,其中后三個(gè)案例使用了深度學(xué)習技術(shù)。
★《從機器學(xué)習到深度學(xué)習:基于scikit-learn與TensorFlow的高效開(kāi)發(fā)實(shí)戰》試圖用通俗的語(yǔ)言講解涵蓋算法模型的機器學(xué)習,主要內容包括機器學(xué)習通用概念、三個(gè)基本科學(xué)計算工具、有監督學(xué)習、聚類(lèi)模型、降維模型、隱馬爾可夫模型、貝葉斯網(wǎng)絡(luò )、自然語(yǔ)言處理、深度學(xué)習、強化學(xué)習、模型遷移等。在深入淺出地解析模型與算法之后,介紹使用Python相關(guān)工具進(jìn)行開(kāi)發(fā)的方法、解析經(jīng)典案例,使讀者做到“能理解、能設計、能編碼、能調試”,沒(méi)有任何專(zhuān)業(yè)基礎的讀者在學(xué)習本書(shū)后也能夠上手設計與開(kāi)發(fā)機器學(xué)習產(chǎn)品。
★本書(shū)內容深入淺出、實(shí)例典型,適合對機器學(xué)習感興趣的產(chǎn)品設計、技術(shù)管理、數據分析、軟件開(kāi)發(fā)或學(xué)生讀者。閱讀《從機器學(xué)習到深度學(xué)習:基于scikit-learn與TensorFlow的高效開(kāi)發(fā)實(shí)戰》既能了解當前工業(yè)界的主流機器學(xué)習與深度學(xué)習開(kāi)發(fā)工具的使用方法,又能從戰略方面掌握如何將人工智能技術(shù)應用到自己的企業(yè)與產(chǎn)品中。
★劉長(cháng)龍,思維與行動(dòng)兼備的80后,享受萌生新想法后邊開(kāi)發(fā)邊思考的創(chuàng )新過(guò)程。上海交大碩士畢業(yè)后最初任職于上海電信,負責賬務(wù)與支付系統的開(kāi)發(fā)與實(shí)施;之后加入Honeywell負責多個(gè)自動(dòng)化控制產(chǎn)品服務(wù)開(kāi)發(fā)、主導了霍尼韋爾中國智能家居在云與大數據上的創(chuàng )新;現在作為思科的工程師在企業(yè)內主持多次機器學(xué)習技術(shù)分享,實(shí)現智能文本分析系統、聊天機器人自然語(yǔ)言處理等產(chǎn)品創(chuàng )新;2018年在思科主辦,騰訊、網(wǎng)易、諾基亞等共同參與的敏捷與人工智能峰會(huì )上擔任機器學(xué)習算法演講嘉賓。
第1章 機器學(xué)習基礎 1
1.1 引言 1
1.1.1 為什么使用機器學(xué)習 2
1.1.2 機器學(xué)習與數據挖掘 4
1.1.3 機器學(xué)習與人工智能 5
1.2 機器學(xué)習的一般流程 7
1.2.1 定義問(wèn)題 7
1.2.2 收集數據 8
1.2.3 比較算法與模型 9
1.2.4 應用模型 10
1.3 學(xué)習策略 10
1.3.1 有監督學(xué)習 11
1.3.2 無(wú)監督學(xué)習 14
1.3.3 強化學(xué)習 16
1.3.4 綜合模型與工具 18
1.4 評估理論 19
1.4.1 劃分數據集 19
1.4.2 交叉驗證 21
1.4.3 評估指標 22
1.4.4 擬合不足與過(guò)度擬合 25
1.5 本章內容回顧 26
第2章 Python基礎工具 27
2.1 Numpy 28
2.1.1 Numpy與Scipy的分工 28
2.1.2 ndarray構造 29
2.1.3 數據類(lèi)型 32
2.1.4 訪(fǎng)問(wèn)與修改 33
2.1.5 軸 35
2.1.6 維度操作 38
2.1.7 合并與拆分 40
2.1.8 增與刪 41
2.1.9 全函數 42
2.1.10 廣播 42
2.2 Matplot 43
2.2.1 點(diǎn)線(xiàn)圖 44
2.2.2 子視圖 50
2.2.3 圖像 53
2.2.4 等值圖 57
2.2.5 三維繪圖 58
2.2.6 從官網(wǎng)學(xué)習 59
2.3 Scipy 60
2.3.1 數學(xué)與物理常數 61
2.3.2 特殊函數庫 62
2.3.3 積分 64
2.3.4 優(yōu)化 65
2.3.5 插值 67
2.3.6 離散傅里葉 68
2.3.7 卷積 70
2.3.8 線(xiàn)性分析 71
2.3.9 概率統計 73
2.4 本章內容回顧 77
第3章 有監督學(xué)習:分類(lèi)與回歸 79
3.1 線(xiàn)性回歸 80
3.1.1 何謂線(xiàn)性模型 80
3.1.2 最小二乘法 81
3.1.3 最小二乘法的不足 82
3.1.4 嶺回歸 85
3.1.5 Lasso回歸 87
3.2 梯度下降 90
3.2.1 假設函數與損失函數 90
3.2.2 隨機梯度下降 92
3.2.3 實(shí)戰:SGDRegressor和SGDClassifier 93
3.2.4 增量學(xué)習 94
3.3 支持向量機 95
3.3.1 最優(yōu)超平面 95
3.3.2 軟間隔 97
3.3.3 線(xiàn)性不可分問(wèn)題 98
3.3.4 核函數 99
3.3.5 實(shí)戰:scikit-learn中的SVM 100
3.4 樸素貝葉斯分類(lèi) 101
3.4.1 基礎概率 102
3.4.2 貝葉斯分類(lèi)原理 103
3.4.3 高斯樸素貝葉斯 105
3.4.4 多項式樸素貝葉斯 106
3.4.5 伯努利樸素貝葉斯 107
3.5 高斯過(guò)程 107
3.5.1 隨機過(guò)程 108
3.5.2 無(wú)限維高斯分布 109
3.5.3 實(shí)戰:gaussian_process工具包 111
3.6 決策樹(shù) 114
3.6.1 最易于理解的模型 114
3.6.2 熵的作用 115
3.6.3 實(shí)戰:DecisionTreeClassifier與DecisionTreeRegressor 117
3.6.4 樹(shù)的可視化 118
3.7 集成學(xué)習 119
3.7.1 偏差與方差 120
3.7.2 隨機森林 121
3.7.3 自適應增強 124
3.8 綜合話(huà)題 126
3.8.1 參數與非參數學(xué)習 127
3.8.2 One-Vs-All與One-Vs-One 127
3.8.3 評估工具 129
3.8.4 超參數調試 131
3.8.5 多路輸出 134
3.9 本章內容回顧 134
第4章 無(wú)監督學(xué)習:聚類(lèi) 136
4.1 動(dòng)機 137
4.2 K-means 138
4.2.1 算法 139
4.2.2 實(shí)戰:scikit-learn聚類(lèi)調用 141
4.2.3 如何選擇K值 144
4.3 近鄰算法 145
4.3.1 生活化的理解 145
4.3.2 有趣的迭代 146
4.3.3 實(shí)戰:AffinityPropagation類(lèi) 147
4.4 高斯混合模型 149
4.4.1 中心極限定理 150
4.4.2 最大似然估計 151
4.4.3 幾種協(xié)方差矩陣類(lèi)型 152
4.4.4 實(shí)戰:GaussianMixture類(lèi) 154
4.5 密度聚類(lèi) 156
4.5.1 凸數據集 157
4.5.2 密度算法 158
4.5.3 實(shí)戰:DBSCAN類(lèi) 159
4.6 BIRCH 160
4.6.1 層次模型綜述 161
4.6.2 聚類(lèi)特征樹(shù) 162
4.6.3 實(shí)戰:BIRCH相關(guān)調用 164
4.7 距離計算 166
4.7.1 閔氏距離 166
4.7.2 馬氏距離 167
4.7.3 余弦相似度 168
4.7.4 時(shí)間序列比較 169
4.7.5 杰卡德相似度 169
4.8 聚類(lèi)評估 170
4.9 本章內容回顧 172
第5章 無(wú)監督學(xué)習:數據降維 173
5.1 主成分分析 174
5.1.1 尋找方差最大維度 174
5.1.2 用PCA降維 177
5.1.3 實(shí)戰:用PCA尋找主成分 178
5.2 線(xiàn)性判別分析 181
5.2.1 雙重標準 181
5.2.2 實(shí)戰:使用LinearDiscriminantAnalysis 183
5.3 多維標度法 185
5.3.1 保留距離信息的線(xiàn)性變換 185
5.3.2 MDS的重要變形 187
5.3.3 實(shí)戰:使用MDS類(lèi) 188
5.4 流形學(xué)習之Isomap 189
5.4.1 什么是流形 190
5.4.2 測地線(xiàn)距離 192
5.4.3 實(shí)戰:使用Isomap類(lèi) 193
5.5 流形學(xué)習之局部嵌入 195
5.5.1 局部線(xiàn)性嵌入 195
5.5.2 拉普拉斯特征映射(LE) 198
5.5.3 調用介紹 200
5.5.4 譜聚類(lèi) 201
5.6 流形學(xué)習之t-SNE 203
5.6.1 用Kullback-Leiber衡量分布相似度 203
5.6.2 為什么是t-分布 205
5.6.3 實(shí)戰:使用TSNE類(lèi) 206
5.7 實(shí)戰:降維模型之比較 207
5.8 本章內容回顧 210
第6章 隱馬爾可夫模型 212
6.1 場(chǎng)景建模 213
6.1.1 兩種狀態(tài)鏈 213
6.1.2 兩種概率 215
6.1.3 三種問(wèn)題 217
6.1.4 hmmLearn介紹 218
6.2 離散型分布算法與應用 222
6.2.1 前向算法與后向算法 222
6.2.2 MultinomialNB求估計問(wèn)題 226
6.2.3 Viterbi算法 227
6.2.4 MultinomialNB求解碼問(wèn)題 229
6.2.5 EM算法 232
6.2.6 Baum-Welch算法 233
6.2.7 用hmmLearn訓練數據 235
6.3 連續型概率分布 236
6.3.1 多元高斯分布 237
6.3.2 GaussianHMM 239
6.3.3 GMMHMM 240
6.4 實(shí)戰:股票預測模型 241
6.4.1 數據模型 241
6.4.2 目標 243
6.4.3 訓練模型 243
6.4.4 分析模型參數 245
6.4.5 可視化短線(xiàn)預測 247
6.5 本章內容回顧 250
第7章 貝葉斯網(wǎng)絡(luò ) 251
7.1 什么是貝葉斯網(wǎng)絡(luò ) 252
7.1.1 典型貝葉斯問(wèn)題 252
7.1.2 靜態(tài)結構 253
7.1.3 聯(lián)合/邊緣/條件概率換算 256
7.1.4 鏈式法則與變量消元 258
7.2 網(wǎng)絡(luò )構建 259
7.2.1 網(wǎng)絡(luò )參數估計 260
7.2.2 啟發(fā)式搜索 261
7.2.3 Chow-Liu Tree算法 262
7.3 近似推理 263
7.3.1 蒙特卡洛方法 264
7.3.2 馬爾可夫鏈收斂定理 265
7.3.3 MCMC推理框架 267
7.3.4 Gibbs采樣 268
7.3.5 變分貝葉斯 268
7.4 利用共軛建模 270
7.4.1 共軛分布 270
7.4.2 隱含變量與顯式變量 272
7.5 實(shí)戰:胸科疾病診斷 274
7.5.1 診斷需求 274
7.5.2 Python概率工具包 275
7.5.3 建立模型 276
7.5.4 MCMC采樣分析 278
7.5.5 近似推理 281
7.6 本章內容回顧 282
第8章 自然語(yǔ)言處理 284
8.1 文本建模 285
8.1.1 聊天機器人原理 285
8.1.2 詞袋模型 286
8.1.3 訪(fǎng)問(wèn)新聞資源庫 287
8.1.4 TF-IDF 290
8.1.5 實(shí)戰:關(guān)鍵詞推舉 290
8.2 詞匯處理 294
8.2.1 中文分詞 294
8.2.2 Word2vec 296
8.2.3 實(shí)戰:尋找近似詞 298
8.3 主題模型 303
8.3.1 三層模型 303
8.3.2 非負矩陣分解 304
8.3.3 潛在語(yǔ)意分析 305
8.3.4 隱含狄利克雷分配 307
8.3.5 實(shí)戰:使用工具包 309
8.4 實(shí)戰:用LDA分析新聞庫 311
8.4.1 文本預處理 311
8.4.2 訓練與顯示 313
8.4.3 困惑度調參 315
8.5 本章內容回顧 317
第9章 深度學(xué)習 319
9.1 神經(jīng)網(wǎng)絡(luò )基礎 320
9.1.1 人工神經(jīng)網(wǎng)絡(luò ) 320
9.1.2 神經(jīng)元與激活函數 321
9.1.3 反向傳播 323
9.1.4 萬(wàn)能網(wǎng)絡(luò ) 325
9.2 TensorFlow核心應用 328
9.2.1 張量 329
9.2.2 開(kāi)發(fā)架構 331
9.2.3 數據管理 332
9.2.4 評估器 335
9.2.5 圖與會(huì )話(huà) 338
9.2.6 逐代(epoch)訓練 341
9.2.7 圖與統計可視化 343
9.3 卷積神經(jīng)網(wǎng)絡(luò ) 349
9.3.1 給深度學(xué)習一個(gè)理由 349
9.3.2 CNN結構發(fā)展 351
9.3.3 卷積層 354
9.3.4 池化層 356
9.3.5 ReLU與Softmax 357
9.3.6 Inception與ResNet 359
9.4 優(yōu)化 362
9.4.1 批次規范化 362
9.4.2 剪枝 364
9.4.3 算法選擇 366
9.5 循環(huán)神經(jīng)網(wǎng)絡(luò )與遞歸神經(jīng)網(wǎng)絡(luò ) 367
9.5.1 循環(huán)神經(jīng)網(wǎng)絡(luò ) 368
9.5.2 長(cháng)短期記憶(LSTM) 371
9.5.3 遞歸神經(jīng)網(wǎng)絡(luò ) 374
9.6 前沿精選 377
9.7 CNN實(shí)戰:圖像識別 385
9.8 RNN實(shí)戰:寫(xiě)詩(shī)機器人 397
9.9 本章內容回顧 415
第10章 強化學(xué)習 418
10.1 場(chǎng)景與原理 419
10.2 OpenAI Gym 427
10.3 深度強化學(xué)習 435
10.4 博弈原理 444
10.5 實(shí)戰:中國象棋版AlphaGo Zero 449
10.6 本章內容回顧 477
第11章 模型遷移 478
11.1 走向移動(dòng)端 478
11.2 遷移學(xué)習 483
11.3 案例實(shí)戰:基于TensorFlow Hub的遷移學(xué)習開(kāi)發(fā) 485
11.4 本章內容回顧 488
后記 489
篇幅限制,完整目錄請見(jiàn)本書(shū)