推荐阅读时间:8min~15min
主要内容:
为什么梯度的负方向是局部下降最快的方向?
刚接触梯度下降这个概念的时候,是在学习机器学习算法的时候,很多训练算法用的就是梯度下降,然后资料和老师们也说朝着梯度的反方向变动,函数值下降最快,但是究其原因的时候,很多人都表达不清楚。所以我整理出自己的理解,从方向导数这个角度把这个结论证明出来,让我们知其然也知其所以然~
一年前从基本的原理证明进行解释,见下:
为什么梯度反方向是函数下降最快的方向?(请戳我)
当我们在某个要优化的函数,这里设为f(x) ,我们在x点处,然后沿方向 v进行移动,到达f(x+v),图示表示了移动过程:
上图显示了从A点,移动到B点的过程。那么 v方向是什么的时候,局部下降的最快呢?
换成数学语言来说就是, f(x+v)-f(x)的值在 v是什么的时候,达到最大!
下面进行讲解:
则 f(x+v)-f(x)=d f(x)v ,则我们可以得出: d f(x)v 为函数值的变化量,我们要注意的是 d f(x) 和 v 均为向量, d f(x)v 也就是两个向量进行点积,而向量进行点积的最大值,也就是两者共线的时候,也就是说 v 的方向和 d f(x) 方向相同的时候,点积值最大,这个点积值也代表了从A点到B点的上升量。点积说明如下:
而 df(x)正是代表函数值在x处的梯度。前面又说明了v的方向和df(x)方向相同的时候,点积值(变化值)最大,所以说明了梯度方向是函数局部上升最快的方向。也就证明了梯度的负方向是局部下降最快的方向!