E-BOOK
用Python动手学机器学习pthon机器学习实战基础教程人工智能深度学习周志华西瓜书py
PDF
《用Python动手学机器学习pthon机器学习实战基础教程人工智能深度学习周志华西瓜书py》[48M]百度网盘|pdf下载|亲测有效
📥 PDF 电子书 · 百度网盘 · 约 80M
📖 书虫图书专营店
🌐 zh-CN
📅 Published 2,021
86
Downloads
4.8
Rating
41.0MB
File Size
PDF
📦 Download Book
- 机器学习入门门槛高:通过图文并茂的讲解和详细数学推导,降低零基础读者学习机器学习的门槛,无需担心数学和编程基础。
- Python环境搭建困难:从Python安装、Jupyter Notebook使用到Keras和TensorFlow配置,手把手帮助读者完成学习环境准备。
- 理论与代码脱节:结合数学公式、示例程序和插图,将回归、分类、神经网络等算法的原理与Python实现紧密结合。
- 缺乏完整实战项目:通过手写数字识别等实际案例,帮助读者将所学算法应用于完整项目,建立实战信心。
- 无监督学习理解困难:系统介绍无监督学习算法及应用场景,填补初学者在聚类、降维等方面的知识空白。
★★★
Intermediate
BeginnerElementaryIntermediateAdvancedExpert
- 机器学习零基础初学者:没有机器学习经验但希望系统入门,本书从环境搭建讲起,图文并茂降低学习门槛。
- Python初学者:已有基本Python语法知识,希望将Python应用于机器学习和数据分析领域。
- 数学基础薄弱的学习者:担心数学不好学不了机器学习,本书提供详细数学推导与直观图形辅助理解。
- 跨专业转行者:希望从其他领域转入AI/机器学习方向,需要一本门槛低、体系完整的入门教材。
- 按顺序逐章学习:第1-3章是基础准备,务必先搭建好环境并熟悉Python和可视化工具再进入后续章节。
- 第4章数学部分不要跳过:向量、矩阵和导数是理解后续算法的关键,建议配合代码反复练习加深理解。
- 动手运行每段代码:书中示例程序建议在Jupyter Notebook中逐段运行,观察输出结果以加深对算法的理解。
- 重点攻克第5-9章:回归、分类、神经网络和手写数字识别是本书核心,建议投入最多时间反复实践。
- 第10章无监督学习作为拓展:在有监督学习掌握扎实后再学习聚类和降维,效果更佳。
- Python编程基础:掌握机器学习所需的Python语法、NumPy数组操作和数据可视化技能。
- 核心算法理解:理解线性回归、逻辑回归、神经网络等算法的数学原理与Python实现方式。
- 深度学习实践:能够使用Keras和TensorFlow搭建、训练和评估简单的深度学习模型。
- 完整项目经验:通过手写数字识别案例,掌握从数据处理到模型训练与评估的完整流程。
- 无监督学习认知:了解聚类和降维等无监督学习算法的基本原理与应用场景。
- 自学能力建立:获得继续深入学习机器学习的方法论和知识框架,能够自主拓展学习。
📖 Book Introduction
商品参数
用Python动手学机器学习
出版社:
人民邮电出版社
定 价:
89
版 次:
1
出版日期:
2021年04月
开 本:
32开
装 帧:
平装
页 数:
348
字 数:
重 量:
485
ISBN:
9787115550583
内容介绍
本书是面向机器学习新手的入门书,从学习环境的搭建开始,图文并茂地介绍了学习机器学习所需的Python知识和数学知识,并在此基础上结合数学式、示例程序、插图等,抽丝剥茧般地对有监督学习中的回归与分类、神经网络与深度学习的算法与应用、手写数字识别、无监督学习的算法等进行了介绍。
本书既有图形、代码,又有详细的数学式推导过程,大大降低了机器学习的学习门槛,即使没有学过Python、数学基础不太好,也可以看懂。
本书既有图形、代码,又有详细的数学式推导过程,大大降低了机器学习的学习门槛,即使没有学过Python、数学基础不太好,也可以看懂。
目录
第 1章 学习前的准备 1
1.1 关于机器学习 2
1.1.1 学习机器学习的窍门 4
1.1.2 机器学习中问题的分类 5
1.1.3 本书的结构 6
1.2 安装Python 7
1.3 Jupyter Notebook 11
1.3.1 Jupyter Notebook的用法 11
1.3.2 输入Markdown格式文本 14
1.3.3 更改文件名 16
1.4 安装Keras和TensorFlow 17
第 2章 Python基础知识 19
2.1 四则运算 20
2.1.1 四则运算的用法 20
2.1.2 幂运算 20
2.2 变量 21
2.2.1 利用变量进行计算 21
2.2.2 变量的命名 21
2.3 类型 22
2.3.1 类型的种类 22
2.3.2 检查类型 22
2.3.3 字符串 23
2.4 print 语句 24
2.4.1 print语句的用法 24
2.4.2 同时显示数值和字符串的方法1 24
2.4.3 同时显示数值和字符串的方法2 25
2.5 list(数组变量) 26
2.5.1 list的用法 26
2.5.2 二维数组 27
2.5.3 创建连续的整数数组 28
2.6 tuple(数组) 29
2.6.1 tuple的用法 29
2.6.2 读取元素 29
2.6.3 长度为1的tuple 30
2.7 if 语句 31
2.7.1 if语句的用法 31
2.7.2 比较运算符 32
2.8 for 语句 33
2.8.1 for语句的用法 33
2.8.2 enumerate的用法 33
2.9 向量 34
2.9.1 NumPy的用法 34
2.9.2 定义向量 35
2.9.3 读取元素 36
2.9.4 替换元素 36
2.9.5 创建连续整数的向量 36
2.9.6 ndarray的注意事项 37
2.10 矩阵 38
2.10.1 定义矩阵 38
2.10.2 矩阵的大小 38
2.10.3 读取元素 39
2.10.4 替换元素 39
2.10.5 生成元素为0和1的ndarray 39
2.10.6 生成元素随机的矩阵 40
2.10.7 改变矩阵的大小 41
2.11 矩阵的四则运算 41
2.11.1 矩阵的四则运算 41
2.11.2 标量×矩阵 42
2.11.3 算术函数 42
2.11.4 计算矩阵乘积 43
2.12 切片 43
2.13 替换满足条件的数据 45
2.14 help 46
2.15 函数 47
2.15.1 函数的用法 47
2.15.2 参数与返回值 47
2.16 保存文件 49
2.16.1 保存一个ndarray类型变量 49
2.16.2 保存多个ndarray类型变量 49
第3章 数据可视化 51
3.1 绘制二维图形 52
3.1.1 绘制随机图形 52
3.1.2 代码清单的格式 53
3.1.3 绘制三次函数f (x) = (x - 2) x (x + 2) 53
3.1.4 确定绘制范围 54
3.1.5 绘制图形 55
3.1.6 装饰图形 55
3.1.7 并列显示多张图形 58
3.2 绘制三维图形 59
3.2.1 包含两个变量的函数 59
3.2.2 用颜色表示数值:pcolor 60
3.2.3 绘制三维图形:surface 62
3.2.4 绘制等高线:contour 64
第4章 机器学习中的数学 67
4.1 向量 68
4.1.1 什么是向量 68
4.1.2 用Python定义向量 69
4.1.3 列向量的表示方法 69
4.1.4 转置的表示方法 70
4.1.5 加法和减法 71
4.1.6 标量积 73
4.1.7 内积 74
4.1.8 向量的模 75
4.2 求和符号 76
4.2.1 带求和符号的数学式的变形 77
4.2.2 通过内积求和 79
4.3 累乘符号 79
4.4 导数 80
4.4.1 多项式的导数 80
4.4.2 带导数符号的数学式的变形 82
4.4.3 复合函数的导数 83
4.4.4 复合函数的导数:链式法则 84
4.5 偏导数 85
4.5.1 什么是偏导数 85
4.5.2 偏导数的图形 87
4.5.3 绘制梯度的图形 89
4.5.4 多变量的复合函数的偏导数 91
4.5.5 交换求和与求导的顺序 93
4.6 矩阵 95
4.6.1 什么是矩阵 95
4.6.2 矩阵的加法和减法 97
4.6.3 标量积 99
4.6.4 矩阵的乘积 100
4.6.5 单位矩阵 103
4.6.6 逆矩阵 105
4.6.7 转置 107
4.6.8 矩阵和联立方程式 109
4.6.9 矩阵和映射 111
4.7 指数函数和对数函数 113
4.7.1 指数 113
4.7.2 对数 115
4.7.3 指数函数的导数 118
4.7.4 对数函数的导数 120
4.7.5 Sigmoid函数 121
4.7.6 Softmax函数 123
4.7.7 Softmax函数和Sigmoid函数 127
4.7.8 高斯函数 128
4.7.9 二维高斯函数 129
第5章 有监督学习:回归 135
5.1 一维输入的直线模型 136
5.1.1 直线模型 138
5.1.2 平方误差函数 139
5.1.3 求参数(梯度法) 142
5.1.4 直线模型参数的解析解 148
5.2 二维输入的平面模型 152
5.2.1 数据的表示方法 154
5.2.2 平面模型 155
5.2.3 平面模型参数的解析解 157
5.3 D维线性回归模型 159
5.3.1 D维线性回归模型 160
5.3.2 参数的解析解 160
5.3.3 扩展到不通过原点的平面 164
5.4 线性基底函数模型 165
5.5 过拟合问题 171
5.6 新模型的生成 181
5.7 模型的选择 185
5.8 小结 186
第6章 有监督学习:分类 189
6.1 一维输入的二元分类 190
6.1.1 问题设置 190
6.1.2 使用概率表示类别分类 194
6.1.3 *大似然估计 196
6.1.4 逻辑回归模型 199
6.1.5 交叉熵误差 201
6.1.6 学习法则的推导 205
6.1.7 通过梯度法求解 209
6.2 二维输入的二元分类 210
6.2.1 问题设置 210
6.2.2 逻辑回归模型 214
6.3 二维输入的三元分类 219
6.3.1 三元分类逻辑回归模型 219
6.3.2 交叉熵误差 222
6.3.3 通过梯度法求解 223
第7章 神经网络与深度学习 227
7.1 神经元模型 229
7.1.1 神经细胞 229
7.1.2 神经元模型 230
7.2 神经网络模型 234
7.2.1 二层前馈神经网络 234
7.2.2 二层前馈神经网络的实现 237
7.2.3 数值导数法 242
7.2.4 通过数值导数法应用梯度法 246
7.2.5 误差反向传播法 251
7.2.6 求.E / .vkj 252
7.2.7 求.E / .wji 256
7.2.8 误差反向传播法的实现 262
7.2.9 学习后的神经元的特性 268
7.3 使用Keras实现神经网络模型 270
7.3.1 二层前馈神经网络 271
7.3.2 Keras的使用流程 273
第8章 神经网络与深度学习的应用(手写数字识别) 277
8.1 MINST数据集 278
8.2 二层前馈神经网络模型 279
8.3 ReLU激活函数 286
8.4 空间过滤器 291
8.5 卷积神经网络 295
8.6 池化 300
8.7 Dropout 301
8.8 融合了各种特性的MNIST识别网络模型 302
第9章 无监督学习 307
9.1 二维输入数据 308
9.2 K-means算法 310
9.2.1 K-means算法的概要 310
9.2.2 步骤0:准备变量与初始化 311
9.2.3 步骤1:更新R 313
9.2.4 步骤2:更新μ 315
9.2.5 失真度量 318
9.3 混合高斯模型 320
9.3.1 基于概率的聚类 320
9.3.2 混合高斯模型 323
9.3.3 EM算法的概要 328
9.3.4 步骤0:准备变量与初始化 329
9.3.5 步骤1(步骤E):更新γ 330
9.3.6 步骤2(步骤M):更新π、μ和Σ 332
9.3.7 似然 336
第 10章 本书小结 339
后记 349
1.1 关于机器学习 2
1.1.1 学习机器学习的窍门 4
1.1.2 机器学习中问题的分类 5
1.1.3 本书的结构 6
1.2 安装Python 7
1.3 Jupyter Notebook 11
1.3.1 Jupyter Notebook的用法 11
1.3.2 输入Markdown格式文本 14
1.3.3 更改文件名 16
1.4 安装Keras和TensorFlow 17
第 2章 Python基础知识 19
2.1 四则运算 20
2.1.1 四则运算的用法 20
2.1.2 幂运算 20
2.2 变量 21
2.2.1 利用变量进行计算 21
2.2.2 变量的命名 21
2.3 类型 22
2.3.1 类型的种类 22
2.3.2 检查类型 22
2.3.3 字符串 23
2.4 print 语句 24
2.4.1 print语句的用法 24
2.4.2 同时显示数值和字符串的方法1 24
2.4.3 同时显示数值和字符串的方法2 25
2.5 list(数组变量) 26
2.5.1 list的用法 26
2.5.2 二维数组 27
2.5.3 创建连续的整数数组 28
2.6 tuple(数组) 29
2.6.1 tuple的用法 29
2.6.2 读取元素 29
2.6.3 长度为1的tuple 30
2.7 if 语句 31
2.7.1 if语句的用法 31
2.7.2 比较运算符 32
2.8 for 语句 33
2.8.1 for语句的用法 33
2.8.2 enumerate的用法 33
2.9 向量 34
2.9.1 NumPy的用法 34
2.9.2 定义向量 35
2.9.3 读取元素 36
2.9.4 替换元素 36
2.9.5 创建连续整数的向量 36
2.9.6 ndarray的注意事项 37
2.10 矩阵 38
2.10.1 定义矩阵 38
2.10.2 矩阵的大小 38
2.10.3 读取元素 39
2.10.4 替换元素 39
2.10.5 生成元素为0和1的ndarray 39
2.10.6 生成元素随机的矩阵 40
2.10.7 改变矩阵的大小 41
2.11 矩阵的四则运算 41
2.11.1 矩阵的四则运算 41
2.11.2 标量×矩阵 42
2.11.3 算术函数 42
2.11.4 计算矩阵乘积 43
2.12 切片 43
2.13 替换满足条件的数据 45
2.14 help 46
2.15 函数 47
2.15.1 函数的用法 47
2.15.2 参数与返回值 47
2.16 保存文件 49
2.16.1 保存一个ndarray类型变量 49
2.16.2 保存多个ndarray类型变量 49
第3章 数据可视化 51
3.1 绘制二维图形 52
3.1.1 绘制随机图形 52
3.1.2 代码清单的格式 53
3.1.3 绘制三次函数f (x) = (x - 2) x (x + 2) 53
3.1.4 确定绘制范围 54
3.1.5 绘制图形 55
3.1.6 装饰图形 55
3.1.7 并列显示多张图形 58
3.2 绘制三维图形 59
3.2.1 包含两个变量的函数 59
3.2.2 用颜色表示数值:pcolor 60
3.2.3 绘制三维图形:surface 62
3.2.4 绘制等高线:contour 64
第4章 机器学习中的数学 67
4.1 向量 68
4.1.1 什么是向量 68
4.1.2 用Python定义向量 69
4.1.3 列向量的表示方法 69
4.1.4 转置的表示方法 70
4.1.5 加法和减法 71
4.1.6 标量积 73
4.1.7 内积 74
4.1.8 向量的模 75
4.2 求和符号 76
4.2.1 带求和符号的数学式的变形 77
4.2.2 通过内积求和 79
4.3 累乘符号 79
4.4 导数 80
4.4.1 多项式的导数 80
4.4.2 带导数符号的数学式的变形 82
4.4.3 复合函数的导数 83
4.4.4 复合函数的导数:链式法则 84
4.5 偏导数 85
4.5.1 什么是偏导数 85
4.5.2 偏导数的图形 87
4.5.3 绘制梯度的图形 89
4.5.4 多变量的复合函数的偏导数 91
4.5.5 交换求和与求导的顺序 93
4.6 矩阵 95
4.6.1 什么是矩阵 95
4.6.2 矩阵的加法和减法 97
4.6.3 标量积 99
4.6.4 矩阵的乘积 100
4.6.5 单位矩阵 103
4.6.6 逆矩阵 105
4.6.7 转置 107
4.6.8 矩阵和联立方程式 109
4.6.9 矩阵和映射 111
4.7 指数函数和对数函数 113
4.7.1 指数 113
4.7.2 对数 115
4.7.3 指数函数的导数 118
4.7.4 对数函数的导数 120
4.7.5 Sigmoid函数 121
4.7.6 Softmax函数 123
4.7.7 Softmax函数和Sigmoid函数 127
4.7.8 高斯函数 128
4.7.9 二维高斯函数 129
第5章 有监督学习:回归 135
5.1 一维输入的直线模型 136
5.1.1 直线模型 138
5.1.2 平方误差函数 139
5.1.3 求参数(梯度法) 142
5.1.4 直线模型参数的解析解 148
5.2 二维输入的平面模型 152
5.2.1 数据的表示方法 154
5.2.2 平面模型 155
5.2.3 平面模型参数的解析解 157
5.3 D维线性回归模型 159
5.3.1 D维线性回归模型 160
5.3.2 参数的解析解 160
5.3.3 扩展到不通过原点的平面 164
5.4 线性基底函数模型 165
5.5 过拟合问题 171
5.6 新模型的生成 181
5.7 模型的选择 185
5.8 小结 186
第6章 有监督学习:分类 189
6.1 一维输入的二元分类 190
6.1.1 问题设置 190
6.1.2 使用概率表示类别分类 194
6.1.3 *大似然估计 196
6.1.4 逻辑回归模型 199
6.1.5 交叉熵误差 201
6.1.6 学习法则的推导 205
6.1.7 通过梯度法求解 209
6.2 二维输入的二元分类 210
6.2.1 问题设置 210
6.2.2 逻辑回归模型 214
6.3 二维输入的三元分类 219
6.3.1 三元分类逻辑回归模型 219
6.3.2 交叉熵误差 222
6.3.3 通过梯度法求解 223
第7章 神经网络与深度学习 227
7.1 神经元模型 229
7.1.1 神经细胞 229
7.1.2 神经元模型 230
7.2 神经网络模型 234
7.2.1 二层前馈神经网络 234
7.2.2 二层前馈神经网络的实现 237
7.2.3 数值导数法 242
7.2.4 通过数值导数法应用梯度法 246
7.2.5 误差反向传播法 251
7.2.6 求.E / .vkj 252
7.2.7 求.E / .wji 256
7.2.8 误差反向传播法的实现 262
7.2.9 学习后的神经元的特性 268
7.3 使用Keras实现神经网络模型 270
7.3.1 二层前馈神经网络 271
7.3.2 Keras的使用流程 273
第8章 神经网络与深度学习的应用(手写数字识别) 277
8.1 MINST数据集 278
8.2 二层前馈神经网络模型 279
8.3 ReLU激活函数 286
8.4 空间过滤器 291
8.5 卷积神经网络 295
8.6 池化 300
8.7 Dropout 301
8.8 融合了各种特性的MNIST识别网络模型 302
第9章 无监督学习 307
9.1 二维输入数据 308
9.2 K-means算法 310
9.2.1 K-means算法的概要 310
9.2.2 步骤0:准备变量与初始化 311
9.2.3 步骤1:更新R 313
9.2.4 步骤2:更新μ 315
9.2.5 失真度量 318
9.3 混合高斯模型 320
9.3.1 基于概率的聚类 320
9.3.2 混合高斯模型 323
9.3.3 EM算法的概要 328
9.3.4 步骤0:准备变量与初始化 329
9.3.5 步骤1(步骤E):更新γ 330
9.3.6 步骤2(步骤M):更新π、μ和Σ 332
9.3.7 似然 336
第 10章 本书小结 339
后记 349
📑 Table of Contents
- 学习前的准备:机器学习概述与环境搭建
- Python基础知识:变量、列表、函数与NumPy
- 数据可视化:二维与三维图形绘制
- 机器学习中的数学:向量、矩阵与导数
- 回归分析:线性回归与正则化方法
- 分类算法:逻辑回归与支持向量机
- 神经网络基础:从感知机到多层网络
- 深度学习入门:Keras与TensorFlow实践
- 手写数字识别实战:完整项目流程
- 无监督学习:聚类与降维算法
- 模型评估与调优:交叉验证与超参数搜索
- 综合案例:从数据到部署的完整实践