本书重点阐述利用机器学习、深度学习、自然语言处理等多种方法,以及当前流行的Python库——Tensorflow和Keras构建实时数据的智能物联网IOT系统。还给出了工业物联网、智能城市和家庭自动化等物联网主要应用领域的实际案例。
译者序
前言
作者简介
审阅者简介
第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 数据挖掘跨行业标准流程 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 优化 97
5.1.1 确定与分析方法 99
5.1.2 自然优化方法 101
5.2 遗传算法概论 103
5.2.1 遗传算法 104
5.2.2 优点与缺点 106
5.3 使用Python中的分布式进化算法编写遗传算法代码 107
5.3.1 猜词 107
5.3.2 CNN架构的遗传算法 111
5.3.3 用于LSTM优化的遗传算法 117
5.4 小结 120
第6章 用于物联网的强化学习 121
6.1 引言 121
6.1.1 强化学习术语 122
6.1.2 成功案例 125
6.2 仿真环境 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 持续血糖监测 195
9.1.3 心律监测器 198
9.1.4 数字助理 200
9.2 物联网和智能家居 200
9.2.1 人类活动识别 201
9.2.2 智能照明 206
9.2.3 家庭监控 207
9.3 小结 208
0章 人工智能用于工业物联网 209
10.1 人工智能工业物联网简介 209
10.1.1 一些有趣的用例 210
10.2 使用人工智能进行预测性维护 211
10.2.1 使用长短时记忆网络的预测性维护 212
10.2.2 预测性维护的优缺点 221
10.3 工业用电负荷预测 222
10.3.1 使用LSTM实现STLF 222
10.4 小结 225
1章 人工智能用于智慧城市物联网 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 挑战和收益 236
11.5 小结 237
2章 组合应用 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