《人工智能基础 数学知识》基于流行的Python语言,通俗易懂地介绍了入门人工智能领域必需必会的数学知识,旨在让读者轻松掌握并学以致用。
《人工智能基础 数学知识》分为线性代数、概率和优化等3篇,共21章,覆盖了人工智能领域中重要的数学知识点。本书写作风格通俗有趣,读者可在潜移默化中掌握这些数学知识以及相关的编程操作,并能从工程落地的角度深刻理解数学在其中的扮演角色和魅力。
《人工智能基础 数学知识》适合希望投身于人工智能领域且想有一番作为的人员阅读,还适合对人工智能领域背后的逻辑感兴趣的人员阅读。本书还可作为各大高校人工智能专业的参考用书。
《人工智能基础 数学知识》的目标在于拉低机器学习入门的门槛,揭开人工智能理论层面的神秘面纱。《人工智能基础 数学知识》假设读者没有深厚的理工背景,完全站在一个迫切想入门人工智能的外行的角度上,力争让每个有兴趣、有热情的读者不会在人工智能的大潮中落伍。
《人工智能基础 数学知识》结合工程应用场景以及Python代码来解读人工智能背后的数学原理和意义,使读者不仅知其然,还知其所以然,让学习数学不再枯燥。本书中的案例、代码都是通过精心挑选的,读者通过阅读、模仿和实践,可以很快地发现“人工智能”原来如此。
张晓明,网名大圣。国内早期的竞价搜索工程师,曾就职雅虎、阿里、移动等大型互联网公司,担任过数据专家、技术总监等职务,服务过广告、电商、移动运营商、互联网金融等多行业,有 15 年以上的数据挖掘、机器学习一线工程经验。现为自由职业者、独立咨询顾问、独立讲师。
第一篇 线性代数
第 1 章 论线性代数的重要性 2
1.1 小白的苦恼 2
1.2 找朋友 4
1.3 找推荐 7
1.4 赚大钱 10
第 2 章 从相似到向量 12
2.1 问题:如何比较相似 12
2.2 代码示例 12
2.3 专家解读 17
第 3 章 向量和向量运算 20
3.1 代码示例:在 Python 中使用向量 20
3.1.1 创建向量 20
3.1.2 向量的范数(模长) 21
3.1.3 向量的相等 21
3.1.4 向量加法(减法) 22
3.1.5 向量的数乘 23
3.1.6 向量的线性组合 24
3.1.7 向量的乘法(点积) 25
3.2 专家解读 26
第 4 章 最难的事情——向量化 27
4.1 问题:如何对文本向量化 28
4.2 One-Hot Encoding 方式 29
4.2.1 做法 1:二值化 31
4.2.2 做法 2:词频法 32
4.2.3 做法 3:TF-IDF 33
4.3 专家解读 34
4.3.1 稀疏向量和稠密向量 34
4.3.2 One-Hot 到 Word2Vec 35
第 5 章 从线性方程组到矩阵 38
5.1 回归预测 39
5.2 从方程组到矩阵 41
5.3 工程中的方程组 42
第 6 章 空间、子空间、方程组的解 44
6.1 空间和子空间 45
6.2 子空间有什么用 46
6.3 所谓最优解指什么 48
第 7 章 矩阵和矩阵运算 50
7.1 认识矩阵 50
7.2 创建矩阵 51
7.2.1 代码示例:如何创建矩阵 51
7.2.2 代码示例:如何创建对角矩阵 52
7.2.3 代码示例:如何创建单位矩阵 53
7.2.4 代码示例:如何创建对称矩阵 54
7.3 矩阵运算 55
7.3.1 代码示例:加法和数乘 55
7.3.2 代码示例:矩阵乘法 56
7.3.3 代码示例:求逆矩阵 57
第 8 章 解方程组和最小二乘解 58
8.1 代码实战:解线性方程组 58
8.2 代码实战:用最小二乘法解方程组 59
8.3 专家解读:最小二乘解 61
8.3.1 损失函数 61
8.3.2 最小二乘解 63
第 9 章 带有正则项的最小二乘解 65
9.1 代码实战:多项式回归 66
9.2 代码实战:岭回归 69
9.3 代码实战:Lasso 回归 71
第 10 章 矩阵分解的用途 74
10.1 问题 1:消除数据间的信息冗余 74
10.2 问题 2:模型复杂度 78
10.3 代码实战:PCA 降维 79
10.4 专家解读 82
10.5 从 PCA 到 SVD 84
第 11 章 降维技术哪家强 86
11.1 问题:高维数据可视化 86
11.2 代码实战:多种数据降维 89
11.3 专家解读:从线性降维到流形学习 92
第 12 章 矩阵分解和隐因子模型 94
12.1 矩阵分解和隐因子模型概述 94
12.2 代码实战: SVD 和文档主题96
12.3 小结 100
第二篇 概率
第 13 章 概率建模 102
13.1 概率 102
13.2 随机变量和分布 103
13.2.1 0-1分布(伯努利分布) 104
13.2.2 二项分布 104
13.2.3 多项分布 105
13.2.4 正态分布 107
13.3 代码实战:检查数据是否服从正态分布 108
13.4 专家解读:为什么正态分布这么厉害 111
13.5 小结 111
第 14 章 最大似然估计 112
14.1 最大似然原理 112
14.2 代码实战:最大似然举例 113
14.3 专家解读:最大似然和正态分布 115
14.4 最大似然和回归建模 117
14.5 小结 118
第 15 章 贝叶斯建模 119
15.1 什么是随机向量 119
15.2 随机向量的分布 120
15.3 独立 VS 不独立 123
15.4 贝叶斯公式 123
15.5 小结 124
第 16 章 朴素贝叶斯及其拓展应用 125
16.1 代码实战:情感分析 125
16.2 专家解读 128
16.3 代码实战:优选健身计划 130
16.4 小结 136
第 17 章 进一步体会贝叶斯 137
17.1 案例:这个机器坏了吗 137
17.2 专家解读:从贝叶斯到在线学习 141
第 18 章 采样 142
18.1 贝叶斯模型的困难 143
18.2 代码实战:拒绝采样 144
18.3 代码实战: MH采样 147
18.4 专家解读:拒绝采样算法 150
18.4.1 MH 算法 151
18.4.2 马尔科夫链和细致平稳条件 152
18.4.3 细致平稳条件和接受率的关系 153
18.5 专家解读:从 MH 到 Gibbs 154
18.6 小结 155
第三篇 优化
第 19 章 梯度下降算法 158
19.1 代码实战:梯度下降算法 159
19.2 专家解读:梯度下降算法 162
19.3 代码实战:随机梯度下降算法 167
19.4 专家解读:随机梯度下降算法 168
19.5 小结 169
第 20 章 逻辑回归 171
20.1 代码实战:逻辑回归 173
20.2 专家解读:逻辑回归的原理 174
20.3 代码实战:逻辑回归梯度下降算法 177
第 21 章 凸优化 179
21.1 凸优化扫盲 181
21.2 正则化和凸优化 182
21.3 小结 183
附录 A 工作环境搭建说明 184
A.1 什么是 Python 184
A.2 本书所需的工作环境 187
A.2.1 Anaconda 版本选择 187
A.2.2 多版本共存的 Anaconda 安装方式 188
A.2.3 安装 Anaconda 主版本(Anaconda 2) 188
A.2.4 安装 Anaconda 辅版本(Anaconda 3) 190
A.2.5 开发工具的选择 190
结语193