每日十分钟深度学习数学基础-详解偏导数、方向导数与梯度
每日十分钟深度学习数学基础-详解偏导数、方向导数与梯度
在深度学习中,数学基础是至关重要的。本文将详细讲解偏导数、方向导数和梯度等核心概念,并进一步介绍梯度下降算法的原理和步骤。
1. 偏导数
偏导数是多元函数在某一点处沿坐标轴方向的变化率。对于函数 (f(x, y)),其在点 ((x_0, y_0)) 处对 (x) 和 (y) 的偏导数分别定义为:
[
f_x(x_0, y_0) = \lim_{\Delta x \to 0} \frac{f(x_0 + \Delta x, y_0) - f(x_0, y_0)}{\Delta x}
]
[
f_y(x_0, y_0) = \lim_{\Delta y \to 0} \frac{f(x_0, y_0 + \Delta y) - f(x_0, y_0)}{\Delta y}
]
从图像上看,函数 (f(x, y)) 在点 ((x_0, y_0)) 处的偏导数可以理解为:以 (x = x_0) 或 (y = y_0) 作平面,该平面截取曲面得到的一条线,该点偏导数即为该切线的斜率。
2. 方向余弦
方向余弦是描述空间中向量方向的参数,对于三维空间中的向量 (\vec{l} = (l_x, l_y, l_z)),其方向余弦定义为:
[
\cos \alpha = \frac{l_x}{|\vec{l}|}, \quad \cos \beta = \frac{l_y}{|\vec{l}|}, \quad \cos \gamma = \frac{l_z}{|\vec{l}|}
]
其中,(\alpha)、(\beta)、(\gamma) 分别是向量 (\vec{l}) 与 (x)、(y)、(z) 轴的夹角。
3. 方向导数
方向导数描述了函数在某一点沿任意方向的变化率。假设函数 (f(x, y)) 在点 ((x_0, y_0)) 处沿方向 (\vec{l} = (\cos \alpha, \cos \beta)) 的方向导数,可以通过以下方式计算:
设 (A(x_0, y_0)),(B(x_0 + t \cos \alpha, y_0 + t \cos \beta)),则方向导数定义为:
[
\frac{\partial z}{\partial l}{x_0, y_0} = \lim{t \to 0} \frac{\Delta z}{t} = \lim_{t \to 0} \frac{f(x_0 + t \cos \alpha, y_0 + t \cos \beta) - f(x_0, y_0)}{t}
]
根据定理,方向导数可以表示为:
[
\frac{\partial f}{\partial l} = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) \cdot (\cos \alpha, \cos \beta)
]
其中,(\left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right)) 即为梯度。
偏导数是方向导数的特例,当方向 (\vec{l}) 分别与 (x) 轴和 (y) 轴重合时,方向导数即为偏导数。
4. 梯度(Gradient)
梯度是方向导数的一个重要概念,对于函数 (f(x, y)),其梯度定义为:
[
\nabla f(x, y) = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right)
]
4.1 什么是梯度下降
梯度下降是一种优化算法,用于寻找函数的最小值。其基本思想是沿着梯度的反方向更新参数,从而逐步逼近函数的最小值点。
4.2 梯度的概念
梯度是一个向量,其方向指向函数值增长最快的方向,而其大小表示增长的速率。在多元函数中,梯度是一个向量,其分量为各变量的偏导数。
4.3 梯度下降公式
梯度下降算法的核心公式为:
[
\theta_{i+1} = \theta_i - \alpha \frac{\partial J(\theta)}{\partial \theta_i}
]
其中:
- (\theta_i) 是当前迭代的参数值
- (\alpha) 是学习率,控制每次更新的步长
- (\frac{\partial J(\theta)}{\partial \theta_i}) 是损失函数 (J(\theta)) 关于参数 (\theta_i) 的偏导数
梯度下降算法的步骤通常包括:
- 给定待优化的连续可微分函数 (J(\theta))、学习率 (\alpha) 以及一组初始参数值
- 计算当前参数下的梯度
- 根据梯度更新参数
- 重复步骤2和3,直到满足停止条件(如梯度的模小于某个阈值)
参考视频
- 方向导数和梯度的直观理解
- 偏导数、方向导数和梯度