編輯推薦
關(guān)于TensorFlow機器學習的快速入門的極好指南。
由淺入深講解經(jīng)典核心算法、神經(jīng)網(wǎng)絡(luò)、強化學習。
為你提供了機器學習概念的堅實基礎(chǔ),以及使用Python編寫TensorFlow的實戰(zhàn)經(jīng)驗。
你將通過經(jīng)典的預(yù)測、分類和聚類算法等快速學習掌握基礎(chǔ)知識。然后,繼續(xù)學習具有深度價值的內(nèi)容:探索深度學習的概念,例如自動編碼器、遞歸神經(jīng)網(wǎng)絡(luò)和強化學習等。學習TensorFlow機器學習,你將會準備好將TensorFlow用于自己的機器學習和深度學習應(yīng)用程序中。
原書前言
無論你是機器學習新手還是TensorFlow新手,本書都將成為你的優(yōu)秀指南。你需要使用Python中的面向?qū)ο缶幊痰闹R來理解一些代碼清單,除此之外,本書還介紹了機器學習的入門基礎(chǔ)。
線路圖
本書分為三個部分:
第一部分首先探討機器學習是什么,并強調(diào)TensorFlow的關(guān)鍵作用。第1章介紹了機器學習的術(shù)語和理論,第2章介紹了開始使用TensorFlow時需要了解的所有內(nèi)容。
第二部分介紹了經(jīng)受住時間考驗的基本算法。第3~6章分別討論回歸、分類、聚類和隱馬爾可夫模型。你可以在機器學習領(lǐng)域找到這些算法。
第三部分揭示了TensorFlow的真正能量:神經(jīng)網(wǎng)絡(luò)。第7~12 章分別介紹了自編碼器、強化學習、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、序列到序列模型和應(yīng)用程序。除非你是經(jīng)驗豐富的TensorFlow用戶,并且擁有多年的機器學習經(jīng)驗,否則我強烈建議你先閱讀第1章和第2章。除此之外,你也可以隨意跳過書中的內(nèi)容自由學習。
源代碼
本書中的想法永遠也不會過時,同時還有社區(qū)的支持,代碼清單也是如此。你可以在本書英文版的網(wǎng)站www.manning.com/books/machine-learning-with-tensorflow上找到源代碼;而軟件也將在本書英文版的官方GitHub存儲庫(https://github.com/BinRoot/TensorFlow-Book)上保持最新。我們期望你能通過發(fā)送請求或通過GitHub提交新問題來為存儲庫做出貢獻。
書籍論壇
你可以訪問由Manning Publications運營的網(wǎng)絡(luò)論壇,并可以在其中對本書發(fā)表評論,提出技術(shù)問題,從作者和其他用戶那里獲得幫助。要訪問論壇,請登錄https://forums.manning.com/forums/machine-learning-with-tensorflow。你還可以登錄https://forums.manning.com/forums/about,了解有關(guān)Manning論壇和活動規(guī)則的更多信息。
Manning出版社對讀者的承諾是提供場所,讓讀者之間以及讀者與作者之間進行有意義的對話。這并不是說對作者有任何具體參與次數(shù)的要求,因為作者對論壇的貢獻是自愿的(而且是無償?shù)模。我們建議你嘗試向作者提出一些具有挑戰(zhàn)性的問題,以提起他的興趣!只要本書還在銷售,論壇和討論的檔案就可以從出版商的網(wǎng)站上獲取。
原書序
我和同時代的人一樣,也一直沉迷于最新的在線趨勢。我記得大約在2005年,自己還在無休止地刷新FARK、YTMND 和Delicious的娛樂信息和新聞。現(xiàn)在,我在Reddit和Hacker News之間進行切換,這讓我目睹了TensorFlow在2015年11月9日的隆重亮相。當時那篇文章出現(xiàn)在Hacker News首頁的頂部,并收到了數(shù)百條評論這些蓋過了網(wǎng)站上的其他任何內(nèi)容。
那時,機器學習工具已經(jīng)被分成不同的門類,且整個生態(tài)系統(tǒng)依賴于來自學術(shù)實驗室的實驗軟件包和行業(yè)巨頭的專有解決方案。當谷歌公司展示TensorFlow 時,社群的反應(yīng)不一。雖然谷歌公司有淘汰大眾喜愛的服務(wù)(如谷歌閱讀器、個性化谷歌、Knol和谷歌Wave)的歷史,但該公司也有扶持開源項目(如Android、Chromium、Go 和Protobuf)的歷史。
對于TensorFlow這樣的新技術(shù),該出手時就得出手。盡管有許多人會選擇等到相關(guān)資料豐富后再使用TensorFlow,但也有一些人已經(jīng)決定開始使用它。我在第一時間就學習了官方文檔,掌握了基本知識,并準備將這項技術(shù)應(yīng)用于我在加州大學洛杉磯分校的博士研究項目中。我努力地積累筆記,不過當時還不知道自己積累的用于學習TensorFlow的文檔將來會成為一本書。
大約在那個時候,Manning出版社的一位編輯與我聯(lián)系,就一本Haskell新書的不同意見與我溝通這是他們工作流程的一部分,因為我是Haskell Data Analysis Cookbook(Packt 出版社,2014)的作者。你現(xiàn)在正在閱讀的這本書的寫作就開始于我當時的回復(fù):另一方面,你有沒有聽說過谷歌公司新推出的機器學習庫TensorFlow?
本書從傳統(tǒng)機器學習的內(nèi)容出發(fā),你在任何機器學習的書中想獲得的主題都能在本書中找到,但它覆蓋的主題缺乏在線教程。例如,很難找到隱馬爾可夫模型(HMM)和強化學習(RL)的在線TensorFlow實現(xiàn)教程。編輯本書時的每一次修改都引入了更多概念,而這些概念目前還無法找到足夠的現(xiàn)有資源。
對于想要探索機器學習的初學者來說,在線TensorFlow教程通常過于簡單或過于復(fù)雜。本書的目的是為了填補這些空白,我相信它能做到這一點。如果你是機器學習或TensorFlow的新手,那么你會很欣賞本書的務(wù)實風格。
原書序
原書前言
第一部分 機器學習套裝
第1章 機器學習旅程 2
1.1 機器學習基礎(chǔ) 3
1.1.1 參數(shù) 5
1.1.2 學習和推理 6
1.2 數(shù)據(jù)表示和特征 7
1.3 距離度量 11
1.4 學習類型 12
1.4.1 監(jiān)督學習 12
1.4.2 無監(jiān)督學習 14
1.4.3 強化學習 14
1.5 TensorFlow 15
1.6 余下的章節(jié) 17
1.7 小結(jié) 18
第2章 TensorFlow基礎(chǔ) 19
2.1 保證TensorFlow運行 21
2.2 張量表示 21
2.3 創(chuàng)建運算 25
2.4 使用session執(zhí)行運算 27
2.4.1 將代碼理解為圖 28
2.4.2 設(shè)置session的配置項 28
2.5 使用Jupyter寫代碼 30
2.6 使用變量 32
2.7 保存和加載變量 34
2.8 使用TensorBoard可視化數(shù)據(jù) 35
2.8.1 實現(xiàn)一個移動平均算法 36
2.8.2 可視化移動平均算法 37
2.9 小結(jié) 39
第二部分 核心學習算法
第3章 線性回歸及其他 42
3.1 形式化定義 43
3.1.1 如何知道回歸算法在起作用 45
3.2 線性回歸 46
3.3 多項式模型 50
3.4 正則化 52
3.5 線性回歸的應(yīng)用 55
3.6 小結(jié) 56
第4章 簡明的分類介紹 58
4.1 形式化定義 59
4.2 衡量分類性能 61
4.2.1 精度 61
4.2.2 準確率和召回率 62
4.2.3 受試者工作特征曲線 63
4.3 用線性回歸實現(xiàn)分類 64
4.4 邏輯斯諦回歸 68
4.4.1 求解一維邏輯斯諦回歸 69
4.4.2 求解二維邏輯斯諦回歸 71
4.5 多類別分類器 74
4.5.1 一對多 75
4.5.2 一對一 75
4.5.3 softmax回歸 75
4.6 分類的應(yīng)用 79
4.7 小結(jié) 79
第5章 自動聚類數(shù)據(jù) 81
5.1 在TensorFlow中遍歷文件 82
5.2 從音頻文件中抽取特征 84
5.3 k-均值聚類 87
5.4 音頻分割 90
5.5 用自組織映射實現(xiàn)聚類 93
5.6 聚類的應(yīng)用 97
5.7 小結(jié) 97
第6章 隱馬爾可夫模型 98
6.1 一個不那么可解釋模型的例子 99
6.2 馬爾可夫模型 100
6.3 隱馬爾可夫模型 102
6.4 前向算法 103
6.5 Viterbi解碼 106
6.6 隱馬爾可夫模型的使用 107
6.6.1 視頻建! 107
6.6.2 DNA建! 107
6.6.3 圖像建! 107
6.7 隱馬爾可夫模型的應(yīng)用 108
6.8 小結(jié) 108
第三部分 神經(jīng)網(wǎng)絡(luò)樣式
第7章 自編碼器 110
7.1 神經(jīng)網(wǎng)絡(luò) 111
7.2 自編碼器 114
7.3 批量訓練 118
7.4 圖像處理 119
7.5 自編碼器的應(yīng)用 122
7.6 小結(jié) 123
第8章 強化學習 124
8.1 形式化定義 125
8.1.1 策略 126
8.1.2 效用函數(shù) 127
8.2 強化學習的應(yīng)用 128
8.3 強化學習的實現(xiàn) 129
8.4 探索強化學習的其他應(yīng)用 136
8.5 小結(jié) 137
第9章 卷積神經(jīng)網(wǎng)絡(luò) 138
9.1 神經(jīng)網(wǎng)絡(luò)的缺點 139
9.2 卷積神經(jīng)網(wǎng)絡(luò) 140
9.3 準備圖像 141
9.3.1 生成過濾器 144
9.3.2 使用過濾器進行卷積 145
9.3.3 最大池化 148
9.4 使用TensorFlow實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò) 149
9.4.1 測量性能 151
9.4.2 訓練分類器 152
9.5 提高性能的竅門和技巧 153
9.6 卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用 154
9.7 小結(jié) 154
第10章 循環(huán)神經(jīng)網(wǎng)絡(luò) 155
10.1 語境信息 156
10.2 循環(huán)神經(jīng)網(wǎng)絡(luò)介紹 156
10.3 循環(huán)神經(jīng)網(wǎng)絡(luò)的實現(xiàn) 157
10.4 時間序列數(shù)據(jù)的預(yù)測模型 160
10.5 循環(huán)神經(jīng)網(wǎng)絡(luò)的應(yīng)用 163
10.6 小結(jié) 163
第11章 聊天機器人的序列到序列模型 164
11.1 分類與循環(huán)神經(jīng)網(wǎng)絡(luò) 165
11.2 序列到序列模型架構(gòu) 167
11.3 符號的向量表示 171
11.4 把所有都放到一起 173
11.5 收集對話數(shù)據(jù) 179
11.6 小結(jié) 181
第12章 效用場景 182
12.1 偏好模型 184
12.2 圖像嵌入 189
12.3 圖像排序 192
12.4 小結(jié) 196
12.5 下一步 196
附錄 安裝 197