AIoT系統開發(fā):基于機器學習和Python深度學習
定 價:89 元
叢書名:物聯網核心技術叢書
- 作者:[印度]阿米塔·卡普爾(Amita Kapoor)
- 出版時間:2021/9/1
- ISBN:9787111688082
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP18
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書重點闡述利用機器學習、深度學習、自然語言處理等多種方法,以及當前流行的Python庫Tensorflow和Keras構建實時數據的智能物聯網IOT系統。還給出了工業(yè)物聯網、智能城市和家庭自動化等物聯網主要應用領域的實際案例。
本書旨在使讀者能夠構建支持人工智能的物聯網應用程序。隨著物聯網設備的普及,許多應用程序使用數據科學工具來分析所產生的TB量級數據。但是,這些應用程序不足以應對物聯網數據中不斷涌現的新模式帶來的挑戰(zhàn)。本書涵蓋人工智能理論和實踐的各個方面,讀者可以利用這些知識通過實施人工智能技術來使他們的物聯網解決方案變得更加智能。
本書首先介紹人工智能和物聯網設備的基礎知識,以及如何從各種數據源和信息流中讀取物聯網數據。然后通過TensorFlow、scikit-learn和Keras三個實例講解實現人工智能的各種方法。本書涵蓋的主題包括機器學習、深度學習、遺傳算法、強化學習和生成對抗網絡,并且向讀者展示了如何使用分布式技術和在云上實現人工智能。一旦讀者熟悉了人工智能技術,書中就會針對物聯網設備生成和處理的不同類型數據,如時間序列、圖像、音頻、視頻、文本和語音,介紹各種相關的技術。
在解釋了針對各種物聯網數據的人工智能技術之后,本書后與讀者分享了一些與四大類物聯網個人物聯網、家庭物聯網、工業(yè)物聯網和智慧城市物聯網解決方案有關的案例研究。
本書受眾
本書受眾:他們對物聯網應用程序開發(fā)和Python有基本了解,并希望通過應用人工智能技術使其物聯網應用程序更智能?赡馨ㄒ韵氯藛T:
已經知道如何構建物聯網系統的物聯網從業(yè)者,但現在他們希望實施人工智能技術使其物聯網解決方案變得智能。
一直在使用物聯網平臺進行分析的數據科學從業(yè)者,但現在他們希望從物聯網分析過渡到物聯網AI,從而使物聯網解決方案更智能。
希望為智能物聯網設備開發(fā)基于人工智能的解決方案的軟件工程師。
希望將智能帶入產品中的嵌入式系統工程師。
本書內容
第1章介紹了物聯網、人工智能和數據科學的基本概念。該章后介紹本書將使用的工具和數據集。
第2章介紹從各種數據源(如文件、數據庫、分布式數據存儲和流數據)訪問數據的多種方法。
第3章涵蓋機器學習的各個方面,如用于物聯網的有監(jiān)督學習、無監(jiān)督學習和強化學習。該章后介紹提高模型性能的提示和技巧。
第4章探討深度學習的各個方面,如用于物聯網的MLP、CNN、RNN和自編碼器,同時還介紹深度學習的各種框架。
第5章討論優(yōu)化和不同的進化技術在優(yōu)化問題中的應用,重點介紹遺傳算法。
第6章介紹強化學習的概念,如策略梯度和Q網絡,還介紹如何使用TensorFlow實現深度Q-網絡,以及一些可以應用強化學習的很酷的現實問題。
第7章介紹對抗學習和生成學習的概念,以及如何使用TensorFlow實現GAN、DCGAN和CycleGAN,后介紹它們的實際應用程序。
第8章介紹如何在物聯網應用程序的分布式模式下利用機器學習。
第9章討論一些令人興奮的個人和家庭物聯網應用。
第10章解釋如何將本書介紹的概念應用到兩個具有工業(yè)物聯網數據的案例研究中。
第11章解釋如何將本書介紹的概念應用于智慧城市生成的物聯網數據。
第12章討論如何在將文本、圖像、視頻和音頻數據提供給模型之前對其進行預處理,并介紹時間序列數據。
下載示例代碼文件
本書的示例代碼文件托管在GitHub上,地址為https://github.com/PacktPublishing/Hands-
On-Artificial-Intelligence-for-IoT,感興趣的讀者可以下載,并使用GitHub提供的Jupyter筆記本進行練習。
本書約定
黑體表示新術語、重要詞匯。例如堆棧的下面是設備層,也稱為感知層。
警告或重要說明。
提示和技巧。
譯者序
前言
作者簡介
審閱者簡介
第1章 物聯網與人工智能的原理和基礎 1
1.1 什么是物聯網 1
1.1.1 物聯網參考模型 3
1.1.2 物聯網平臺 4
1.1.3 物聯網垂直領域 4
1.2 大數據和物聯網 5
1.3 人工智能的注入:物聯網中的數據科學 6
1.3.1 數據挖掘跨行業(yè)標準流程 7
1.3.2 人工智能平臺和物聯網平臺 8
1.4 本書使用的工具 9
1.4.1 TensorFlow 9
1.4.2 Keras 10
1.4.3 數據集 11
1.5 小結 13
第2章 面向物聯網的數據訪問和分布式處理 14
2.1 TXT格式 14
2.1.1 使用Python讀寫TXT文件 15
2.2 CSV格式 16
2.2.1 使用csv模塊讀寫CSV文件 16
2.2.2 使用pandas模塊讀寫CSV文件 18
2.2.3 使用NumPy模塊讀寫CSV文件 20
2.3 XLSX格式 20
2.3.1 使用OpenPyXl模塊讀寫XLSX文件 21
2.3.2 使用pandas模塊讀寫XLSX文件 22
2.4 JSON格式 22
2.4.1 使用JSON模塊讀寫JSON文件 22
2.4.2 使用pandas模塊讀寫JSON文件 23
2.5 HDF5格式 24
2.5.1 使用PyTables模塊讀寫HDF5文件 24
2.5.2 使用pandas模塊讀寫HDF5文件 25
2.5.3 使用h5py模塊讀寫HDF5文件 26
2.6 SQL數據 27
2.6.1 SQLite數據庫引擎 27
2.6.2 MySQL數據庫引擎 29
2.7 NoSQL數據 29
2.8 HDFS分布式文件系統 31
2.8.1 使用hdfs3模塊操作HDFS 31
2.8.2 使用PyArrow 的文件系統接口操作HDFS 32
2.9 小結 32
第3章 用于物聯網的機器學習 33
3.1 機器學習與物聯網 33
3.2 學習范式 34
3.3 用線性回歸進行預測 35
3.3.1 用回歸預測電力輸出 36
3.4 分類的邏輯回歸 39
3.4.1 交叉熵損失函數 40
3.4.2 用邏輯回歸分類葡萄酒 40
3.5 用支持向量機分類 42
3.5.1 間隔分類超平面 43
3.5.2 核技巧 44
3.5.3 用SVM分類葡萄酒 45
3.6 樸素貝葉斯分類器 47
3.6.1 用高斯樸素貝葉斯分類器評估葡萄酒質量 47
3.7 決策樹 49
3.7.1 scikit 中的決策樹 51
3.7.2 決策樹實踐 52
3.8 集成學習 54
3.8.1 投票分類器 54
3.8.2 bagging與pasting 55
3.9 改進模型的竅門與技巧 56
3.9.1 特征縮放以解決不均勻的數據尺度 56
3.9.2 過擬合 57
3.9.3 沒有免費的午餐定理 58
3.9.4 超參數調整和網格搜索 58
3.10 小結 59
第4章 用于物聯網的深度學習 60
4.1 深度學習基礎 60
4.1.1 深度學習為何如此流行 62
4.1.2 人工神經元 62
4.1.3 在TensorFlow中建模單個神經元 67
4.2 用于回歸和分類任務的多層感知器 71
4.2.1 反向傳播算法 72
4.2.2 使用TensorFlow中的MLP進行電力輸出預測 74
4.2.3 使用TensorFlow中的MLP進行葡萄酒質量分類 77
4.3 卷積神經網絡 80
4.3.1 CNN中的不同層 80
4.3.2 一些流行的CNN模型 83
4.3.3 用LeNet識別手寫數字 84
4.4 遞歸神經網絡 88
4.4.1 長短時記憶網絡 90
4.4.2 門控遞歸單元 93
4.5 自編碼器 94
4.5.1 去噪自編碼器 95
4.5.2 變分自編碼器 95
4.6 小結 96
第5章 用于物聯網的遺傳算法 97
5.1 優(yōu)化 97
5.1.1 確定與分析方法 99
5.1.2 自然優(yōu)化方法 101
5.2 遺傳算法概論 103
5.2.1 遺傳算法 104
5.2.2 優(yōu)點與缺點 106
5.3 使用Python中的分布式進化算法編寫遺傳算法代碼 107
5.3.1 猜詞 107
5.3.2 CNN架構的遺傳算法 111
5.3.3 用于LSTM優(yōu)化的遺傳算法 117
5.4 小結 120
第6章 用于物聯網的強化學習 121
6.1 引言 121
6.1.1 強化學習術語 122
6.1.2 成功案例 125
6.2 仿真環(huán)境 126
6.2.1 OpenAI gym 127
6.3 Q-學習 129
6.3.1 用Q-表解決出租車落客問題 130
6.4 Q-網絡 132
6.4.1 用Q-網絡解決出租車落客問題 133
6.4.2 用DQN玩Atari游戲 135
6.4.3 雙DQN 143
6.4.4 決斗 DQN 143
6.5 策略梯度 144
6.5.1 為何使用策略梯度 145
6.5.2 使用策略梯度玩Pong游戲 145
6.5.3 演員評論家算法 149
6.6 小結 150
第7章 用于物聯網的生成式模型 151
7.1 引言 152
7.2 用VAE生成圖像 152
7.2.1 在TensorFlow中實現VAE 153
7.3 GAN 158
7.3.1 在TensorFlow中實現vanilla GAN 159
7.3.2 深度卷積GAN 163
7.3.3 GAN的變體及其應用 168
7.4 小結 170
第8章 面向物聯網的分布式人工智能 171
8.1 引言 171
8.1.1 Spark組件 172
8.2 Apache MLlib 173
8.2.1 MLlib中的回歸 173
8.2.2 MLlib中的分類 177
8.2.3 使用SparkDL的遷移學習 179
8.3 H2O.ai簡介 183
8.3.1 H2O AutoML 184
8.3.2 H2O中的回歸 184
8.3.3 H2O中的分類 189
8.4 小結 191
第9章 個人物聯網和家庭物聯網 193
9.1 個人物聯網 193
9.1.1 MIT的超級鞋 194
9.1.2 持續(xù)血糖監(jiān)測 195
9.1.3 心律監(jiān)測器 198
9.1.4 數字助理 200
9.2 物聯網和智能家居 200
9.2.1 人類活動識別 201
9.2.2 智能照明 206
9.2.3 家庭監(jiān)控 207
9.3 小結 208
第10章 人工智能用于工業(yè)物聯網 209
10.1 人工智能工業(yè)物聯網簡介 209
10.1.1 一些有趣的用例 210
10.2 使用人工智能進行預測性維護 211
10.2.1 使用長短時記憶網絡的預測性維護 212
10.2.2 預測性維護的優(yōu)缺點 221
10.3 工業(yè)用電負荷預測 222
10.3.1 使用LSTM實現STLF 222
10.4 小結 225
第11章 人工智能用于智慧城市物聯網 226
11.1 為什么需要智慧城市 226
11.2 智慧城市的組成部分 227
11.2.1 智能交通管理 228
11.2.2 智能停車 228
11.2.3 智能垃圾管理 229
11.2.4 智能警務 230
11.2.5 智能照明 230
11.2.6 智能治理 231
11.3 適應智慧城市的物聯網和必要步驟 231
11.3.1 擁有開放數據的城市 232
11.3.2 利用舊金山的犯罪數據來偵查犯罪 234
11.4 挑戰(zhàn)和收益 236
11.5 小結 237
第12章 組合應用 238
12.1 處理不同類型的數據 238
12.1.1 時間序列建模 239
12.1.2 文本數據預處理 243
12.1.3 圖像的數據增強 245
12.1.4 視頻文件處理 247
12.1.5 音頻文件作為輸入數據 248
12.2 云計算 251
12.2.1 AWS 251
12.2.2 谷歌云平臺 252
12.2.3 微軟Azure 252
12.3 小結 252