《程式設計師的AI書:從代碼開始》是2020年電子工業出版社出版的圖書,作者是張力柯、潘暉。
基本介紹
- 中文名:程式設計師的AI書:從代碼開始
- 作者:張力柯、潘暉
- 出版社:電子工業出版社
- 出版時間:2020年3月1日
- 頁數:320 頁
- 定價:109 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787121382703
- 用紙:膠版紙
內容簡介,圖書目錄,
內容簡介
隨著AI技術的普及,如何快速理解、掌握並套用AI技術,成為絕大多數程式設計師亟需解決的問題。本書基於Keras框架並以代碼實現為核心,詳細解答程式設計師學習AI算法時的常見問題,對機器學習、深度神經網路等概念在實際項目中的套用建立清晰的邏輯體系。
《程式設計師的AI書:從代碼開始》分為上下兩篇,上篇(第1~4章)可幫助讀者理解並獨立開發較簡單的機器學習套用,下篇(第5~9章)則聚焦於AI技術的三大熱點領域:推薦系統、自然語言處理(NLP)及圖像處理。其中,第1章通過具體實例對Keras的機器學習實現進行快速介紹並給出整體概念;第2章從簡單的神經元開始,以實際問題和代碼實現為引導,逐步過渡到多層神經網路的具體實現上,從代碼層面講解神經網路的工作模式;第3章講解Keras的核心概念和使用方法,幫助讀者快速入門Keras;第4章講解機器學習中的常見概念、定義及算法;第5章介紹推薦系統的常見方案,包括協同過濾的不同實現及Wide&Deep模型等;第6章講解循環神經網路(RNN)的原理及Seq2Seq、Attention等技術在自然語言處理中的套用;第7~8章針對圖像處理的分類及目標識別進行深度討論,從代碼層面分析Faster RCNN及YOLO v3這兩種典型識別算法;第9章針對AI模型的工程部署問題,引入TensorFlow Serving並進行介紹。
《程式設計師的AI書:從代碼開始》主要面向希望學習AI開發或者轉型算法的程式設計師,也可以作為Keras教材,幫助讀者學習Keras在不同領域的具體套用。
圖書目錄
上篇
第1章 機器學習的HELLO WORLD 2
1.1 機器學習簡介 2
1.2 機器學習套用的核心開發流程 3
1.3 從代碼開始 6
1.3.1 搭建環境 6
1.3.2 一段簡單的代碼 7
1.4 本章小結 9
1.5 本章參考文獻 9
第2章 手工實現神經網路 10
2.1 感知器 10
2.1.1 從神經元到感知器 10
2.1.2 實現簡單的感知器 12
2.2 線性回歸、梯度下降及實現 15
2.2.1 分類的原理 15
2.2.2 損失函式與梯度下降 16
2.2.3 神經元的線性回歸實現 18
2.3 隨機梯度下降及實現 21
2.4 單層神經網路的Python實現 23
2.4.1 從神經元到神經網路 23
2.4.2 單層神經網路:初始化 25
2.4.3 單層神經網路:核心概念 27
2.4.4 單層神經網路:前向傳播 28
2.4.5 單層神經網路:反向傳播 29
2.4.6 網路訓練及調整 34
2.5 本章小結 38
2.6 本章參考文獻 38
第3章 上手KERAS 39
3.1 Keras簡介 39
3.2 Keras開發入門 40
3.2.1 構建模型 40
3.2.2 訓練與測試 42
3.3 Keras的概念說明 44
3.3.1 Model 44
3.3.2 Layer 48
3.3.3 Loss 65
3.4 再次代碼實戰 70
3.4.1 XOR運算 70
3.4.2 房屋價格預測 73
3.5 本章小結 75
3.6 本章參考文獻 76
第4章 預測與分類:簡單的機器學習套用 77
4.1 機器學習框架之sklearn簡介 77
4.1.1 安裝sklearn 78
4.1.2 sklearn中的常用模組 78
4.1.3 對算法和模型的選擇 79
4.1.4 對數據集的劃分 80
4.2 初識分類算法 80
4.2.1 分類算法的性能度量指標 81
4.2.2 樸素貝葉斯分類及案例實現 86
4.3 決策樹 90
4.3.1 算法介紹 90
4.3.2 決策樹的原理 91
4.3.3 實例演練 96
4.3.4 決策樹最佳化 99
4.4 線性回歸 101
4.4.1 算法介紹 101
4.4.2 實例演練 101
4.5 邏輯回歸 102
4.5.1 算法介紹 102
4.5.2 多分類問題與實例演練 107
4.6 神經網路 108
4.6.1 神經網路的歷史 108
4.6.2 實例演練 114
4.6.3 深度學習中的一些算法細節 117
4.7 本章小結 120
4.8 本章參考文獻 120
下篇
第5章 推薦系統基礎 122
5.1 推薦系統簡介 122
5.2 相似度計算 124
5.3 協同過濾 125
5.3.1 基於用戶的協同過濾 126
5.3.2 基於物品的協同過濾 128
5.3.3 算法實現與案例演練 129
5.4 LR模型在推薦場景下的套用 131
5.5 多模型融合推薦模型:Wide&Deep模型 135
5.5.1 探索-利用困境的問題 135
5.5.2 Wide&Deep模型 137
5.5.3 交叉特徵 137
5.6 本章小結 145
5.7 本章參考文獻 145
第6章 項目實戰:聊天機器人 146
6.1 聊天機器人的發展歷史 146
6.2 循環神經網路 148
6.2.1 Slot Filling 148
6.2.2 NLP中的單詞處理 150
6.2.3 循環神經網路簡介 153
6.2.4 LSTM網路簡介 154
6.3 Seq2Seq原理介紹及實現 157
6.3.1 Seq2Seq原理介紹 157
6.3.2 用Keras實現Seq2Seq算法 158
6.4 Attention 173
6.4.1 Seq2Seq的問題 174
6.4.2 Attention的工作原理 175
6.4.3 Attention在Keras中的實現 178
6.4.4 Attention示例 180
6.5 本章小結 185
6.6 本章參考文獻 185
第7章 圖像分類實戰 187
7.1 圖像分類與卷積神經網路 187
7.1.1 卷積神經網路的歷史 187
7.1.2 圖像分類的3個問題 188
7.2 卷積神經網路的工作原理 190
7.2.1 卷積運算 191
7.2.2 傳統圖像處理中的卷積運算 193
7.2.3 Pooling 195
7.2.4 為什麼卷積神經網路能達到較好的效果 197
7.3 案例實戰:交通圖示分類 200
7.3.1 交通圖示數據集 200
7.3.2 卷積神經網路的Keras實現 202
7.4 最佳化策略 209
7.4.1 數據增強 210
7.4.2 ResNet 214
7.5 本章小結 216
7.6 本章參考文獻 217
第8章 目標識別 218
8.1 CNN的演化 218
8.1.1 CNN和滑動視窗 218
8.1.2 RCNN 220
8.1.3 從Fast RCNN到Faster RCNN 223
8.1.4 Faster RCNN核心代碼解析 228
8.2 YOLO 242
8.2.1 YOLO v1 242
8.2.2 YOLO v2 248
8.2.3 YOLO v3 251
8.3 YOLO v3的具體實現 253
8.3.1 數據預處理 253
8.3.2 模型訓練 260
8.4 本章小結 293
8.5 本章參考文獻 294
第9章 模型部署與服務 296
9.1 生產環境中的模型服務 296
9.2 TensorFlow Serving的套用 299
9.2.1 轉換Keras模型 299
9.2.2 TensorFlow Serving部署 302
9.2.3 接口驗證 303
9.3 本章小結 307
9.4 本章參考文獻 308