本書主要介紹了Go語言中部署程序從而實現(xiàn)機器學習算法。主要內容包括:利用Go語言中的庫和功能來配置機器學習環(huán)境,對實際生活中的房價數(shù)據(jù)集進行回歸分析,在Go語言中構建分類模型來區(qū)分垃圾電子郵件,通過聚類整理個人推特賬戶的時間線。此外,本書還介紹了神經(jīng)網(wǎng)絡和閆積神經(jīng)網(wǎng)絡進行手寫體識別,以及人臉檢測項目為例,介紹了如何選擇適合于具體項目的機器學習算法。
目 錄
譯者序
原書前言
第1章 如何解決機器學習中的所有問題 // 1
1.1 什么是一個問題 // 1
1.2 什么是一個算法 // 2
1.3 什么是機器學習 // 3
1.4 是否需要機器學習 // 3
1.5 一般問題解決過程 // 4
1.6 什么是一個模型 // 5
1.6.1 什么是一個好的模型 // 6
1.7 本書主要內容與章節(jié)安排 // 6
1.8 為什么選擇Go語言 // 7
1.9 快速啟動 // 7
1.10 函數(shù) // 7
1.11 變量 // 8
1.11.1 值 // 9
1.11.2 類型 // 9
1.11.3 方法 // 11
1.11.4 接口 // 11
1.11.5 包和導入 // 12
1.12 開始 // 13
第2章 線性回歸———房價預測 // 14
2.1 項目背景 // 15
2.2 探索性數(shù)據(jù)分析 // 15
2.2.1 數(shù)據(jù)攝取和索引 // 16
2.2.2 數(shù)據(jù)清洗工作 // 18
2.2.3 進一步的探索性工作 // 25
2.2.4 標準化 // 33
2.3 線性回歸 // 34
2.3.1 回歸 // 35
2.3.2 交叉驗證 // 37
2.4 討論和下一步的工作 // 39
2.5 小結 // 40
第3章 分類———垃圾郵件檢測 // 41
3.1 項目背景 // 41
3.2 探索性數(shù)據(jù)分析 // 42
3.2.1 數(shù)據(jù)標記 // 42
3.2.2 規(guī)范化和詞干提取 // 45
3.2.3 停用詞 // 45
3.2.4 數(shù)據(jù)攝取 // 46
3.3 分類器 // 47
3.4 樸素貝葉斯 // 48
3.4.1 TF-IDF // 48
3.4.2 條件概率 // 49
3.4.3 特征 // 51
3.4.4 貝葉斯定理 // 51
3.5 分類器實現(xiàn) // 52
3.5.1 類 // 53
3.5.2 分類器第Ⅱ部分 // 54
3.6 程序整合 // 58
3.7 小結 // 61
第4章 利用時間序列分析分解二氧化碳趨勢 // 62
4.1 探索性數(shù)據(jù)分析 // 62
4.1.1 從非HTTP數(shù)據(jù)源下載 // 63
4.1.2 處理非標準數(shù)據(jù) // 63
4.1.3 處理小數(shù)型日期 // 64
4.1.4 繪圖 // 65
4.2 分解 // 68
4.2.1 STL // 69
4.2.2 更多繪制內容 // 81
4.3 預測 // 86
4.4 小結 // 89
參考文獻 // 89
第5章 通過聚類整理個人推特賬戶的時間線 // 90
5.1 項目背景 // 90
5.2 K均值 // 90
5.3 DBSCAN // 92
5.4 數(shù)據(jù)采集 // 92
5.5 探索性數(shù)據(jù)分析 // 92
5.6 數(shù)據(jù)信息 // 96
5.6.1 處理器 // 97
5.6.2 單字預處理 // 99
5.6.3 單條推特處理 // 103
5.7 聚類 // 103
5.7.1 K均值聚類 // 104
5.7.2 DBSCAN聚類 // 105
5.7.3 DMMClust聚類 // 107
5.8 實際數(shù)據(jù) // 108
5.9 程序 // 111
5.10 程序調整 // 113
5.10.1 距離調整 // 114
5.10.2 預處理步驟調整 // 115
5.11 小結 // 117
第6章 神經(jīng)網(wǎng)絡———MNIST手寫體識別 // 118
6.1 神經(jīng)網(wǎng)絡 // 118
6.1.1 模擬神經(jīng)網(wǎng)絡 // 119
6.2 線性代數(shù)101 // 121
6.2.1 激活函數(shù)探討 // 123
6.3 學習功能 // 125
6.4 項目背景 // 126
6.4.1 Gorgonia // 126
6.4.2 數(shù)據(jù)獲取 // 126
6.4.3 什么是張量 // 129
6.4.4 構建神經(jīng)網(wǎng)絡 // 138
6.4.5 前饋 // 139
6.4.6 利用maybe類型進行錯誤處理 // 140
6.4.7 前饋函數(shù)說明 // 142
6.4.8 成本 // 143
6.4.9 反向傳播 // 143
6.5 神經(jīng)網(wǎng)絡訓練 // 146
6.6 交叉驗證 // 148
6.7 小結 // 150
第7章 卷積神經(jīng)網(wǎng)絡———MNIST手寫體識別 // 151
7.1 有關神經(jīng)元的一切認識都是錯誤的 // 151
7.2 回顧神經(jīng)網(wǎng)絡 // 151
7.2.1 Gorgonia // 152
7.2.2 構建一個神經(jīng)網(wǎng)絡 // 161
7.3 項目 // 164
7.3.1 數(shù)據(jù)獲取 // 164
7.3.2 上一章的其他內容 // 166
7.4 CNN簡介 // 168
7.4.1 什么是卷積 // 168
7.4.2池化 // 176
7.4.出 // 176
7.5 構建一個CNN // 176
7.5.1 反向傳播 // 180
7.6 運行神經(jīng)網(wǎng)絡 // 182
7.7 測試 // 186
7.7.1 準確率 // 188
7.8 小結 // 189
第8章 基本人臉檢測 // 190
8.1 什么是人臉 // 190
8.1.1 Viola-Jones // 191
8.2 PICO // 194
8.2.1 關于學習的注意事項 // 194
8.3 GoCV // 195
8.3.1 API // 195
8.4 PIGO // 195
8.5 人臉檢測程序 // 196
8.5.1 從網(wǎng)絡攝像頭獲取圖像 // 196
8.5.2 圖像顯示 // 197
8.5.3 在圖像上涂鴉 // 198
8.5.4 人臉檢測1 // 198
8.5.5 人臉檢測2 // 200
8.5.6 算法結合 // 205
8.6 算法評估 // 206
8.7 小結 // 208
第9章 熱狗或者不是熱狗———使用外部服務 // 209
9.1 MachineBox // 209
9.2 什么是MachineBox // 210
9.2.1 登錄和注冊 // 210
9.2.2 Docker安裝與設置 // 211
9.2.3 在Go語言中使用 MachineBox // 211
9.3 項目 // 212
9.3.1 訓練 // 212
9.3.2 從網(wǎng)絡攝像頭讀取圖像 // 213
9.3.3 美化結果 // 214
9.4 結果 // 216
9.5 這一切意味著什么 // 218
9.6 為什么采用MachineBox // 219
9.7 小結 // 219
第10章 今后發(fā)展趨勢 // 220
10.1 讀者應該關注什么 // 221
10.1.1 從業(yè)者 // 221
10.1.2 研究人員 // 221
10.2 研究人員、從業(yè)者及其利益相關者 // 222
10.3 本書未涉及的內容 // 222
10.4 更多學習資源 // 223