白驳风在哪看比较好 http://m.39.net/pf/a_4784941.html查看文章尾部参与赠书活动
数学对于机器学习乃至整个人工智能的重要性是众所周知的,这是一个数学密集型的领域。无论你是做学术,还是从事产品研发等工程性的工作,它都是一道绕不过去的坎。相信不少读者在学习《深度学习》、《统计学习方法》、《PatternRecognitionandMachineLearning》等经典教材以及阅读本领域论文、开源代码的时候都曾经为那些数学符号和公式、定理感到困惑和苦恼。数学是对大家掌握机器学习造成障碍的最主要原因之一,没有扎实的数学基础,真正掌握机器学习谈何容易?如何解决机器学习领域的数学问题?打下坚实的数学基础,是很多初学者乃至进阶者关心的话题。我们把这个问题拆解成下面几个问题:1.为什么需要数学?2.机器学习究竟用到了哪些数学知识?3.如何掌握这些数学知识?接下来我们将逐一解答这些问题,给出学好数学的一个合理方案。
作者:雷明
京东购5折
1
为什么需要数学
对于机器学习来说,上至理论层面如统计学习理论,下至典型的具体算法,在算法的推导与实现过程中,都大量的以数学作为工具。
01机器学习算法离不开数学
机器学习的具体算法,包括有监督学习、无监督学习、半监督学习,以及强化学习,无不需要数学作为支撑。这表现在下面几个方面:
1.算法模型的构造如假设函数(对于有监督学习)、策略函数(对于强化学习)需要数学。
2.目标函数的构造需要数学,对于有监督学习、无监督学习、半监督学习、强化学习都是如此。如果构造出了目标函数,你就成功了一半。
3.最优化问题的求解/训练算法的设计,需要数学,比如梯度下降法,牛顿法,拟牛顿法,SMO算法。
02机器学习算法的理论分析需要数学
很多时候我们需要分析机器学习算法的特性和问题,并有针对性的给出一些解决方案。除了实验之外,最有力的工具就是理论分析,这通常依赖于数学。
以经典的万能逼近定理为例,我们如何证明多层神经网络能拟合闭区间上的任意连续函数?请看部分证明过程:
生成对抗网络(GAN)在训练过程中会出现令人讨厌的模式坍塌问题,为什么会出现这种问题?如何解决此问题?这同样需要从数学层面进行分析。
对有监督学习模型的泛化误差分析等任务,就更离不开数学。
03机器学习的理论指导需要数学
除了少数从事偏理论方向学术研究的人,绝大部分人都不会去了解机器学习理论。但机器学习理论对这个领域具有提纲挈领的作用。它可以回答诸如下面一些基本的问题:
1.什么样的任务是可以学习的?
2.机器学习模型能够学习到何种程度,即在训练集,测试集上的误差上界是多少?
3.模型假设与泛化误差上界存在何种关系?
这些晦涩的理论研究,更离不开数学这个工具。
04做好“调参侠”也需要数学
你也许会说,我只需要调用开源库或使用开源软件,学会调参就够了。除非你是跨专业的人,只是偶尔把机器学习当做工具使用而不靠它吃饭,否则这种思想是要不得的。不掌握算法的原理尤其是某些数学知识,你恐怕连做“调参侠”都很困难。试看下面几个问题:
1.梯度下降法中为什么需要学习率?
2.梯度下降法能保证在每次迭代时目标函数值一定下降吗?随机梯度下降法呢?
3.为什么在训练GAN时会有模式坍塌问题,如何解决?
4.支持向量机中的惩罚因子C应该怎么设置?核函数该如何选择?
虽然现在有AutoML等自动化机器学习工具(如贝叶斯优化等算法)来实现自动调参,但在有些时候它们不一定能满足你的实际要求。
2
机器学习究竟用到了哪些数学知识
很多同学认为学了本科3门数学课-高等数学,线性代数,概率论与数理统计,就足以学好机器学习了,这种观点其实是不准确的。且不说最优化方法,随机过程等课程大部分人并没学过,即使是这3门课,机器学习中所用的数学知识也经常会超出工科乃至数学系教材的范畴。下面我们来一一分析。
01微积分
微积分可以进一步分为一元函数微积分,多元函数微积分两部分,它是整个高等数学的基石。通常情况下,机器学习需要得到一个函数(模型或者说假设),既然是函数,那自然就离不开微积分了。它为我们研究函数的性质,包括单调性,凹凸性,以及极值提供了理论依据。同时它也是学习概率论、信息论、最优化方法等课程的基础。
总体来说,机器学习中所用的微积分知识,本科工科微积分教材基本上已经讲了,除了下面这些内容:
1.上/下确界2.李普希茨连续性3.雅克比矩阵4.Hessian矩阵5.多元函数的凹凸性6.多元函数的极值7.多元函数的泰勒公式
8.多重积分的换元法
如果你真的学好了本科微积分,上面这些内容并不难理解。02线性代数
线性代数对于机器学习是至关重要的。机器学习算法的输入、输出、中间结果,通常为向量,矩阵,张量。使用线性代数可以简化问题的表达,用一个矩阵乘法,比写成多重求和要简洁明了得多。线性代数是学习后续数学课程的基础。它可以与微积分结合,研究多元函数的性质。线性代数在概率论中也被使用,比如随机向量,协方差矩阵。线性代数在图论中亦有应用-比如图的邻接矩阵,拉普拉斯矩阵。在随机过程中它同样有应用-比如状态转移矩阵。
机器学习中所用的线性代数知识,有不少超出了一般线性代数乃至高等代数教材的范畴,对于很多读者来说说陌生的。下面是典型的例子:
1.向量的范数
2.矩阵的范数
3.Householder变换
4.QR算法
5.广义特征值
6.瑞利商
7.矩阵的条件数
8.矩阵分解,包括Cholesky分解,QR分解,奇异值分解(SVD)
这些知识在教材和论文中频繁出现。
03概率论
概率论对于机器学习来说也是至关重要的,这是一种重要的工具。如果将机器学习算法的输入、输出看作随机变量/向量,则可以用概率论的观点对问题进行建模。概率论的一个好处是可以对不确定性进行建模,这对于某些问题是非常有必要的。另外,它还可以挖掘变量之间的概率依赖关系,实现因果推理。概率论为某些随机算法-如蒙特卡洛算法,遗传算法,以及随机数生成算法-包括基本随机数生成,以及采样算法提供了理论依据和指导。最后,概率论也是信息论,随机过程的先导课程。
工科的概率论与数理统计教材,已经讲述了机器学习所需的大部分概率论知识,只有以下的知识点除外:
1.条件独立性
2.Jensen不等式
3.某些概率分布如多项分布,拉普拉斯分布,t分布等
4.概率分布变换
5.多维正态分布
6.多维概率分布变换
7.某些参数估计方法,包括最大后验概率估计,贝叶斯估计等
8.随机数生成算法,包括逆变换采样,拒绝采样等算法
04最优化方法
最优化方法在机器学习中处于中心地位,遗憾的是很多读者并没有系统的学过这门课程,包括线性规划,凸优化,非线性规划,在一般的数值分析课程中,只讲述了最优化方法的小部分内容。
几乎所有机器学习算法最后都归结于求解最优化问题,从而确定模型参数,或直接获得预测结果。前者的典型代表是有监督学习,通过最小化损失函数或优化其他类型的目标函数确定模型的参数;后者的典型代表是数据降维算法,通过优化某种目标函数确定降维后的结果,如主成分分析。
05信息论
信息论是概率论的延伸,在机器学习与深度学习中通常用于构造目标函数,以及对算法进行理论分析与证明。这同样是很多读者没有学习过的课程。
在机器学习尤其是深度学习中,信息论的知识随处可见:
1.某些决策树的训练过程中需要使用熵作为指标。
2.在深度学习中经常会使用交叉熵,KL散度,JS散度,互信息等概念。
3.变分推断的推导需要以KL散度为基础。
4.距离度量学习,流形降维等算法也需要信息论的知识。
06随机过程
随机过程同样是概率论的延伸,这也是大部分读者没有学习过的课程。它被广泛用于序列数据分析。在机器学习中,随机过程被用于概率图模型,强化学习建模,以及贝叶斯优化等问题。不理解马尔可夫过程,你将对MCMC采样算法一头雾水。
07图论
图论似乎只有计算机相关专业在本科时学过,而且还不完整,比如谱图理论。在机器学习中,概率图模型是典型的图结构。流形降维算法与谱聚类算法均使用了谱图理论。神经网络的计算图也是图的典型代表,图神经网络作为一种新的深度学习模型,与图论也有密切的关系。因此补充图论的知识也是很有必要的。
在有些论文和问题上,可能使用了更高级的数学知识,包括微分几何,实变函数,泛函分析,拓扑学等,不过对一般人来说,这不是必要的,因此我们不做过多介绍。
3
《机器学习的数学》给你带来了什么
为了帮助机器学习乃至人工智能领域的读者扫清数学这一障碍,我们编写了《机器学习的数学》这本书。此书适用于下面的读者:
1.可作为人工智能(智能科学与技术)、计算机、电子工程、自动化、数学等相关专业的教材与教学参考书;
2.可用作人工智能领域的工程技术人员,如算法工程师、产品经理的参考书;
3.广大数学与应用数学爱好者也可以阅读
下面来介绍本书的特点。
每满减50元
点击直接购买
01用最小的篇幅精确覆盖机器学习的数学
从前面已经看到,机器学习使用了至少7门课的数学知识,我们是否需要把这些课程完整的学习一遍?答案显然是否定的,对于绝大多数读者来说,时间和精力也不允许,且不说能不能完全学懂。
如何用最小的篇幅覆盖机器学习领域常用的数学知识,是我们在编写此书时考虑的第一个问题。对此,笔者结合自己在机器学习领域的背景知识进行了精心的设计,通过分析各机器学习算法,以及重要的理论所需的数学知识,我们最终圈定了一个合理的范围,并对章节和顺序进行了科学的设计。总体原则是:非必要的知识尽量不讲或少讲!下面请看这本书的完整目录:(??上下滑动查看)
第1章一元函数微积分1
1.1极限与连续1
1.1.1可数集与不可数集1
1.1.2数列的极限3
1.1.3函数的极限7
1.1.4函数的连续性与间断点9
1.1.5上确界与下确界11
1.1.6李普希茨连续性12
1.1.7无穷小量13
1.2导数与微分14
1.2.1一阶导数14
1.2.2机器学习中的常用函数20
1.2.3高阶导数22
1.2.4微分24
1.2.5导数与函数的单调性25
1.2.6极值判别法则26
1.2.7导数与函数的凹凸性28
1.3微分中值定理29
1.3.1罗尔中值定理29
1.3.2拉格朗日中值定理29
1.3.3柯西中值定理31
1.4泰勒公式31
1.5不定积分33
1.5.1不定积分的定义与性质33
1.5.2换元积分法35
1.5.3分部积分法36
1.6定积分37
1.6.1定积分的定义与性质38
1.6.2牛顿-莱布尼茨公式39
1.6.3定积分的计算40
1.6.4变上限积分41
1.6.5定积分的应用42
1.6.6广义积分44
1.7常微分方程45
1.7.1基本概念45
1.7.2一阶线性微分方程46
第2章线性代数与矩阵论49
2.1向量及其运算49
2.1.1基本概念49
2.1.2基本运算51
2.1.3向量的范数53
2.1.4解析几何55
2.1.5线性相关性57
2.1.6向量空间58
2.1.7应用——线性回归61
2.1.8应用——线性分类器与支持
向量机62
2.2矩阵及其运算65
2.2.1基本概念65
2.2.2基本运算67
2.2.3逆矩阵72
2.2.4矩阵的范数78
2.2.5应用——人工神经网络78
2.2.6线性变换81
2.3行列式82
2.3.1行列式的定义与性质83
2.3.2计算方法91
2.4线性方程组92
2.4.1高斯消元法92
2.4.2齐次方程组93
2.4.3非齐次方程组95
2.5特征值与特征向量97
2.5.1特征值与特征向量97
2.5.2相似变换
2.5.3正交变换
2.5.4QR算法
2.5.5广义特征值
2.5.6瑞利商
2.5.7谱范数与特征值的关系
2.5.8条件数
2.5.9应用——谱归一化与谱正则化
2.6二次型
2.6.1基本概念
2.6.2正定二次型与正定矩阵
2.6.3标准型
2.7矩阵分解
2.7.1楚列斯基分解
2.7.2QR分解
2.7.3特征值分解
2.7.4奇异值分解
第3章多元函数微积分
3.1偏导数
3.1.1一阶偏导数
3.1.2高阶偏导数
3.1.3全微分
3.1.4链式法则
3.2梯度与方向导数
3.2.1梯度
3.2.2方向导数
3.2.3应用——边缘检测与HOG
特征
3.3黑塞矩阵
3.3.1黑塞矩阵的定义与性质
3.3.2凹凸性
3.3.3极值判别法则
3.3.4应用——最小二乘法
3.4雅可比矩阵
3.4.1雅可比矩阵的定义和性质
3.4.2链式法则的矩阵形式
3.5向量与矩阵求导
3.5.1常用求导公式
3.5.2应用——反向传播算法
3.6微分算法
3.6.1符号微分
3.6.2数值微分
3.6.3自动微分
3.7泰勒公式
3.8多重积分
3.8.1二重积分
3.8.2三重积分
3.8.3n重积分
3.9无穷级数
3.9.1常数项级数
3.9.2函数项级数
第4章最优化方法
4.1基本概念
4.1.1问题定义
4.1.2迭代法的基本思想
4.2一阶优化算法
4.2.1梯度下降法
4.2.2最速下降法
4.2.3梯度下降法的改进
4.2.4随机梯度下降法
4.2.5应用——人工神经网络
4.3二阶优化算法
4.3.1牛顿法
4.3.2拟牛顿法
4.4分治法
4.4.1坐标下降法
4.4.2SMO算法
4.4.3分阶段优化
4.4.4应用——logistic回归
4.5凸优化问题
4.5.1数值优化算法面临的问题
4.5.2凸集
4.5.3凸优化问题及其性质
4.5.4机器学习中的凸优化问题
4.6带约束的优化问题
4.6.1拉格朗日乘数法
4.6.2应用——线性判别分析
4.6.3拉格朗日对偶
4.6.4KKT条件
4.6.5应用——支持向量机
4.7多目标优化问题
4.7.1基本概念
4.7.2求解算法
4.7.3应用——多目标神经结构搜
索
4.8泛函极值与变分法
4.8.1泛函与变分
4.8.2欧拉—拉格朗日方程
4.8.3应用——证明两点之间直线
最短
4.9目标函数的构造
4.9.1有监督学习
4.9.2无监督学习
4.9.3强化学习
第5章概率论
5.1随机事件与概率
5.1.1随机事件概率
5.1.2条件概率
5.1.3全概率公式
5.1.4贝叶斯公式
5.1.5条件独立
5.2随机变量
5.2.1离散型随机变量
5.2.2连续型随机变量
5.2.3数学期望
5.2.4方差与标准差
5.2.5Jensen不等式
5.3常用概率分布
5.3.1均匀分布
5.3.2伯努利分布
5.3.3二项分布
5.3.4多项分布
5.3.5几何分布
5.3.6正态分布
5.3.7t分布
5.3.8应用——颜色直方图
5.3.9应用——贝叶斯分类器
5.4分布变换
5.4.1随机变量函数
5.4.2逆变换采样算法
5.5随机向量
5.5.1离散型随机向量
5.5.2连续型随机向量
5.5.3数学期望
5.5.4协方差
5.5.5常用概率分布
5.5.6分布变换
5.5.7应用——高斯混合模型
5.6极限定理
5.6.1切比雪夫不等式
5.6.2大数定律
5.6.3中心极限定理
5.7参数估计
5.7.1最大似然估计
5.7.2最大后验概率估计
5.7.3贝叶斯估计
5.7.4核密度估计
5.7.5应用——logistic回归
5.7.6应用——EM算法
5.7.7应用——MeanShift算法
5.8随机算法
5.8.1基本随机数生成算法
5.8.2遗传算法
5.8.3蒙特卡洛算法
5.9采样算法
5.9.1拒绝采样
5.9.2重要性采样
第6章信息论
6.1熵与联合熵
6.1.1信息量与熵
6.1.2熵的性质
6.1.3应用——决策树
6.1.4联合熵
6.2交叉熵
6.2.1交叉熵的定义
6.2.2交叉熵的性质
6.2.3应用——softmax回归
6.3Kullback-Leibler散度
6.3.1KL散度的定义
6.3.2KL散度的性质
6.3.3与交叉熵的关系
6.3.4应用——流形降维
6.3.5应用——变分推断
6.4Jensen-Shannon散度
6.4.1JS散度的定义
6.4.2JS散度的性质
6.4.3应用——生成对抗网络
6.5互信息
6.5.1互信息的定义
6.5.2互信息的性质
6.5.3与熵的关系
6.5.4应用——特征选择
6.6条件熵
6.6.1条件熵定义
6.6.2条件熵的性质
6.6.3与熵以及互信息的关系
6.7总结
第7章随机过程
7.1马尔可夫过程
7.1.1马尔可夫性
7.1.2马尔可夫链的基本概念
7.1.3状态的性质与分类
7.1.4平稳分布与极限分布
7.1.5细致平衡条件
7.1.6应用——隐马尔可夫模型
7.1.7应用——强化学习
7.2马尔可夫链采样算法
7.2.1基本马尔可夫链采样
7.2.2MCMC采样算法
7.2.3Metropolis-Hastings算法
7.2.4Gibbs算法
7.3高斯过程
7.3.1高斯过程性质
7.3.2高斯过程回归
7.3.3应用——贝叶斯优化
第8章图论
8.1图的基本概念
8.1.1基本概念
8.1.2应用——计算图与自动微分
8.1.3应用——概率图模型
8.1.4邻接矩阵与加权度矩阵
8.1.5应用——样本集的相似度图
8.2若干特殊的图
8.2.1联通图
8.2.2二部图
8.2.3应用——受限玻尔兹曼机
8.2.4有向无环图
8.2.5应用——神经结构搜索
8.3重要的算法
8.3.1遍历算法
8.3.2最短路径算法
8.3.3拓扑排序算法
8.4谱图理论
8.4.1拉普拉斯矩阵
8.4.2归一化拉普拉斯矩阵
8.4.3应用——流形降维
相信这一章节安排对于大部分读者来说是非常科学合理的,也极大地降低了大家的学习成本。下面是本书的总体章节结构图。
02从机器学习的角度讲述数学,从数学的角度看待机器学习
专门的数学教材通常不会讲授机器学习的相关内容,而专门的机器学习教程又不会再去详细讲解数学知识,二者之间存在一个鸿沟。从更大的层面看,不知数学有何用,不知学了怎么用,是很多读者面临的一个问题。
针对这一问题,本书也给出了很好的答案:从机器学习的角度讲授数学,从数学的角度看待机器学习,这是本书的一大特色。这本书实现了机器学习与数学的无缝衔接。对于很多数学知识,我们会讲到它在机器学习中的应用,而对于很多机器学习算法,我们也会讲清它的数学原理,包括:
线性回归
线性分类器
人工神经网络
支持向量机
谱归一化与谱正则化
反向传播算法
微分算法
Logistic回归
Softmax回归
线性判别分析
多目标神经结构搜索
贝叶斯分类器
高斯混合模型
EM算法
最大后验概率估计,贝叶斯估计
核密度估计与meanshift算法
遗传算法
蒙特卡洛算法
采样算法
决策树
流形降维
变分推断
生成对抗网络
特征选择问题
隐马尔可夫模型
马尔可夫决策过程
马尔可夫链采样算法
贝叶斯优化
计算图与自动微分
概率图模型
受限玻尔兹曼机
神经结构搜索(NAS)
这些内容已经涵盖了机器学习,深度学习,强化学习的核心基础知识。读完本书,读者对机器学习算法也基本上也有了一个整体的理解。
03让数学不再抽象
数学抽象难懂,是几乎所有读者都会面临的一个问题。如何把一些概念、理论清晰地讲述出来,是一个非常有挑战的问题。在这一方面,作者进行了大量的思考与设计,力求用浅显易懂的语言把晦涩的知识讲述清楚,并用实例和图表等形式把抽象的知识具象化,确保读者理解起来无困难。下面来看几个例子。
1.使用图表等方式降低理解难度。
很多读者觉得反向传播算法不易理解,不清楚为什么要这样做,到底解决了什么问题。书中条理清晰地阐述了反向传播算法的原理,推导简洁而易懂,同时附以下面的图让读者理解算法的核心步骤与本质。
2.使用实际例子降低理解难度
书中大量使用了在机器学习中、实际生活中的例子进行讲解,化抽象为具体。以马尔可夫决策过程为例。强化学习中的马尔可夫决策过程一直让很多读者觉得难解。相信很多读者会有下面的疑问:
1.强化学习中为什么需要用马尔可夫决策过程进行建模?
2.为什么需要用状态转移概率?
3.为什么奖励函数与状态转移有关?
4.确定性策略,非确定性策略到底是怎么回事?
书中对马尔可夫决策过程进行了清晰的阐述,并以人工降雨这种大家都能理解的生活例子进行说明。
3.对难以理解的知识点有清晰、透彻的解释
机器学习中所用的数学知识,有不少是公认的难以理解的。比如正交变换,QR算法,奇异值分解,拟牛顿法,拉格朗日对偶,概率分布变换等。这些数学概念的定义,推导中的关键步骤,以及为何要这样做,在很多教材中并没有交代。本书对这些难点的讲解进行了精心的设计。
以Householder变换为例,它在矩阵分解、特征值计算等任务中具有重要的作用。不少读者在学习矩阵分析、数值分析等课程的时候可能会有这样的疑问:
1.为什么用Householder变换可以将矩阵变换为近似对角的矩阵?
2.Householder变换的变换矩阵是怎样构造的,为什么要这么构造?
3.为何不直接将对称矩阵变换为对角矩阵?
对于这些问题,本书都有清晰的交代。
4.结合python程序,直观的给出数学结论的结果。
对于某些数学知识点,我们给出了python代码,让读者能够通过程序直接看到数学结论和结果,降低理解难度。
04讲清难点问题-知细节
对于读者普遍感到难以理解的知识,如QR算法,矩阵分解,反向传播算法,拟牛顿法,支持向量机,拉格朗日对偶,EM算法,变分推断,MCMC采样算法,贝叶斯优化等,本书都有深入浅出的讲解。并给出详细的推理过程和应用实例。下面举例说明。
1.拟牛顿法
2.变分推断
3.贝叶斯优化
05理清整体知识节结构-观全局
在宏观层面,本书也对各章的知识结构进行了总结和梳理,让读者不仅能理解细节,更能知全局,从全局层面把握数学知识,加深理解。
下图是最优化方法的知识体系:
下图是信息论的知识体系:
本书配套的资源
为了帮助读者更高效地学习本书,本书后续将推出配套的讲解视频。为了帮助读者以及高校老师使用本书,特意配备了本书的PPT教学资源,将会免费公开。
本书目前已经在京东上线,点击封面直接购买
本书的目标是帮助读者全面、系统地学习机器学习所必须的数学知识。全书由8章组成,力求精准、最小地覆盖机器学习的数学知识。包括微积分,线性代数与矩阵论,最优化方法,概率论,信息论,随机过程,以及图论。本书从机器学习的角度讲授这些数学知识,对它们在该领域的应用举例说明,使读者对某些抽象的数学知识和理论的实际应用有直观、具体的认识。本书内容紧凑,结构清晰,深入浅出,讲解详细。本书的内容,可以看下图的简介(上下滑动查看):-END-
包邮送书
抽5位幸运粉丝,
包邮送《机器学习的数学》
活动截止时间:1年01月26日10:00▼点击参与抽奖活动预览时标签不可点收录于话题#个上一篇下一篇