本书在校企合作的基础上编写而成,在讲述人工智能理论的基础上突出工程应用性与实践性,选用了适用于人工智能项目研发的Python编程语言。第1章为人工智能导论。第2章介绍Python程序设计基础。第3章介绍Numpy、Matplotlib与Pandas。第4章介绍sklearn及Inforstack免费网上机器学习组件功能。第5章介绍数据预处理。第6章与第7章分别介绍监督学习与非监督学习常用算法,并分别使用Inforstack学习平台建模和Python语言编程实现。第8章介绍语音交互、视觉处理与OpenCV图像处理。第9章介绍人工神经网络与深度学习及Tensorflow、PyTorch的应用。第10章为人工智能综合应用案例。
本书既可作为高等院校开设人工智能、大数据分析课程的教材,也适合Python学习者及人工智能、大数据分析技术人员作为学习或参考用书。
本书配套教学课件、习题答案和源代码。读者如需获取进一步的教学及技术支持可联系作者(电子邮箱与Inforstack网络学习平台入口见本书前言)。
本书在校企合作的基础上编写而成,在讲述人工智能理论的基础上突出工程应用性与实践性,选用了适用于人工智能项目研发的Python编程语言。
本书是在与企业共建人工智能课程的基础上,校企合作编写而成,并获上海理工大学一流本科专业系列教材立项资助。全书突出人工智能企业应用与项目研发实例,强调工程应用性与实践性;提供入门门槛较低的机器学习、大数据分析在线实验平台,平台不仅可用于教学,也适用于企业轻松构建人工智能与大数据应用平台。本书推荐“树莓派+摄像头+小音箱+USB传声器”为硬件配置的人工智能实验套件,实验平台为实时处理视频、图像和语音交互提供了实验条件。本书在应用案例环节介绍中选用了性价比高的Dobot Magician作为实验用智能机械臂,让读者在实践中理解与掌握人工智能理论与技术的精髓。
本书第1章为人工智能导论,同时介绍了开放的Inforstack人工智能与大数据应用在线平台,及人工智能实验套件的构成。第2章介绍了Python程序设计基础。第3章介绍了科学计算、可视化与数据分析库Numpy、Matplotlib与Pandas的操作及使用。第4章介绍了机器学习与sklearn机器学习库,以及Inforstack机器学习组件的功能。第5章介绍了数据预处理。第6章与第7章分别介绍了监督学习与非监督学习算法及模型评价方法,并对应用案例分别用Inforstack平台建模分析和Python语言编程实现。第8章介绍语音交互、OpenCV图像处理与视觉处理基础及应用。第9章先介绍了人工神经网络与深度学习基础知识,然后对Tensorflow、PyTorch及其应用做了简要介绍。第10章例举了四个人工智能综合应用案例,前两个案例介绍用Inforstack平台实现客户流失建模与评估和商品价格预测,应用案例三用Python语言实现基于深度学习的产品缺陷检测,应用案例四在介绍本书推荐的人工智能实验套件和Dobot机械臂的基础上,介绍了用Python语言实现的垃圾智能分拣系统。
上海理工大学的沈建强、司呈勇、李筠和周颖编写了第2、3章及第1、4、8、9章中的部分章节。泮海燕、何杰和齐悦编写了第5~7章及第1、4、10章中的部分章节。王立奇编写了第8、9章中大部分章节及第1、10章中的部分章节。本书由沈建强担任主编,上海仪酷智能科技有限公司与上海久湛信息科技有限公司的工程师参与了本书的编写工作,并提供了实验用在线学习平台与软硬件设备。施耐德电气的陈斌对本书的编写给予了大力支持,北京科技大学何杰教授对本书的编写提出了建设性的意见,云南大学的沈逸凡也为本书的编写做出了贡献,在此深表感谢。
本书配套教学课件、习题答案和源代码。读者如需获取进一步的教学及技术支持(包括配套教学用人工智能实验套件),可通过邮箱usstshen@163.com联系作者。与本书配套的Inforstack免费实验平台网址为http://web.inforstack.com:13100/work/flow(用户名:上理工AI。密码:shangligong123!),网站首页配有平台使用的快速入门视频链接。
由于编者水平有限,若有疏漏或不当之处欢迎批评指正。
编?者
高等院校教师
前言
第1章?人工智能导论 1
1.1?人工智能技术及其发展 1
1.1.1?人工智能技术的发展历程 1
1.1.2?人工智能技术简介 1
1.1.3?Python语言与人工智能 3
1.2?教学实验平台推荐 3
1.2.1?Inforstack大数据应用平台 3
1.2.2?语音与视觉智能实验套件简介 6
习题 11
第2章?Python程序设计基础 12
2.1?基础语法 12
2.1.1?Python语言概述 12
2.1.2?Python语言安装与配置 12
2.1.3?Python基础语法 14
2.2?程序的控制结构 22
2.2.1?选择结构 22
2.2.2?循环结构 24
2.3?内置函数、常用模块的导入与调用 26
2.3.1?常用内置函数 26
2.3.2 标准库(模块)的导入与
调用 27
2.4?列表、元组、字典与集合数据类型 29
2.4.1?序列类型 29
2.4.2?列表 30
2.4.3?元组 32
2.4.4?序列的公共基本操作 32
2.4.5?字典及其操作 35
2.4.6?集合及其操作 37
2.5?函数与模块 38
2.5.1?函数 38
2.5.2?自定义模块与包 44
2.6?面向对象的编程技术 46
2.6.1?面向对象程序设计的基本概念 46
2.6.2?类的定义与对象创建 46
2.6.3?属性 47
2.6.4?方法 49
2.6.5?继承性 50
2.6.6?多态性 51
2.7?程序的异常处理 52
2.8?用户界面设计 53
2.8.1?Tkinter用户界面设计 53
2.8.2?Tkinter画布绘图 58
2.9?文件与数据库操作 61
2.9.1?文件操作 61
2.9.2?数据库操作 64
习题 67
第3章?科学计算与数据分析库 68
3.1?Anaconda安装及其集成开发环境 68
3.1.1 Anaconda安装 68
3.1.2 Anaconda集成开发环境简介 68
3.2?Numpy的向量和矩阵操作处理 71
3.2.1?Numpy数组的创建与操作 71
3.2.2?Numpy的矩阵对象及操作 76
3.3?Matplotlib数据可视化 77
3.3.1?Matplotlib及其图形绘制流程 77
3.3.2?图形绘制与显示实例 78
3.4?Pandas数据分析与处理 84
3.4.1?Pandas及其数据结构 84
3.4.2 DataFrame中的数据选取及
操作 86
3.4.3?Pandas读写文件操作 87
习题 88
第4章?机器学习简介 89
4.1?机器学习的概念 89
4.2?机器学习库sklearn 89
4.3?机器学习组件Inforstack 90
习题 91
第5章?数据预处理 92
5.1?预处理数据 92
5.2?数据清洗 92
5.2.1?缺失值处理 92
5.2.2?异常值识别 94
5.2.3?噪声处理 95
5.2.4?不一致数据 96
5.3?数据变换 96
5.3.1?属性构造 97
5.3.2?规范化 97
5.3.3?属性编码 98
5.3.4?离散化 100
5.4?数据归约 104
5.4.1?数据聚集 104
5.4.2?维度归约 104
5.4.3?样本抽样 107
5.5?数据集成 109
习题 109
第6章?监督学习 110
6.1?监督学习的概念 110
6.2?模型评价 111
6.2.1 评估方法 111
6.2.2 评估指标 112
6.2.3 参数调优 115
6.3?决策树算法 116
6.3.1 决策树算法介绍 116
6.3.2 决策树算法实现 117
6.3.3 决策树算法应用案例 118
6.4?K近邻算法 129
6.4.1 K近邻算法介绍 129
6.4.2 K近邻算法实现 130
6.4.3 K近邻算法应用案例 131
6.5?朴素贝叶斯算法 135
6.5.1 贝叶斯定理 135
6.5.2 朴素贝叶斯算法实现 136
6.5.3 朴素贝叶斯算法应用案例 137
6.6?支持向量机算法 142
6.6.1 支持向量机算法介绍 142
6.6.2?支持向量机算法实现 142
6.6.3 支持向量机算法应用案例 148
6.7?线性回归 152
6.7.1 线性回归算法介绍 152
6.7.2 线性回归算法实现 153
6.7.3 线性回归算法应用案例 155
6.8?逻辑回归 161
6.8.1 逻辑回归算法介绍 161
6.8.2 逻辑回归算法实现 163
6.8.3 逻辑回归算法应用案例 163
6.9?随机森林算法 168
6.9.1 集成学习简介 168
6.9.2 随机森林算法实现 169
6.9.3 随机森林算法应用案例 170
习题 177
第7章?非监督学习 178
7.1 K-均值算法 178
7.1.1 聚类算法简介 178
7.1.2 K-均值算法实现 178
7.1.3 K-均值算法应用案例 179
7.2 Apriori算法 185
7.2.1 关联规则的基本概念 185
7.2.2 Apriori算法实现 187
7.2.3 Apriori算法应用案例 188
7.3 降维算法 193
7.3.1 降维算法介绍 193
7.3.2 降维算法实现 193
7.3.3 降维算法应用案例 194
习题 197
第8章 自然语言与计算机视觉
处理 198
8.1 自然语言处理 198
8.1.1 自然语言处理基础 198
8.1.2 语音交互技术基础及应用
案例 199
8.2 计算机视觉处理 208
8.2.1 图像处理与OpenCV入门 208
8.2.2 计算机视觉处理基础及
应用实例 215
习题 219
第9章?人工神经网络与深度学习 220
9.1 人工神经网络与深度学习基础 220
9.1.1 人工神经网络基础 220
9.1.2 深度学习 222
9.2 Tensorflow入门 224
9.2.1 Tensorflow安装与基本API的
使用 224
9.2.2 基于Tensorflow的语音训练
与识别 226
9.2.3 基于Tensorflow的图像数据
训练与识别 229
9.3 人工智能视觉模型及模型的终端
部署 234
9.3.1 PyTorch简介 234
9.3.2 Yolov5基于CUDA的模型
部署 234
9.3.3 下载源码及模型 239
9.3.4 实现使用GPU进行目标检测 239
9.4 Inforstack深度学习组件 240
9.4.1 Inforstack平台内置BP神经
网络节点 240
9.4.2 Inforstack平台内置深度学习
节点 241
习题 241
第10章?人工智能综合应用案例 242
10.1 客户流失模型建立与评估 242
10.1.1 案例概述 242
10.1.2 数据集 243
10.1.3 数据准备 244
10.1.4 流失客户特征分析 248
10.1.5 特征重要性分析 250
10.1.6 样本均衡性 250
10.1.7 模型构建和评估 251
10.1.8 模型应用 253
10.2 商品价格预测模型建立与评估 253
10.2.1 案例概述 253
10.2.2 数据集 253
10.2.3 变量相关性 255
10.2.4 模型构建和评估 258
10.2.5 模型应用 260
10.3 基于深度学习的产品缺陷检测 261
10.3.1 案例概述 261
10.3.2 数据集 261
10.3.3 Keras导入与数据准备 262
10.3.4 模型构建与评估 263
10.4 垃圾智能分拣系统 264
10.4.1 垃圾智能分拣系统技术基础 264
10.4.2 垃圾智能分拣系统设计
与实现 275
习题 281
参考文献 282