微积分wei

点上方蓝字人工智能算法与Python大数據获取更多干货

仅做学术分享如有侵权,联系删除

大学时期学的数学现在可能派上用场了机器学习背后的原理涉及许多数学知识。深叺挖掘一下你会发现,线性代数、微积分和概率论等都和机器学习背后的算法息息相关

机器学习算法背后的数学知识你了解吗?在构建模型的过程中如果想超越其基准性能,那么熟悉基本细节可能会大有帮助尤其是在想要打破 SOTA 性能时,尤其如此

机器学习背后的原悝往往涉及高等数学。例如随机梯度下降算法建立在多变量微积分和概率论的基础上。因此掌握基础的数学理论对于理解机器学习模型佷重要但如果你是没有数学基础的初学者,这里有一份学习路线图带你从零开始深入理解神经网络的数学原理。

大多数机器学习都建竝在三种数学理论的基础上:线性代数、微积分和概率论其中概率论的理论又基于线性代数和微积分

微积分包括函数的微分和积分鉮经网络本质上是一个可微函数,因此微积分是训练神经网络的基本工具

首先,函数的导数定义如下

在极限定理中这也是点 x 处切线的斜率。下图说明了这个概念:

微分可以用来优化函数:导数在局部极大值和极小值处为零(也有例外,例如:f(x) = x?,x=0)导数为零的点称為临界点。临界点是最小值还是最大值可以通过查看二阶导数来确定:

求导存在一些基本法则其中最重要的可能是链式求导法则:

上式告诉我们如何计算复合函数的导数。

微分和积分互为逆运算这是因为:

它适用于任何可积函数 f(x)。函数的积分也可以看作是曲线下的有符號面积例如:

因为当函数是负的时候,这里的面积也有一个负号:

在 -π到π的区间内正弦函数曲线下的有符号面积。

推荐一些比较好的學习资源麻省理工学院的单变量微积分课程和 Gilbert Strang 的教科书。

  • 行列式是线性代数中最具挑战性的概念之一要了解这一概念,请观看下面的視频

    总而言之,矩阵的行列式描述了在相应的线性变换下对象的体积是如何缩放的。如果变换改变方向行列式的符号为负。

    特征值、特征向量和矩阵分解

    标准的线性代数课程通常以特征值 / 特征向量和一些特殊的矩阵分解(如奇异值分解)结束假设我们有一个矩阵 A,並且如果有一个向量 x(称为特征向量)那么λ就是矩阵 A 的特征值:

    换句话说,由 A 表示的线性变换对向量 x 进行一个λ缩放,这个概念在线性代数中起着重要作用(实际上在广泛使用线性代数的每个领域都是如此)

    你需要熟悉矩阵分解,从计算的角度来看对角矩阵是最好的選择,如果一个线性变换有一个对角矩阵那么计算它在任意向量上的值是很简单的。

    大多数特殊形式的目的是将矩阵 A 分解为矩阵乘积矩阵分解后最好有一个是对角矩阵。奇异值分解(SVD)是指有一个特殊的矩阵 U 和一个对角矩阵Σ,使得:

    U 和 V 是酉矩阵,是一个特殊的矩阵族奇异值分解(SVD)也被用来进行主成分分析,这是最简单和最著名的降维方法之一

    线性代数有许多教授方法,本文列出的学习路径是受 Sheldon Axler 教材《Linear Algebra Done Right》的启发对于在线讲座,MIT 的网络公开课值得推荐

    多变量运算中将线性代数和微积分结合在一起,为训练神经网络的主要工具奠定了基础从数学上讲,神经网络只是多个变量的函数(尽管变量数量可达数百万)

    与单变量运算相似,两个重点是微分和积分假設存在映射:

    将向量映射到实数。在二维(即 n=2)的情况下可以将其图象想象为一个曲面(由于人类生活在三维世界,因此很难将具有两個以上变量的函数可视化)

    在单变量中,导数是切线的斜率那么在此应该如何定义切线呢?表面上的一个点处不只有一条切线而是哆条。这些切线中有两条特殊的切线:分别为平行于 x-z 平面的切线和平行于 y-z 平面的切线

    这两条切线的斜率由偏导数决定,如下:

    这些特殊方向的切线横跨切平面

    另一个特殊的方向是梯度方向:

    梯度始终指向增加最快的方向,因此沿这个方向前进一小步高度上的增加相对於其他方向是最大的。这就是梯度下降的基本思想它是让函数最大化的算法。其步骤如下:

    1. 计算当前位置 x_0 处的梯度

    2. 在梯度方向上走一尛步即可到达点 x_1(步长称为学习率)。

    3. 返回步骤 1重复该过程,直至收敛为止

    当然,这种算法也存在一些缺陷多年来这些缺陷也得到叻一些改善。基于现代梯度下降的优化器采用了许多技巧例如自适应步长、动量等。

    在实践中计算梯度是一件很困难的事函数经常由其他函数的组成部分构成。例如线性层:

    其中 A 是矩阵,b 和 x 是矢量σ是 sigmoid 函数(当然还有其他激活函数)。如何计算梯度

    写成如下的矢量 - 标量函数:

    g 的梯度由矩阵定义,该矩阵的第 k 行是第 k 个分量的梯度

    该矩阵被称为 g 的总导数在该例中

    定义中用到了单变量 sigmoid 分量。将函数进┅步分解为从 n 维向量空间映射到实数空间的 m 个函数:

    如果计算总导数则会看到:

    这是多元函数的链式规则,具有通用性没有它就没有簡单的方法来计算神经网络的梯度。而神经网络是许多函数的组合

    与单变量的情况类似,梯度和导数在确定空间中的给定点是局部极小徝还是极大值方面(或者两者都不是)也起作用

    举一个具体的例子,训练神经网络等效于最小化参数训练数据上的损失函数这就是找箌最佳参数配置 w 的目的:

    分别是神经网络和损失函数。

    对于 n 个变量的通用可微分矢量 - 标量函数存在 n^2 个二阶导数。形成 Hessian 矩阵

    在多变量的凊况下,Hessian 的行列式充当二阶导数的角色类似地,它还可以用来判断临界点(即所有导数均为零的情况)是最小值、最大值、鞍点中的哪┅种

    关于多元微积分有很多很棒的在线课程。课程地址:

    现在我们准备开始最后一个主题:概率论!

    概率论是将机率数学化的学科它是所有科学领域的理论基础。

    除了基础知识之外你还需要了解一些高阶知识,首先是期望值和熵

    假设你和朋友玩游戏。你掷一个经典的陸边形骰子如果结果是 1 或 2,你将赢得 300 美元否则,你就输 200 美元如果你玩这个游戏的时间够长,你每轮的平均收入是多少你应该玩这個游戏吗?

    那么你有 1/3 的概率赢 300 美元,2/3 的概率输 200 美元也就是说,如果 X 是编码掷骰子结果的随机变量那么:

    通常来说,当用于离散型随機变量时期望值定义如下:

    当用于实值连续型随机变量时,定义如下

    在机器学习中训练神经网络所用的损失函数在某种程度上是期望徝。

    人们常常错误地把某些现象归因于大数定律例如,那些连输的赌徒相信根据大数定律,他们很快就会赢这是完全错误的。让我們看看这到底是什么假如:

    是代表同一实验中独立重复的随机变量 (例如,掷骰子或扔硬币)

    本质上,大数定律指出:

    从长远来看結果平均值等于期望值。

    给出的一种解释是如果一个随机事件重复了很多次,则单个结果可能无关紧要因此,如果你在赌场玩一个期朢值为负的游戏那么偶尔也会赢。但大数定律意味着你会赔钱

    此外,随机梯度下降中 LLN 很重要

    让我们玩个游戏。玩家心理想着 1-1024 的任意數字然后你来猜。你可以问问题但你的目标是使用尽可能少的问题。你需要多少问题

    如果你玩得很聪明,则可以使用二分搜索方法處理问题首先你可能会问:这个数字在 1 和 512 之间吗?这样一来搜索空间就减少了一半。使用此策略你可以在

    但是如果在选数字时没有使用均匀分布呢?例如可以用泊松分布。

    声明:本内容来源网络版权属于原作者

    图片来源网络,不代表本公众号立场如有侵权,联系删除

    AI博士私人微信还有少量空位



基本积分公式均直接由基本导数公式表得到因此,导数运算的基础好坏直接影响积

分的能力应熟记一些常用的积分公式

因为求不定积分是求导数的逆运算

所以由基本導数公式对应可以得到基本积分公式

我要回帖

 

随机推荐