梯度,到底是什么?很容易混淆。
站在山底,哪个方向爬坡最快,这个容易想象,但问题是,如果所在的高度是我们优化的目标的话,这个爬坡的方向并不是梯度的方向,这个是我们的目标值(函数值)的变化趋势。
我们先看一下定义:
即:梯度是一个向量,而向量就有方向,该方向是方向导数取得最大值的方向,那方向导数是什么?
可见:
- 方向导数是一个数
- 方向指的是函数定义域的内点变化的方向
综上,自变量沿着该方向变化,使函数值变化最大,机器学习中,函数值就是我们的优化目标。当函数值是损失函数值的时候,我们期望的是最小值,这个时候取梯度的反方向,即梯度下降即可。这就是为什么我们经常看到,理解梯度,先画等高线示意图的原因,投影到地面的等高线,其实就是自变量的定义域,也就是机器学习中的参数空间,我们需要知道,怎么更新参数,才能让损失函数值最快地减小。