從機器學習到深度學習:基于scikit-learn與TensorFlow的高效開發實戰 ( 簡體 字) |
作者:劉長龍 | 類別:1. -> 程式設計 -> 機器學習 2. -> 程式設計 -> 深度學習 |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 50790 詢問書籍請說出此書號!【有庫存】 NT售價: 495 元 |
出版日:3/1/2019 |
頁數:512 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121355189 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:隨著越來越多的人工智能技術的突破、市場上實際產品的研發與銷售,機器學習成為了當下所有高科技企業在管理、技術、運維等所有層面被高度關注的技術領域。在所有企業的產品設計論壇、技術研討會中,人工智能與機器學習總會成為大家關注的焦點。 但是,人工智能與機器學習所獲得的關注與大家對該領域知識的了解卻不成正比。以筆者自身的經歷來說,在頂尖高科技企業的技術研討與分享會中,很多次被問到: 機器學習與深度學習的區別是什么? 什么是有監督學習? 人工智能能不能應用在我們的產品中? 這些問題既可以用一兩句話回答,也可以用一本書來闡述。無論如何,筆者能肯定的一點是:大家對機器學習充滿興趣,但平時又忙于工作和生活,無暇系統地學習這方面的知識。 機器學習作為一個知識體系而言確實是龐大的,系統學習它至少要以扎實掌握數學和計算機本科6∼7門課程為基礎。但是這些課程已經讓很多在校學生“備受折磨”,更別提終日忙于工作與家庭、已畢業多年的企業管理與工程人員了。 如何讓對數學久疏戰陣或者本就不擅長數學的人快速領略和掌握人工智能與機器學習的全貌呢? 本書試圖用通俗的語言講解涵蓋算法模型的機器學習。更進一步地,在深入淺出解析模型與算法之后,介紹使用Python相關工具進行開發的方法、解析經典案例,使讀者做到“能理解,能設計、能編碼、能調試”,真正將機器學習應用在自己的產品之中。 本書特色 1.內容全面 全面覆蓋了機器學習的三大領域:有監督學習、無監督學習、強化學習。在分析它們的傳統算法模型后,著重解析近年來取得突破的深度學習在人工智能方面的應用。 2.深入淺出 用生活化的語言描述算法與模型的原理與作用,并給出實踐指導和案例解析。使得沒有任何專業基礎的讀者在學習本書后能夠獨立設計與開發機器學習產品。 3.工具多樣 理論內容全面,以至于沒有哪個工具能夠全部實現這些模型,因此在每一個模型的實踐部分選取最合適的工具。總體來看,本書圍繞scikit-learn與TensorFlow展開實踐,并在需要時引入其他工具。 4.案例豐富 除了每個模型的小型實踐,本書包括的較大案例是:金融預測、醫療診斷概率模型、月球登陸器、圖像識別、寫詩機器人、中國象棋博弈。 5.授人以漁 在運用到較深的理論知識或更細節的論證結果時,本書給出這些知識與結論的出處,確保讀者能夠追本溯源;在工具使用方面,不僅著眼于接口細節,更關注那些能使讀者快速形成查閱該工具最新在線文檔的核心知識的能力。 本書內容體系 雖然本書每章有明確的主題內容,但知識體系有輕微依賴關系,因此對于普通讀者來說建議按編排順序閱讀。對于有特定需求的讀者,可以按照下圖尋找學習路徑。
除了第2章,學習上圖中任何一個模塊前,都建議以其上方的章節為基礎。第2章介紹的是后續其他章節里實踐所依賴的Python基礎工具,對于只關注模型場景與原理的讀者可將其跳過。 從圖中可以看到,除了基礎的第1、2章,本書由3條學習線組成。 (1)第3、9、10、11章 第3章以scikit-learn為工具介紹有監督學習的傳統模型;第9章是本書篇幅最大的一章,以TensroFlow為工具學習近年來發展最快的深度學習模型,因為其與第8章有少量關聯,所以放在了第9章;第10章學習強化學習傳統算法與深度學習算法;第11章簡單介紹深度學習模型的遷移方法。 (2)第4、5章 用scikit-learn講解無監督學習模型原理、算法與應用。無監督學習中最主要的兩部分是聚類與降維,在講解過程中比較了每個模型的優勢與劣勢。 (3)第6、7、8章 講解概率類機器學習模型的原理與實戰。第6章作為入門使讀者領略概率模型的特點;第7章全面介紹貝葉斯類算法的基本知識和簡單實踐;第8章的重點是LDA主題模型,以第7章的內容為基礎。 只要按照圖中的順序學習,幾乎不需要任何基礎就可以掌握圖中所有機器學習領域的基本方法,為今后在這方面進行研究與工作打下堅實的基礎。 本書讀者 本書幾乎適合任何對機器學習感興趣的讀者,比較典型的是: 產品設計經理。 技術管理者。 信息技術創業者。 數據分析員。 軟件開發人員。 在校學生。 另外,如果您已經是機器學習領域的資深研究者,能看懂相關論文,或正準備在專業雜志上發表這方面的論文,可能這本書會不那么適合你。謹此說明。 感謝 感謝您的信任,如果閱讀這本書能啟發您獲得新的靈感,那是我最大的榮幸。同時也因為本人水平有限,書中內容有疏漏之處也請賜教和包涵。
輕松注冊成為博文視點社區用戶,掃碼直達本書頁面。 下載資源:本書如提供示例代碼及資源文件,均可在 下載資源 處下載。 提交勘誤:您對書中內容的修改意見可在 提交勘誤 處提交,若被采納,將獲贈博文視點社區積分(在您購買電子書時,積分可用來抵扣相應金額)。 交流互動:在頁面下方 讀者評論 處留下您的疑問或觀點,與我們和其他讀者一同學習交流。 |
內容簡介:這是一本場景式的機器學習實踐書,筆者努力做到“授人以漁,而非授人以魚”。理論方面從人工智能(AI)與機器學習(ML)的基本要素講起,逐步展開有監督學習、無監督學習、強化學習這三大類模型的應用場景與算法原理;實踐方面通過金融預測、醫療診斷概率模型、月球登陸器、圖像識別、寫詩機器人、中國象棋博弈等案例啟發讀者將機器學習應用在各行各業里,其中后三個案例使用了深度學習技術。本書試圖用通俗的語言講解涵蓋算法模型的機器學習,主要內容包括機器學習通用概念、三個基本科學計算工具、有監督學習、聚類模型、降維模型、隱馬爾可夫模型、貝葉斯網絡、自然語言處理、深度學習、強化學習、模型遷移等。在深入淺出地解析模型與算法之后,介紹使用Python相關工具進行開發的方法、解析經典案例,使讀者做到“能理解、能設計、能編碼、能調試”,沒有任何專業基礎的讀者在學習本書后也能夠上手設計與開發機器學習產品。本書內容深入淺出、實例典型,適合對機器學習感興趣的產品設計、技術管理、數據分析、軟件開發或學生讀者。閱讀本書既能了解當前工業界的主流機器學習與深度學習開發工具的使用方法,又能從戰略方面掌握如何將人工智能技術應用到自己的企業與產品中 |
目錄:第1章 機器學習基礎 1 1.1 引言 1 1.1.1 為什么使用機器學習 2 1.1.2 機器學習與數據挖掘 4 1.1.3 機器學習與人工智能 5 1.2 機器學習的一般流程 7 1.2.1 定義問題 7 1.2.2 收集數據 8 1.2.3 比較算法與模型 9 1.2.4 應用模型 10 1.3 學習策略 10 1.3.1 有監督學習 11 1.3.2 無監督學習 14 1.3.3 強化學習 16 1.3.4 綜合模型與工具 18 1.4 評估理論 19 1.4.1 劃分數據集 19 1.4.2 交叉驗證 21 1.4.3 評估指標 22 1.4.4 擬合不足與過度擬合 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 數據類型 32 2.1.4 訪問與修改 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 點線圖 44 2.2.2 子視圖 50 2.2.3 圖像 53 2.2.4 等值圖 57 2.2.5 三維繪圖 58 2.2.6 從官網學習 59 2.3 Scipy 60 2.3.1 數學與物理常數 61 2.3.2 特殊函數庫 62 2.3.3 積分 64 2.3.4 優化 65 2.3.5 插值 67 2.3.6 離散傅里葉 68 2.3.7 卷積 70 2.3.8 線性分析 71 2.3.9 概率統計 73 2.4 本章內容回顧 77 第3章 有監督學習:分類與回歸 79 3.1 線性回歸 80 3.1.1 何謂線性模型 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 實戰:SGDRegressor和SGDClassifier 93 3.2.4 增量學習 94 3.3 支持向量機 95 3.3.1 最優超平面 95 3.3.2 軟間隔 97 3.3.3 線性不可分問題 98 3.3.4 核函數 99 3.3.5 實戰:scikit-learn中的SVM 100 3.4 樸素貝葉斯分類 101 3.4.1 基礎概率 102 3.4.2 貝葉斯分類原理 103 3.4.3 高斯樸素貝葉斯 105 3.4.4 多項式樸素貝葉斯 106 3.4.5 伯努利樸素貝葉斯 107 3.5 高斯過程 107 3.5.1 隨機過程 108 3.5.2 無限維高斯分布 109 3.5.3 實戰:gaussian_process工具包 111 3.6 決策樹 114 3.6.1 最易于理解的模型 114 3.6.2 熵的作用 115 3.6.3 實戰:DecisionTreeClassifier與DecisionTreeRegressor 117 3.6.4 樹的可視化 118 3.7 集成學習 119 3.7.1 偏差與方差 120 3.7.2 隨機森林 121 3.7.3 自適應增強 124 3.8 綜合話題 126 3.8.1 參數與非參數學習 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章 無監督學習:聚類 136 4.1 動機 137 4.2 K-means 138 4.2.1 算法 139 4.2.2 實戰:scikit-learn聚類調用 141 4.2.3 如何選擇K值 144 4.3 近鄰算法 145 4.3.1 生活化的理解 145 4.3.2 有趣的迭代 146 4.3.3 實戰:AffinityPropagation類 147 4.4 高斯混合模型 149 4.4.1 中心極限定理 150 4.4.2 最大似然估計 151 4.4.3 幾種協方差矩陣類型 152 4.4.4 實戰:GaussianMixture類 154 4.5 密度聚類 156 4.5.1 凸數據集 157 4.5.2 密度算法 158 4.5.3 實戰:DBSCAN類 159 4.6 BIRCH 160 4.6.1 層次模型綜述 161 4.6.2 聚類特征樹 162 4.6.3 實戰:BIRCH相關調用 164 4.7 距離計算 166 4.7.1 閔氏距離 166 4.7.2 馬氏距離 167 4.7.3 余弦相似度 168 4.7.4 時間序列比較 169 4.7.5 杰卡德相似度 169 4.8 聚類評估 170 4.9 本章內容回顧 172 第5章 無監督學習:數據降維 173 5.1 主成分分析 174 5.1.1 尋找方差最大維度 174 5.1.2 用PCA降維 177 5.1.3 實戰:用PCA尋找主成分 178 5.2 線性判別分析 181 5.2.1 雙重標準 181 5.2.2 實戰:使用LinearDiscriminantAnalysis 183 5.3 多維標度法 185 5.3.1 保留距離信息的線性變換 185 5.3.2 MDS的重要變形 187 5.3.3 實戰:使用MDS類 188 5.4 流形學習之Isomap 189 5.4.1 什么是流形 190 5.4.2 測地線距離 192 5.4.3 實戰:使用Isomap類 193 5.5 流形學習之局部嵌入 195 5.5.1 局部線性嵌入 195 5.5.2 拉普拉斯特征映射(LE) 198 5.5.3 調用介紹 200 5.5.4 譜聚類 201 5.6 流形學習之t-SNE 203 5.6.1 用Kullback-Leiber衡量分布相似度 203 5.6.2 為什么是t-分布 205 5.6.3 實戰:使用TSNE類 206 5.7 實戰:降維模型之比較 207 5.8 本章內容回顧 210 第6章 隱馬爾可夫模型 212 6.1 場景建模 213 6.1.1 兩種狀態鏈 213 6.1.2 兩種概率 215 6.1.3 三種問題 217 6.1.4 hmmLearn介紹 218 6.2 離散型分布算法與應用 222 6.2.1 前向算法與后向算法 222 6.2.2 MultinomialNB求估計問題 226 6.2.3 Viterbi算法 227 6.2.4 MultinomialNB求解碼問題 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 實戰:股票預測模型 241 6.4.1 數據模型 241 6.4.2 目標 243 6.4.3 訓練模型 243 6.4.4 分析模型參數 245 6.4.5 可視化短線預測 247 6.5 本章內容回顧 250 第7章 貝葉斯網絡 251 7.1 什么是貝葉斯網絡 252 7.1.1 典型貝葉斯問題 252 7.1.2 靜態結構 253 7.1.3 聯合/邊緣/條件概率換算 256 7.1.4 鏈式法則與變量消元 258 7.2 網絡構建 259 7.2.1 網絡參數估計 260 7.2.2 啟發式搜索 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 實戰:胸科疾病診斷 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章 自然語言處理 284 8.1 文本建模 285 8.1.1 聊天機器人原理 285 8.1.2 詞袋模型 286 8.1.3 訪問新聞資源庫 287 8.1.4 TF-IDF 290 8.1.5 實戰:關鍵詞推舉 290 8.2 詞匯處理 294 8.2.1 中文分詞 294 8.2.2 Word2vec 296 8.2.3 實戰:尋找近似詞 298 8.3 主題模型 303 8.3.1 三層模型 303 8.3.2 非負矩陣分解 304 8.3.3 潛在語意分析 305 8.3.4 隱含狄利克雷分配 307 8.3.5 實戰:使用工具包 309 8.4 實戰:用LDA分析新聞庫 311 8.4.1 文本預處理 311 8.4.2 訓練與顯示 313 8.4.3 困惑度調參 315 8.5 本章內容回顧 317 第9章 深度學習 319 9.1 神經網絡基礎 320 9.1.1 人工神經網絡 320 9.1.2 神經元與激活函數 321 9.1.3 反向傳播 323 9.1.4 萬能網絡 325 9.2 TensorFlow核心應用 328 9.2.1 張量 329 9.2.2 開發架構 331 9.2.3 數據管理 332 9.2.4 評估器 335 9.2.5 圖與會話 338 9.2.6 逐代(epoch)訓練 341 9.2.7 圖與統計可視化 343 9.3 卷積神經網絡 349 9.3.1 給深度學習一個理由 349 9.3.2 CNN結構發展 351 9.3.3 卷積層 354 9.3.4 池化層 356 9.3.5 ReLU與Softmax 357 9.3.6 Inception與ResNet 359 9.4 優化 362 9.4.1 批次規范化 362 9.4.2 剪枝 364 9.4.3 算法選擇 366 9.5 循環神經網絡與遞歸神經網絡 367 9.5.1 循環神經網絡 368 9.5.2 長短期記憶(LSTM) 371 9.5.3 遞歸神經網絡 374 9.6 前沿精選 377 9.6.1 物件檢測模型 377 9.6.2 密連卷積網絡 381 9.6.3 膠囊網絡 382 9.7 CNN實戰:圖像識別 385 9.7.1 開源圖像庫CIFAR 385 9.7.2 項目介紹 388 9.7.3 構建Graph 389 9.7.4 優化與訓練 392 9.7.5 運行 394 9.8 RNN實戰:寫詩機器人 397 9.8.1 語言模型 397 9.8.2 LSTM開發步驟1:網絡架構 401 9.8.3 LSTM開發步驟2:數據加載 402 9.8.4 LSTM開發步驟3:搭建TensorFlow Graph 403 9.8.5 LSTM開發步驟4:解析LSTM RNN 404 9.8.6 LSTM開發步驟5:LSTM中的參數 406 9.8.7 LSTM開發步驟6:用sequence_loss計算RNN損失值 406 9.8.8 LSTM開發步驟7:學習速度可調優化器 407 9.8.9 LSTM開發步驟8:訓練 408 9.8.10 開始寫唐詩 410 9.8.11 寫唐詩步驟1:用唐詩語料訓練語言模型 410 9.8.12 寫唐詩步驟2:作詩 412 9.8.13 寫唐詩步驟3:作品舉例 414 9.9 本章內容回顧 415 第10章 強化學習 418 10.1 場景與原理 419 10.1.1 借AlphaGo談人工智能 419 10.1.2 基于價值的算法Q-Learning與Sarsa 421 10.1.3 基于策略的算法 424 10.1.4 基于模型的算法 426 10.2 OpenAI Gym 427 10.2.1 環境調用 428 10.2.2 實戰:用Q-Learning開發走迷宮機器人 432 10.3 深度強化學習 435 10.3.1 DQN及改進 435 10.3.2 DPN、DDPG及A3C 436 10.3.3 實戰:用DPN訓練月球定點登陸 439 10.4 博弈原理 444 10.4.1 深度搜索與廣度搜索 444 10.4.2 完美決策 446 10.4.3 蒙特卡洛搜索樹 448 10.5 實戰:中國象棋版AlphaGo Zero 449 10.5.1 開源版本AlphaGo Zero 450 10.5.2 盤面建模 452 10.5.3 左右互搏 457 10.5.4 MCTS詳解 464 10.5.5 DDPG詳解 468 10.5.6 運行展示:訓練 473 10.5.7 運行展示:查看統計 475 10.5.8 運行展示:當頭炮、把馬跳 475 10.5.9 運行展示:人機博弈 476 10.6 本章內容回顧 477 第11章 模型遷移 478 11.1 走向移動端 478 11.1.1 Android上的TensorFlow 479 11.1.2 iOS上的CoreML 480 11.2 遷移學習 483 11.2.1 動機 483 11.2.2 訓練流程 484 11.3 案例實戰:基于TensorFlow Hub的遷移學習開發 485 11.3.1 下載并訓練 485 11.3.2 檢驗學習成果 486 11.3.3 遷移學習開發 487 11.4 本章內容回顧 488 后記 489 |
序: |