开启生长之旅!这是我参与「日新方案 2 月更文挑战」的第 8 天,点击查看活动概况。
梯度是微积分中的基本概念,也是机器学习解优化问题常常运用的数学工具(梯度下降算法)。因此,有必要从头了解梯度的来源和含义。本文从导数开始讲起,讲述了导数、偏导数、方向导数和梯度的界说、含义和数学公式,有助于初学者后续更深入了解随机梯度下降算法的公式。大部分内容来自维基百科和博客文章内容的总结,并加以个人了解。
导数
导数(英语:derivative
)是微积分学中的一个概念。函数在某一点的导数是指这个函数在这一点邻近的改动率。导数的实质是经过极限的概念对函数进行部分的线性迫临。当函数 ff 的自变量在一点 x0x_0 处发生一个增量时 hh 时,函数输出值的增量与自变量增量 hh 的比值在 hh 趋于 0 时的极限假如存在,则将这个比值界说为 ff 在 x0x_0 处的导数,记作 f′(x0)f'(x_0)、dfdx(x0)\frac{\mathrm{d}f}{\mathrm{d}x}(x_0) 或 dfdx∣x=x0\left.\frac{\mathrm{d}f}{\mathrm{d}x}\right|_{x=x_0}
导数是函数的部分性质。不是所有的函数都有导数,一个函数也不一定在所有的点上都有导数。若某函数在某一点导数存在,则称其在这一点可导(可微分),不然称为不行导(不行微分)。假如函数的自变量和取值都是实数的话,那么函数在某一点的导数便是该函数所代表的曲线在这一点上的切线斜率。
对于可导的函数 ff,x↦f′(x)x \mapsto f'(x) 也是一个函数,称作 ff 的导函数。导数示例如下图所示:
导数的一般界说如下:
假如实函数 ff 在点 aa 的某个领域内有界说,且以下极限(留意这个表达式所界说的函数界说域不含 aa )
存在,则称 ff 于 aa 处可导,并称这个极限值为 ff于aa 处的导数,记作 f′(a)f'(a)。
偏导数
偏导数的作用与价值在向量分析和微分几许以及机器学习领域中遭到广泛认可。
导数是一元函数的改动率(斜率),导数也是函数,能够了解为函数的改动率与方位的关系。
那么假如是多元函数的改动率问题呢?答案是偏导数,界说为多元函数沿坐标轴的改动率。
偏导数是多元函数“退化”成一元函数时的导数,这儿“退化”的意思是固定其他变量的值,只保存一个变量,顺次保存每个变量,则 NN 元函数有 NN 个偏导数。
假如一个变量对应一个坐标轴,那么偏导数能够了解为函数在每个方位处沿着自变量坐标轴方向上的导数(切线斜率)。
在数学中,偏导数(英语:partial derivative
)的界说是:一个多变量的函数(或称多元函数),对其间一个变量(导数)微分,而保持其他变量恒定。函数 ff 关于变量 xx 的偏导数记为 f′(x)f'(x) 或 ∂f∂x\frac{\partial f}{\partial x}。偏导数符号 ∂\partial 是全导数符号 dd 的变体。
假定 ff 是一个多元函数。例如:
z=f(x,y)=x2+xy+y2z = f(x, y) = x^2 + xy + y^2
咱们把变量 yy 视为常数,经过对方程求导,咱们能够得到函数 ff 关于变量 xx 的偏导数:
∂f∂x=2x+y{\displaystyle {\frac {\partial f}{\partial x}} = 2x + y}
同理可得,函数 ff 关于变量 yy 的偏导数:
∂f∂y=x+2y{{\frac {\partial f}{\partial y}} = x + 2y}
方向导数
在前面导数和偏导数的界说中,均是沿坐标轴正方向讨论函数的改动率。那么当咱们讨论函数沿恣意方向的改动率时,也就引出了方向导数的界说,即:某一点在某一趋近方向上的导数值。
浅显了解便是:咱们不仅要知道函数在坐标轴正方向上的改动率(即偏导数),而且还要设法求得函数在其他特定方向上的改动率(方向导数)。如下图所示,点 PP 方位处红色箭头方向的方向导数为黑色切线的斜率。图片来自链接 Directional Derivative。
方向导数的界说参考下图,来源-直观了解梯度,以及偏导数、方向导数和法向量等。
梯度
在向量微积分中,梯度(英语:gradient
)是一种关于多元导数的概括。往常的一元(单变量)函数的导数是标量值函数,而多元函数的梯度是向量值函数。
就像一元函数的导数表明这个函数图形的切线的斜率,假如多元函数在点 PP 上的梯度不是零向量,则它的方向是这个函数在 PP 上最大增加的方向、而它的量是在这个方向上的增加率。
梯度,写作 ∇f\nabla f 或 grad ff,二元时为(∂f(x,y)∂x,∂f(x,y)∂y\frac{\partial f(x,y)}{\partial x}, \frac{\partial f(x,y)}{\partial y})。梯度是微积分中的基本概念,也是机器学习解优化问题常常运用的数学工具(梯度下降算法)。凭借前面方向导数的推导公式,咱们能够得到 xyxy 平面上一点 (a,b)(a,b) 处 \theta 方向上的方向导数和其含义如下图:
能够从以下两个实例了解梯度含义:
-
假定有一个房间,房间内所有点的温度由一个标量场 \phi 给出的,即点 (x,y,z)(x,y,z) 的温度是 (x,y,z)\phi(x,y,z)。假定温度不随时间改动。然后,在房间的每一点,该点的梯度将显现变热最快的方向。梯度的大小将表明在该方向上的温度改动率。
-
考虑一座高度函数为 HH 的山,山上某点 (x,y)(x, y) 的高度是 H(x,y)H(x, y),点 (x,y)(x,y) 的梯度是在该点斜度(或者说斜度)最陡的方向。梯度的大小会告诉咱们斜度到底有多陡。
总结梯度的几许含义:
- 当时方位的梯度方向,为函数在该方位处方向导数最大的方向,也是函数值上升最快的方向,反方向为下降最快的方向;
- 当时方位的梯度长度(模),为最大方向导数的值。
总结
- 方向导数是各个方向上的导数。
- 偏导数连续才有梯度存在。
- 偏导数构成的向量为梯度。
- 梯度的方向是方向导数中取到最大值的方向,梯度的值是方向导数的最大值。
参考资料
- 维基百科-偏导数
- 直观了解梯度,以及偏导数、方向导数和法向量等
- AI-EDU: 09.4 神经网络非线性回归的完成
- 如何了解梯度下降法?