图书目录

目录

第 1 章 启发式搜索:A* 算法  1

1.1 教学目标  1

1.2 实验内容与任务   1

1.3 实验过程及要求   1

1.4 相关知识及背景   2

1.5 实验教学与指导   3

1.5.1 判断连线是否穿过障碍物  3

1.5.2 邻接矩阵 3

1.5.3 AI 问题求解模型  4

1.5.4 A* 算法 4

1.5.5 A* 算法的最优性  6

1.5.6 Dijkstra 算法   6

1.6 实验报告要求  6

1.7 考核要求与方法   7

1.8 案例特色或创新   7

第 2 章 局部搜索:八皇后问题   8

2.1 教学目标  8

2.2 实验内容与任务   8

2.3 实验过程及要求   9

2.4 相关知识及背景   9

2.5 实验教学与指导   9

2.5.1 目标函数定义   9

2.5.2 邻居的定义   10

2.5.3 爬山法 10

2.5.4 爬山法的变形 12

2.5.5 模拟退火方法 13

2.6 实验报告要求  14

2.7 考核要求与方法   14

2.8 案例特色或创新   14

第 3 章 对抗与博弈:井字棋  15

3.1 教学目标   15

3.2 实验内容与任务   15

3.3 实验过程及要求   15

3.4 相关知识及背景   16

3.5 实验教学与指导   16

3.5.1 Minimax 决策  16

3.5.2 游戏模型  17

3.5.3 玩家   18

3.5.4 井字棋游戏的实现   19

3.6 实验报告要求  21

3.7 考核要求与方法   21

3.8 案例特色或创新   21

第 4 章 命题逻辑推理:怪兽世界  22

4.1 教学目标   22

4.2 实验内容与任务   22

4.3 实验过程及要求   23

4.4 相关知识及背景   23

4.5 实验教学与指导   23

4.5.1 命题逻辑  23

4.5.2 命题逻辑表达式  24

4.5.3 逻辑表达式真值判断 26

4.5.4 基于知识库的 AI 28

4.6 实验报告要求  29

4.7 考核要求与方法   29

4.8 案例特色或创新   29

第 5 章 贝叶斯网络:比赛结果预测  30

5.1 教学目标   30

5.2 实验内容与任务   30

5.3 实验过程及要求   30

5.4 相关知识及背景   31

5.5 实验教学与指导   31

5.5.1 贝叶斯网络   31

5.5.2 精确算法  32

5.5.3 拒绝采样方法 33

5.5.4 似然加权采样方法   33

5.5.5 Gibbs 采样方法  34

5.6 实验报告要求  34

5.7 考核要求与方法   35

5.8 案例特色或创新   35

第 6 章 隐马尔可夫模型:机器人定位  36

6.1 教学目标   36

6.2 实验内容与任务   36

6.3 实验过程及要求   37

6.4 相关知识及背景   37

6.5 实验教学与指导   38

6.5.1 HMM  38

6.5.2 滤波算法  38

6.5.3 平滑算法  39

6.5.4 最可能序列   40

6.6 实验报告要求  41

6.7 考核要求与方法   41

6.8 案例特色或创新   41

第 7 章 卡尔曼滤波器:运动跟踪  42

7.1 教学目标   42

7.2 实验内容与任务   42

7.3 实验过程及要求   43

7.4 相关知识及背景   43

7.5 实验教学与指导   43

7.5.1 卡尔曼滤波器原理   43

7.5.2 卡尔曼滤波器实现   44

7.6 实验报告要求  45

7.7 考核要求与方法   45

7.8 案例特色或创新   45

第 8 章 马尔可夫决策:机器人导航  46

8.1 教学目标   46

8.2 实验内容与任务   46

8.3 实验过程及要求   47

8.4 相关知识及背景   47

8.5 实验教学与指导   47

8.5.1 马尔可夫决策过程   47

8.5.2 环境模型  48

8.5.3 价值迭代算法 48

8.5.4 策略评估  49

8.5.5 策略迭代算法 49

8.6 实验报告要求  50

8.7 考核要求与方法   50

8.8 案例特色或创新   50

第 9 章 决策树学习:红酒分类  51

9.1 教学目标   51

9.2 实验内容与任务   51

9.3 实验过程及要求   52

9.4 相关知识及背景   52

9.5 实验教学与指导   53

9.5.1 决策树的学习算法   53

9.5.2 属性重要性度量:熵与基尼指数  53

9.5.3 决策树剪枝   54

9.5.4 sklearn 的决策树模型 55

9.5.5 应用 sklearn 进行决策树建模和评估 55

9.6 实验报告要求  57

9.7 考核要求与方法   57

9.8 案例特色或创新   57

第 10 章 线性回归:糖尿病病情预测  58

10.1 教学目标   58

10.2 实验内容与任务 58

10.3 实验过程及要求 58

10.4 相关知识及背景 59

10.5 实验教学与指导 59

10.5.1 线性回归  59

10.5.2 正则化 59

10.6 实验原理及方案 60

10.6.1 数据加载  60

10.6.2 分析计算  60

10.6.3 Keras 实现线性回归  61

10.6.4 拟合程度的评价  61

10.6.5 正则化 61

10.7 实验报告要求   61

10.8 考核要求与方法 62

10.9 案例特色或创新 62

第 11 章 线性分类:乳腺癌诊断  63

11.1 教学目标   63

11.2 实验内容与任务 63

11.3 实验过程及要求 63

11.4 相关知识及背景 64

11.5 实验教学与指导 64

11.5.1 硬阈值线性分类  64

11.5.2 Logistic 分类  65

11.6 实验原理及方案 65

11.6.1 数据加载  66

11.6.2 硬阈值线性分类  66

11.6.3 Logistic 分类计算   67

11.7 实验报告要求   67

11.8 考核要求与方法 68

11.9 案例特色或创新 68

第 12 章 非参数学习方法 KNN:病情诊断与预测  69

12.1 教学目标   69

12.2 实验内容与任务 69

12.3 实验过程及要求 69

12.4 相关知识及背景 69

12.5 实验教学与指导 70

12.5.1 KNN 分类和回归   70

12.5.2 距离与维度   70

12.5.3 算法时间性能 70

12.6 实验原理及方案 71

12.6.1 KNN 分类   71

12.6.2 KNN 回归   72

12.7 实验报告要求   73

12.8 考核要求与方法 73

12.9 案例特色或创新 73

第 13 章 支持向量机:乳腺癌诊断  74

13.1 教学目标   74

13.2 实验内容与任务 74

13.3 实验过程及要求 74

13.4 相关知识及背景 74

13.5 实验教学与指导 75

13.5.1 最大分离间隔 75

13.5.2 传统优化过程及意义 76

13.5.3 松弛问题  76

13.5.4 特征变换与核函数   77

13.5.5 现代观点  77

13.6 实验原理及方案 77

13.6.1 加载乳腺癌数据集,按 7 : 3 划分训练集和测试集 77

13.6.2 自定义 Loss 函数   78

13.6.3 建立神经网络模型并训练 78

13.6.4 评估模型  78

13.7 实验报告要求   79

13.8 考核要求与方法 79

13.9 案例特色或创新 79

第 14 章 Adaboost 集成学习:红酒分类  80

14.1 教学目标   80

14.2 实验内容与任务 80

14.3 实验过程及要求 80

14.4 相关知识及背景 80

14.5 实验教学与指导 81

14.5.1 样本加权  81

14.5.2 分类器加权   81

14.5.3 Adaboost 分类算法 81

14.6 实验原理及方案 82

14.6.1 加载 wine 数据集,按 7 : 3 划分训练集和测试集 82

14.6.2 定义加权投票函数   82

14.6.3 Adaboost 训练函数 83

14.6.4 Adaboost 预测函数 83

14.6.5 Adaboost 性能评估 83

14.7 实验报告要求   84

14.8 考核要求与方法 84

14.9 案例特色或创新 84

第 15 章 聚类:K-Means 算法划分鸢尾花类别  85

15.1 教学目标   85

15.2 实验内容与任务 85

15.3 实验过程及要求 85

15.4 相关知识及背景 86

15.5 实验教学与指导 86

15.5.1 数据加载  86

15.5.2 K-Means 算法原理  87

15.5.3 K-Means 算法实现  87

15.5.4 训练并显示聚类结果 88

15.5.5 聚类结果和原始标记进行对比 89

15.6 实验报告要求   89

15.7 考核要求与方法 90

15.8 案例特色或创新 90

第 16 章 聚类:EM 算法估计混合高斯分布  91

16.1 教学目标   91

16.2 实验内容与任务 91

16.3 实验过程及要求 91

16.4 相关知识及背景 92

16.5 实验教学与指导 92

16.5.1 EM 算法  92

16.5.2 混合高斯分布的参数计算 93

16.5.3 算法实现参考 93

16.6 实验报告要求   95

16.7 考核要求与方法 95

16.8 案例特色或创新 95

第 17 章 强化学习:机器人导航  96

17.1 教学目标   96

17.2 实验内容与任务 96

17.3 实验过程及要求 97

17.4 相关知识及背景 97

17.5 实验教学与指导 98

17.5.1 环境模型  98

17.5.2 被动学习:时序差分方法 TD Learning   98

17.5.3 主动学习:Q Learning 99

17.5.4 价值函数的线性逼近  100

17.6 实验报告要求   101

17.7 考核要求与方法 101

17.8 案例特色或创新 102

第 18 章 强化学习:策略梯度法  103

18.1 教学目标 103

18.2 实验内容与任务 103

18.3 实验过程及要求 104

18.4 相关知识及背景 104

18.5 实验教学与指导 104

18.5.1 环境模型   104

18.5.2 策略梯度法原理   105

18.5.3 策略函数的神经网络设计与训练 106

18.6 实验报告要求   107

18.7 考核要求与方法 108

18.8 案例特色或创新 108

第 19 章 卷积神经网络:手写体数字识别  109

19.1 教学目标 109

19.2 实验内容与任务 109

19.3 实验过程及要求 109

19.4 相关知识及背景 110

19.5 实验教学与指导 110

19.5.1 神经网络与层  110

19.5.2 激活函数   111

19.5.3 损失函数与优化计算  111

19.5.4 图像处理与卷积层 111

19.5.5 池化层  112

19.5.6 丢弃处理 Dropout   113

19.5.7 基于 Keras 的卷积神经网络处理框架   113

19.6 实验报告要求   114

19.7 考核要求与方法 114

19.8 案例特色或创新 114

第 20 章 循环神经网络:电影评论情感分析  115

20.1 教学目标 115

20.2 实验内容与任务 115

20.3 实验过程及要求 116

20.4 相关知识及背景 116

20.5 实验教学与指导 116

20.5.1 循环神经网络  116

20.5.2 LSTM 网络   117

20.5.3 词向量与 embedding 层   118

20.5.4 基于 Keras 的 LSTM 网络处理框架  118

20.6 实验报告要求   119

20.7 考核要求与方法 120

20.8 案例特色或创新 120

第 21 章 生成模型:VAE 生成手写体数字  121

21.1 教学目标 121

21.2 实验内容与任务 121

21.3 实验过程及要求 121

21.4 相关知识及背景 122

21.5 实验教学与指导 122

21.5.1 VAE 模型推导  122

21.5.2 算法实现参考  123

21.5.3 模型应用:观察 q(z|x)  125

21.5.4 模型应用:观察 p(x|z)  126

21.6 实验报告要求   127

21.7 考核要求与方法 127

21.8 案例特色或创新 128

第 22 章 案例 Python 实现代码  129

22.1 启发式搜索:A* 算法 Python 实现代码 129

22.2 局部搜索:八皇后问题 Python 实现代码  135

22.3 对抗与博弈:井字棋 Python 实现代码   138

22.4 命题逻辑推理:怪兽世界 Python 实现代码   142

22.5 贝叶斯网络:比赛结果预测 Python 实现代码 146

22.6 隐马尔可夫模型:机器人定位 Python 实现代码 149

22.7 卡尔曼滤波器:运动跟踪 Python 实现代码   151

22.8 马尔可夫决策:机器人导航 Python 实现代码 153

22.9 决策树学习:红酒分类 Python 实现代码  156

22.10 线性回归:糖尿病病情预测 Python 实现代码 157

22.11 线性分类:乳腺癌诊断 Python 实现代码  158

22.12 非参数学习方法 KNN:病情诊断与预测 Python 实现代码  159

22.13 支持向量机:乳腺癌诊断 Python 实现代码   161

22.14 Adaboost 集成学习:红酒分类 Python 实现代码   162

22.15 聚类:K-means 算法划分鸢尾花类别 Python 实现代码   163

22.16 聚类:EM 算法估计混合高斯分布 Python 实现代码  165

22.17 强化学习:机器人导航 Python 实现代码  168

22.18 强化学习:策略梯度法 Python 实现代码  171

22.19 卷积神经网络:手写体数字识别 Python 实现代码 173

22.20 循环神经网络:电影评论情感分析 Python 实现代码  175

22.21 生成模型:VAE 生成手写体数字 Python 实现代码 176

参考文献  180