人工智能应用实践教程(Python实现)(慕课版)
定 价:59.8 元
- 作者:陈景强 周剑 薛景 陈可佳 汪云云
- 出版时间:2024/1/1
- ISBN:9787115626585
- 出 版 社:人民邮电出版社
- 中图法分类:TP18
- 页码:236
- 纸张:
- 版次:01
- 开本:16开
本书主要介绍主流的人工智能理论、算法以及Python实现方法,目的是使学生学会人工智能理论及推导过程,并且掌握调用Python人工智能库和自定义编码的方法。全书共分10章,分别为人工智能与Python概述、Python基础、线性回归及其Python实现、逻辑斯蒂分类及其Python实现、最大熵模型及其Python实现、K-近邻分类与K-均值聚类及其Python实现、朴素贝叶斯分类及其Python实现、决策树及其Python实现、神经网络及其Python实现、图像识别领域的应用案例。
本书可作为计算机专业相关课程的教材,也可作为程序设计人员的参考书。
(1)重点介绍人工智能的主要模型方法及其Python语言的实现。
(2)对于人工智能主要模型方法的学习,本着使读者“知其然,知其所以然”的宗旨。
(3)通过案例教学,使读者在解决实际问题的过程中学习Python语言和人工智能。
陈景强 教学经历:担任《高级语言程序设计A》、《面向对象程序设计及C++》、《Python语言程序设计》、《Python编程及人工智能应用》教学工作;担任贝尔学院《高级语言程序设计A》课程负责人、《Python编程及人工智能应用》课程负责人。 科研经历:研究方向为自动摘要、自然语言处理、人工智能,以第一作者身份在EMNLP、FGCS等高水平国际会议和期刊上发表文章7篇,主持并结题国家自然科学基金青年基金1项,主持并结题江苏省自然科学基金青年基金1项。
第1章 人工智能与Python概述 1
1.1 人工智能的起源与发展 1
1.2 人工智能的核心概念 3
1.2.1 人工智能的三大学派 3
1.2.2 强人工智能与弱人工智能 4
1.3 人工智能的分支领域 5
1.3.1 机器学习与深度学习 5
1.3.2 人工智能的应用分支领域 7
1.4 人工智能行业应用与人才需求 9
1.4.1 人工智能行业应用举例 9
1.4.2 人工智能人才需求 11
1.5 Python与人工智能的关系 12
1.6 Python人工智能开发环境安装 13
1.6.1 Python的安装和运行 13
1.6.2 人工智能开发库的安装 15
1.6.3 Python集成开发环境 16
1.6.4 Anaconda 18
本章小结 19
课后习题 19
第2章 Python基础 21
2.1 基本语法 21
2.1.1 对象及其类型 21
2.1.2 变量和赋值 22
2.1.3 运算符和表达式 23
2.1.4 字符串 24
2.1.5 流程控制 26
2.2 组合数据类型 28
2.2.1 列表(list) 29
2.2.2 元组(tuple) 30
2.2.3 字典(dict) 31
2.2.4 集合(set和frozenset) 33
2.3 函数 34
2.3.1 函数的定义和调用 34
2.3.2 匿名函数与lambda关键字 35
2.4 异常处理和文件操作 35
2.4.1 异常处理 35
2.4.2 文件处理的一般过程 36
2.4.3 文件的写操作 36
2.4.4 文件的读操作 37
2.5 面向对象程序设计 37
2.5.1 类和对象 37
2.5.2 类的继承 39
2.6 数值计算库NumPy 39
2.6.1 NumPy多维数组 39
2.6.2 NumPy数组的索引和切片 44
2.6.3 NumPy数组的运算 45
2.6.4 NumPy数组的读写操作 46
2.6.5 NumPy中的数据统计与
分析 47
本章小结 49
课后习题 49
第3章 线性回归及其Python实现 53
3.1 线性回归问题简介 53
3.2 单变量线性回归问题 54
3.3 基于scikit-learn库求解单变量线性
回归 55
3.3.1 scikit-learn库的LinearRegression
类说明 55
3.3.2 求解步骤与编程实现 56
3.3.3 基于scikit-learn库的模型
评价 58
3.4 基于最小二乘法的自定义求解
单变量线性回归 61
3.4.1 使用导数法求解 61
3.4.2 使用矩阵法求解 64
3.5 基于梯度下降法的自定义求解
单变量线性回归 65
3.5.1 简单二次函数的梯度下降法
求极值 65
3.5.2 批量梯度下降法 67
3.5.3 随机梯度下降法 70
3.6 多变量线性回归问题 71
3.6.1 基于scikit-learn库求解 72
3.6.2 基于最小二乘法自定义求解 72
3.6.3 基于梯度下降法自定义求解 73
3.6.4 数据归一化问题 74
3.6.5 高阶拟合问题 75
本章小结 77
课后习题 77
第4章 逻辑斯蒂分类及其Python实现 79
4.1 逻辑斯蒂分类简介 79
4.2 二分类逻辑斯蒂分类问题 81
4.3 基于scikit-learn库求解二分类
逻辑斯蒂分类问题 83
4.3.1 scikit-learn库的
LogisticRegression类说明 83
4.3.2 求解步骤与编程实现 84
4.4 基于梯度下降法求解二分类
逻辑斯蒂分类 86
4.4.1 确定优化目标 86
4.4.2 梯度计算 87
4.4.3 Python编程实现 88
4.5 分类模型的评价 90
4.5.1 分类模型的评价方法 90
4.5.2 正确率、精准率、召回率和
F1指数 90
4.5.3 ROC曲线 93
4.6 非线性分类问题 94
4.6.1 非线性分类问题的提出与
分析 94
4.6.2 基于scikit-learn库的求解
实现 96
4.7 正则化问题 97
4.7.1 正则化问题的提出与分析 97
4.7.2 正则化问题的求解实现 98
4.8 多分类逻辑斯蒂分类 100
4.8.1 问题提出与分析 100
4.8.2 基于scikit-learn库的
求解实现 101
4.8.3 基于梯度下降法的自定义
求解实现 102
本章小结 103
课后习题 103
第5章 最大熵模型及其Python实现 105
5.1 最大熵模型简介 105
5.2 最大熵模型定义与对偶形式 106
5.2.1 最大熵模型的定义 106
5.2.2 最大熵模型的对偶形式 107
5.2.3 最大熵模型的应用举例 109
5.2.4 最大熵模型与Softmax
分类器 111
5.3 最大熵模型的优化算法及
Python实现 111
5.3.1 通用迭代尺度算法 111
5.3.2 基于GIS算法的最大熵模型的
Python实现 112
5.3.3 改进的迭代尺度算法 115
5.3.4 基于IIS算法的最大熵模型的
Python实现 117
5.4 熵相关指标总结 119
本章小结 121
课后习题 121
第6章 K-近邻分类与K-均值聚类及其Python实现 122
6.1 “近邻”与分类和聚类 122
6.2 K-近邻分类 122
6.2.1 K-近邻分类的定义 122
6.2.2 自定义程序实现K-近邻
分类算法 123
6.2.3 K-近邻分类模型的3个基本
要素 125
6.2.4 基于scikit-learn库实现K-近邻
分类算法 126
6.2.5 K-近邻分类算法的优缺点
分析 127
6.3 K-均值聚类 129
6.3.1 K-均值聚类算法的定义 129
6.3.2 自定义程序实现K-均值
聚类算法 130
6.3.3 基于scikit-learn库实现K-均值
聚类算法 131
本章小结 132
课后习题 132
第7章 朴素贝叶斯分类及其Python
实现 134
7.1 贝叶斯分类简介 134
7.2 朴素贝叶斯分类的定义、推导与
建模 135
7.2.1 定义与推导 135
7.2.2 对房屋是否好卖预测案例的
建模与计算 136
7.3 自定义程序实现朴素贝叶斯分类 138
7.3.1 建立特征矩阵 138
7.3.2 计算先验概率 138
7.3.3 进行预测 139
7.3.4 Python编程实现 140
7.4 基于scikit-learn库实现朴素
贝叶斯分类 141
7.4.1 scikit-learn库的
MultinomialNB类说明 141
7.4.2 求解步骤与编程实现 142
7.5 连续型特征值的朴素贝叶斯分类 143
7.5.1 问题定义与分析 143
7.5.2 基于scikit-learn库的
GaussianNB类实现 145
本章小结 145
课后习题 146
第8章 决策树及其Python实现 148
8.1 决策树简介 148
8.2 ID3决策树 149
8.2.1 ID3决策树的基本原理 149
8.2.2 基于NumPy库构建ID3
决策树 150
8.2.3 用ID3决策树实现分类 156
8.3 CART决策树 157
8.3.1 CART决策树的基本原理 157
8.3.2 scikit-learn库的
DecisionTreeRegressor类介绍 158
8.3.3 基于scikit-learn库构建
CART决策树 159
8.3.4 用CART回归树实现预测 162
本章小结 163
课后习题 164
第9章 神经网络及其Python实现 166
9.1 神经网络简介 166
9.2 TensorFlow 167
9.2.1 TensorFlow简介 167
9.2.2 TensorFlow 2.0的安装 168
9.2.3 TensorFlow 2.0的张量 168
9.2.4 TensorFlow 2.0的基本运算 169
9.2.5 TensorFlow 2.0的自动微分和
梯度计算 170
9.2.6 TensorFlow 2.0的常用模块 171
9.3 Keras 171
9.3.1 Keras简介 171
9.3.2 Keras的安装 172
9.3.3 Keras的Sequential模型 172
9.3.4 Keras的Model模型 173
9.4 全连接神经网络及其Keras实现 174
9.4.1 全连接神经网络的基本原理 174
9.4.2 基于Keras库构建全连接
神经网络 176
9.4.3 基于Keras库训练全连接
神经网络 179
9.4.4 用全连接神经网络实现
图像识别 181
9.5 全连接神经网络的自定义程序
实现 182
9.5.1 全连接神经网络类的定义 182
9.5.2 激活函数和损失函数的定义 183
9.5.3 全连接神经网络模型的定义 184
9.5.4 训练函数的定义 185
9.5.5 测试函数的定义 186
9.5.6 主函数的定义 186
9.6 卷积神经网络及其TensorFlow
实现 187
9.6.1 卷积神经网络的基本原理 187
9.6.2 基于TensorFlow库构建卷积
神经网络 189
9.6.3 基于TensorFlow库训练卷积
神经网络 191
9.6.4 用卷积神经网络实现
图像识别 193
9.7 卷积神经网络的AlexNet编程
实现 193
9.7.1 准备工作 194
9.7.2 AlexNet类的定义 195
9.7.3 主函数的定义 196
本章小结 196
课后习题 197
第10章 图像识别领域的应用案例 198
10.1 图像识别问题简介 198
10.2 CIFAR10数据集 198
10.2.1 数据集简介 198
10.2.2 数据预处理和加载
cifar10_reader.py 200
10.3 基于K-近邻分类的图像识别 203
10.3.1 问题分析 203
10.3.2 数据采样 203
10.3.3 数据间距离计算 204
10.3.4 实现K-近邻分类算法 206
10.3.5 用常规验证方法选取K值 207
10.3.6 用交叉验证法选取K值 208
10.4 基于逻辑斯蒂分类的图像识别 210
10.4.1 自定义程序实现图像识别 210
10.4.2 基于LogisticRegression
类实现图像识别 211
10.5 基于最大熵模型的图像识别 212
10.5.1 Softmax分类器 212
10.5.2 加载和预处理数据 214
10.5.3 实现图像识别 215
10.5.4 归一化方法的影响 217
10.6 基于朴素贝叶斯分类的图像识别 217
10.6.1 连续型特征值的朴素贝叶斯
图像识别 217
10.6.2 离散型特征值的朴素贝叶斯
图像识别 218
10.7 基于全连接神经网络的图像识别 220
10.7.1 基于Keras实现全连接神经
网络图像识别 220
10.7.2 自定义程序实现双层全连接
神经网络 223
10.7.3 使用自定义TwoLayerNet
类进行图像分类 226
10.8 基于卷积神经网络的图像识别 228
10.8.1 基于基础卷积神经网络实现
图像识别 228
10.8.2 基于VGGNet实现图像
识别 230
10.8.3 基于ResNet实现图像
识别 232
本章小结 236
课后习题 236