需要掌握:
介绍
在一个多变量函数里,只让一个变量变化,其他变量都固定时,函数的变化率。
为什么需要偏导数?
当函数只有一个变量时,比如
y = f(x)
我们用普通导数 dy/dx 就能描述它的变化率。
但现实世界(尤其是深度学习)里,函数往往有很多变量,比如:
- z = f(x, y)
- 损失 L = f(w1, w2, w3, …)
这时你想知道:
- 当 w1 变一点点,损失会怎么变?
- w2 变一点点,损失会怎么变?
- 其他参数保持不变。
这就是偏导数要解决的问题。
偏导数的数学定义
对函数:
z = f(x, y)
对 x 的偏导数:把 y 当成常数,只让 x 变化。
\frac{\partial z}{\partial x} = \lim_{\Delta x \to 0} \frac{f(x+\Delta x, y) - f(x, y)}{\Delta x}
对 y 的偏导数:把 x 当成常数,只让 y 变化。
\frac{\partial z}{\partial y} = \lim_{\Delta y \to 0} \frac{f(x, y+\Delta y) - f(x, y)}{\Delta y}
符号 ∂ 读作“偏”,意思是“只让这个变量动”。
例子
函数:
z = x² + 3xy + y²
求:∂z/∂x 和 ∂z/∂y
求 ∂z/∂x(把 y 当常数)
- x² 的导数是 2x
- 3xy 的导数是 3y(y 是常数)
- y² 的导数是 0(完全是常数)
所以:∂z/∂x = 2x + 3y
求 ∂z/∂y(把 x 当常数)
- x² 的导数是 0
- 3xy 的导数是 3x
- y² 的导数是 2y
所以:∂z/∂y = 3x + 2y
偏导数的几何意义
对 z = f(x, y)来说:
- ∂z/∂x:沿着 x 轴方向的斜率
- ∂z/∂y:沿着 y 轴方向的斜率
想象你站在一座山上:
- x 轴是往东走
- y 轴是往北走
- ∂z/∂x 是往东走时山坡有多陡
- ∂z/∂y 是往北走时山坡有多陡
这两个斜率合在一起,就是“梯度”,指向最陡的上坡方向。
偏导数和梯度下降(深度学习里最重要的用途)
在深度学习中,损失函数 L 是关于所有参数 w 的函数:
L = f(w1, w2, w3, ...)
训练的目标是让 L 尽可能小。
偏导数告诉我们:
- 改变 w1 一点点,L 会变多少?
- 改变 w2 一点点,L 会变多少?
梯度下降更新规则:
w = w - η * (∂L/∂w)
意思是:
- 如果
∂L/∂w是正的 → 增大 w 会让 L 变大 → 要减小 w - 如果
∂L/∂w是负的 → 增大 w 会让 L 变小 → 要增大 w
这就是训练模型的数学本质。
总结
偏导数就是:
多变量函数中,只让一个变量变化,其他变量固定时的变化率。
它告诉我们:
- 每个变量对函数值的“单独影响”
- 梯度下降该往哪个方向走
