图书目录

目录

第1章机器学习概述1

1.1人工智能的概念和发展1

1.2机器学习的概念和发展6

1.3机器学习的应用9

1.3.1七大应用模式9

1.3.2经典应用11

1.4实现框架11

1.4.1机器学习框架11

1.4.2深度学习框架12

1.5小结15

第2章Python基础16

2.1认识Python16

2.1.1Python简介16

2.1.2Python开发环境16

2.1.3安装Python与选择编译器16

2.2Python语法特点17

2.2.1保留字17

2.2.2标识符18

2.2.3注释18

2.2.4代码缩进19

2.2.5数据类型20

2.2.6命名规则23

2.2.7运算符23

2.2.8input()和print()的用法26

2.3流程控制语句27

2.3.1判断语句28

2.3.2循环语句29

2.4序列类型及操作292.4.1序列处理函数和方法29

2.4.2列表31

2.4.3元组32

2.4.4字典33

2.4.5集合34

2.4.6列表、元组、字典、集合的区别35

2.5函数的定义与使用35

2.5.1函数的理解与定义35

2.5.2函数的调用35

2.5.3函数的参数传递和返回值36

2.5.4局部变量和全局变量37

2.6类和对象37

2.6.1定义类37

2.6.2创建类的实例38

2.6.3创建__init__()方法38

2.7模块39

2.7.1创建模块39

2.7.2导入模块39

2.8文件操作40

2.8.1创建和打开文件40

2.8.2关闭文件41

2.8.3写入文件内容41

2.8.4读取文件内容42

2.9小结42

目录〖3〗第3章NumPy基础43

3.1Matplotlib基础43

3.1.1绘图43

3.1.2显示图片45

3.2NumPy预备知识46

3.2.1NumPy简介46

3.2.2NumPy的安装46

3.2.3NumPy中的数组47

3.3NumPy语法49

3.3.1数组基础49

3.3.2数组的使用53

3.3.3索引进阶54

3.3.4广播55

3.4创建NumPy数组的3种方法57

3.4.1使用NumPy内部功能函数58

3.4.2从Python列表转换62

3.4.3使用特殊的库函数63

3.5小结63

第4章线性回归算法64

4.1概述64

4.1.1线性回归定义64

4.1.2线性回归的求解66

4.1.3线性回归的拟合问题72

4.1.4线性回归与正则化73

4.2实例分析74

4.2.1简单线性回归模型实例——最小二乘法74

4.2.2波士顿房价预测75

4.3小结80

第5章逻辑回归算法81

5.1导读81

5.1.1逻辑回归基本概念81

5.1.2逻辑回归应用82

5.2概述82

5.2.1probability和odds定义82

5.2.2logit函数和sigmoid函数及其特性83

5.2.3最大似然估计84

5.2.4参数的获取: 梯度下降法优化参数86

5.2.5模型评估方法87

5.2.6调参与最终模型90

5.2.7模型性能度量91

5.3实例分析92

5.3.1创建数据集并使用逻辑回归算法进行分类92

5.3.2简单逻辑回归模型实例95

5.4小结97

第6章k近邻算法99

6.1k近邻算法的基本概念100

6.2暴力搜索算法100

6.2.1距离度量100

6.2.2k值的选择101

6.2.3分类决策规则102

6.3实例分析: Iris数据集分类103

6.3.1Iris数据集103

6.3.2算法实现103

6.4小结108

第7章经典贝叶斯算法109

7.1数学回顾111

7.1.1条件概率111

7.1.2全概率公式111

7.1.3贝叶斯定理112

7.2朴素贝叶斯算法112

7.2.1基本概念112

7.2.2算法流程114

7.2.3拉普拉斯平滑115

7.3实例分析: 挑选西瓜115

7.4实例分析: 判断是否患有糖尿病119

7.4.1数据集简介119

7.4.2算法实现119

7.5小结125

第8章决策树126

8.1决策树原理127

8.1.1决策树模型127

8.1.2决策树的构建过程128

8.2决策树的特征选择128

8.2.1信息增益129

8.2.2信息增益率132

8.2.3基尼指数132

8.3决策树的构建134

8.3.1ID3算法134

8.3.2C4.5算法135

8.3.3CART生成算法136

8.4决策树的剪枝策略138

8.5随机森林141

8.6实例分析: 从零开始实现ID3算法143

8.6.1数据集143

8.6.2算法实现143

8.7实例分析: 用泰坦尼克号数据集实现随机森林148

8.7.1泰坦尼克号数据集简介148

8.7.2算法实现149

8.8小结152

第9章支持向量机153

9.1最优化方法: 拉格朗日乘数法154

9.1.1等式约束条件下的拉格朗日乘数法154

9.1.2拉格朗日对偶性及KKT条件155

9.2支持向量机157

9.2.1线性支持向量机157

9.2.2非线性支持向量机163

9.2.3SMO算法165

9.3实例分析: 乳腺癌数据集分类168

9.3.1乳腺癌数据集简介169

9.3.2算法实现169

9.4小结177

第10章Kmeans算法178

10.1概述179

10.1.1Kmeans算法180

10.1.2Kmeans++算法183

10.1.3评估指标185

10.2实例分析186

10.2.1对简单样本进行Kmeans聚类186

10.2.2创建数据集并进行Kmeans聚类187

10.2.3对MNIST数据集进行Kmeans聚类193

10.3小结195

第11章主成分分析算法197

11.1概述198

11.1.1PCA算法原理199

11.1.2PCA算法流程204

11.2实例分析204

11.2.1对简单样本进行PCA降维204

11.2.2对鸢尾花数据集进行PCA降维205

11.2.3对MNIST数据集进行PCA降维和Kmeans聚类210

11.3小结215

第12章深度学习216

12.1概述216

12.1.1神经网络简史216

12.1.2深度学习的应用——计算机视觉223

12.2计算机视觉中常用的神经网络层226

12.2.1全连接神经网络226

12.2.2卷积神经网络232

12.2.3权重初始化235

12.2.4优化算法237

12.2.5深度学习中的正则化240

12.3从零开始构建卷积神经网络模型243

12.3.1LeNet243

12.3.2AlexNet245

12.3.3ResNet250

12.3.4MNIST数据集分类257

12.4小结273

第13章生成对抗网络274

13.1生成对抗网络的提出与发展274

13.1.1生成对抗网络简史274

13.1.2生成对抗网络的提出者Ian Goodfellow274

13.1.3生成对抗网络应用——计算机视觉276

13.2生成对抗网络原理277

13.2.1生成对抗网络简介277

13.2.2带有条件约束的生成对抗网络280

13.3实例分析284

13.3.1手写体生成284

13.3.2人脸生成292

13.3.3条件生成对抗网络296

13.4小结303