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