首页 > 其他分享 >随机梯度下降法的数学基础

随机梯度下降法的数学基础

时间:2023-01-18 16:00:41浏览次数:58  
标签:partial 函数 导数 梯度 数学 随机 方向 变化率

梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法)。因此,有必要从头理解梯度的来源和意义。本文从导数开始讲起,讲述了导数、偏导数、方向导数和梯度的定义、意义和数学公式,有助于初学者后续更深入理解随机梯度下降算法的公式。大部分内容来自维基百科和博客文章内容的总结,并加以个人理解。

导数

导数(英语:derivative)是微积分学中的一个概念。函数在某一点的导数是指这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。当函数 $f$ 的自变量在一点 $x_0$ 处产生一个增量时 $h$ 时,函数输出值的增量与自变量增量 $h$ 的比值在 $h$ 趋于 0 时的极限如果存在,则将这个比值定义为 $f$ 在 $x_0$ 处的导数,记作 $f'(x_0)$、$\frac{\mathrm{d}f}{\mathrm{d}x}(x_0)$ 或 $\left.\frac{\mathrm{d}f}{\mathrm{d}x}\right|_{x=x_0}$。

导数是函数的局部性质。不是所有的函数都有导数,一个函数也不一定在所有的点上都有导数。若某函数在某一点导数存在,则称其在这一点可导(可微分),否则称为不可导(不可微分)。如果函数的自变量和取值都是实数的话,那么函数在某一点的导数就是该函数所代表的曲线在这一点上的切线斜率。

对于可导的函数 $f$,$x \mapsto f'(x)$ 也是一个函数,称作 $f$ 的导函数。导数示例如下图所示:

函数每个位置处的导数

导数的一般定义如下:

如果实函数 $f$ 在点 $a$ 的某个领域内有定义,且以下极限(注意这个表达式所定义的函数定义域不含 $a$ )

$$ {\displaystyle \lim _{x\to a}{\frac {f(x)-f(a)}{x-a}}} $$

存在,则称 $f$ 于 $a$ 处可导,并称这个极限值为 $f$于$a$ 处的导数,记作 $f'(a)$。

偏导数

偏导数的作用与价值在向量分析和微分几何以及机器学习领域中受到广泛认可。

导数是一元函数的变化率(斜率),导数也是函数,可以理解为函数的变化率与位置的关系。

那么如果是多元函数的变化率问题呢?答案是偏导数,定义为多元函数沿坐标轴的变化率

偏导数是多元函数“退化”成一元函数时的导数,这里“退化”的意思是固定其他变量的值,只保留一个变量,依次保留每个变量,则 $N$ 元函数有 $N$ 个偏导数。

如果一个变量对应一个坐标轴,那么偏导数可以理解为函数在每个位置处沿着自变量坐标轴方向上的导数(切线斜率)。

在数学中,偏导数(英语:partial derivative)的定义是:一个多变量的函数(或称多元函数),对其中一个变量(导数)微分,而保持其他变量恒定。函数 $f$ 关于变量 $x$ 的偏导数记为 $f'(x)$ 或 $\frac{\partial f}{\partial x}$。偏导数符号 $\partial$ 是全导数符号 $d$ 的变体。

假设 $f$ 是一个多元函数。例如:

$$z = f(x, y) = x^2 + xy + y^2$$

我们把变量 $y$ 视为常数,通过对方程求导,我们可以得到函数 $f$ 关于变量 $x$ 的偏导数:

$${\displaystyle {\frac {\partial f}{\partial x}} = 2x + y}$$

同理可得,函数 $f$ 关于变量 $y$ 的偏导数:

$${{\frac {\partial f}{\partial y}} = x + 2y}$$

方向导数

在前面导数和偏导数的定义中,均是沿坐标轴正方向讨论函数的变化率。那么当我们讨论函数沿任意方向的变化率时,也就引出了方向导数的定义,即:某一点在某一趋近方向上的导数值

通俗理解就是:我们不仅要知道函数在坐标轴正方向上的变化率(即偏导数),而且还要设法求得函数在其他特定方向上的变化率(方向导数)。如下图所示,点 $P$ 位置处红色箭头方向的方向导数为黑色切线的斜率。图片来自链接 Directional Derivative

Directional Derivative Visual

方向导数的定义参考下图,来源-直观理解梯度,以及偏导数、方向导数和法向量等

方向导数计算推导

梯度

梯度,写作 $\nabla f$ 或 grad $f$,二元时为($\frac{\partial z}{\partial x}, \frac{\partial z}{\partial y}$)。梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法)。

在向量微积分中,梯度(英语:gradient)是一种关于多元导数的概括。平常的一元(单变量)函数的导数是标量值函数,而多元函数的梯度是向量值函数。

就像一元函数的导数表示这个函数图形的切线的斜率,如果多元函数在点 $P$ 上的梯度不是零向量,则它的方向是这个函数在 $P$ 上最大增长的方向、而它的量是在这个方向上的增长率

可以从以下两个例子理解梯度的意义:

  1. 假设有一个房间,房间内所有点的温度由一个标量场 $\phi$ 给出的,即点 $(x,y,z)$ 的温度是 $\phi(x,y,z)$。假设温度不随时间改变。然后,在房间的每一点,该点的梯度将显示变热最快的方向。梯度的大小将表示在该方向上的温度变化率。

  2. 考虑一座高度函数为 $H$ 的山,山上某点 $(x, y)$ 的高度是 $H(x, y)$,点 $(x,y)$ 的梯度是在该点坡度(或者说斜度)最陡的方向。梯度的大小会告诉我们坡度到底有多陡。

总结梯度的几何意义:

  • 当前位置的梯度方向,为函数在该位置处方向导数最大的方向,也是函数值上升最快的方向,反方向为下降最快的方向;
  • 当前位置的梯度长度(模),为最大方向导数的值。

总结

  • 方向导数是各个方向上的导数。
  • 偏导数连续才有梯度存在。
  • 梯度的方向是方向导数中取到最大值的方向,梯度的值是方向导数的最大值。

参考资料

  1. 维基百科-偏导数
  2. 直观理解梯度,以及偏导数、方向导数和法向量等

标签:partial,函数,导数,梯度,数学,随机,方向,变化率
From: https://blog.51cto.com/armcvai/6019269

相关文章

  • 【纯感性】【无数学公式】关于状态估计的总结和一点思考
    推导的几种方法贝叶斯推断根据贝叶斯推断可以直接求出后验概率且贝叶斯推断的分母一般可以忽略或者涵盖在了分子前的系数那里联合高斯概率密度对于一对服从多元正态......
  • word2vec数学推导过程
    ​​WelcomeToMyBlog​​word2vec包含两种框架,一种是CBOW(ContinuousBag-of-WordsModel),另一种是Skip-gram(ContinuousSkip-gramModel),如下图所示。这两种模型的任......
  • 为什么梯度方向是函数值增大最快的方向
    ​​WelcomeToMyBlog​​​梯度下降中,梯度反方向是函数值下降最快的方向,说明梯度方向是函数值上升最快的方向.下面给出说明,基础好的可以直接看最后一部分:沿梯度......
  • Gradient descent梯度下降(Steepest descent)
    ​​WelcomeToMyBlog​​​梯度下降(gradientdescent)也叫最速下降(steepestdescent),用来求解无约束最优化问题的一种常用方法,结果是局部最优解,对于目标函数为凸......
  • SVD奇异值分解数学原理
    ​​WelcomeToMyBlog​​​推导完PCA再来看看SVD概述奇异值分解(singularvaluedecomposition)可以分解任意形状的矩阵,PCA是对方阵操作,所以SVD适用范围更A=UΣV^t......
  • php生成随机数
    /***生成随机数*@paramint$length*@returnstring*/functionrandom_keys($length){$pattern=array('1','2','3','4','5','6','7','8','9'......
  • 2023年江苏省大学生数学竞赛
    考试信息2023年4月29日前:全省各参赛院校将参加省赛的学生人数和参赛名单提交2023年5月27日:竞赛时间开始准备:最迟2月底本科一级A:一元与多元微积分,空间解析几何,数项级数......
  • 03-Tcl数学表达式及expr命令
    3Tcl书写表达式及expr命令Tcl提供了有效的数学运算和逻辑运算功能。通过expr可以实现对数学表达式的分析和计算。3.1数学与逻辑运算符运算符说明-+~!一......
  • 数学笔记本
    已知\(\sum(a_i+b_i)=100\),求\(\suma_ib_i(100-a_i-b_i)\)最大值。解:\(\suma_ib_i(100-a_i-b_i)\)\(\le\dfrac{1}{4}\sum(a_i+b_i)^2(100-a_i-b_i)......
  • 【机器学习】集成学习(Bagging)——随机森林(RandomForest)(理论+图解+公式推导)
    如果需要完整代码可以关注下方公众号,后台回复“代码”即可获取,阿光期待着您的光临~文章目录​​一、引言​​​​二、随机森林​​​​1.数据抽样​​​​2.集成模型结果​......