梯度(Gradient)

函数在某点的坡度——一维就是导数,多维就是把每个方向的偏导数打包成一个向量。梯度指向函数值增长最快的方向,所以朝它的反方向走就是在下山。

核心公式

📖 符号说明

符号含义说明
梯度所有偏导数组成的向量,指向最陡上坡方向
偏导数固定其他变量,只看 L 随 x_i 变化的速率

前置知识

一句话理解

梯度就是"脚下的坡度"——告诉你哪个方向是上坡,走反方向就是在下山。

一维:导数判断方向

蒙着眼站在山坡上,用脚感受地面:左脚低右脚高,说明往左是下坡。

L(x)=(x3)2L(x)=(x-3)^2L(x)=(x3)2,导数是 L(x)=2(x3)L'(x)=2(x-3)L(x)=2(x3)

  • 站在 x=5x=5x=5L(5)=4>0L'(5)=4>0L(5)=4>0——导数为正,往右是上坡,应该往左走
  • 站在 x=1x=1x=1L(1)=4<0L'(1)=-4<0L(1)=4<0——导数为负,往右是下坡,应该往右走

规律:永远朝导数的反方向走。

多维:偏导数打包成向量

如果不是一条线而是一个面——有前后和左右两个方向可以走?

每个方向各感受一次坡度。每个方向的坡度就是一个偏导数——固定其他变量,只看一个方向的变化率。把所有方向的偏导数排在一起,就组成了一个向量——这就是梯度,记作 L\nabla LL(读作"nabla L"):

L=(Lx1,Lx2,)\nabla L = \left(\frac{\partial L}{\partial x_1}, \frac{\partial L}{\partial x_2}, \ldots\right)L=(x1L,x2L,)

梯度指向函数值增长最快的方向——最陡的上坡方向。所以要往梯度的反方向走,才是在下山。

这在机器学习中用来做什么

模型有成千上万个参数,梯度告诉每个参数该往哪个方向调整,才能让损失变小。

引用本概念的文章