本文将从导数的几何意义出发来理解梯度下降算法。
(1)一元函数导数的几何意义
对于一元函数在某点的导数,我们可以将其理解成一元函数在该点处的切线的斜率。
(2)偏导数的几何意义
(3)方向导数的几何意义
方向导数与偏导数密切相关。偏导数表示函数沿着坐标轴方向的变化率,而方向导数则表示函数沿着某个特定方向的变化率,当这个特定方向为坐标轴方向时,方向导数此时就变成了偏导数。
上图中,点在xoy平面上的投影是点N,假设向量NQ是二元函数f(x,y)在点N处的梯度。将平面绕着直线旋转,平面会与曲面z=f(x,y)相交于某条曲线,过点做该曲线的切线,则这条切线的斜率就是方向导数。平面绕着直线旋转不同的角度会与曲面z=f(x,y)相交于不同的曲线,每条曲线上的点都对应一条切线,自然也对应着一个切线斜率。在xoypm内,用单位向量e表示方向导数的方向,随着平面绕着直线旋转,当单位向量e的方向与梯度向量NQ的方向相同时,二元函数f(x,y)在点处的方向导数取得最小值(具体原因,可以参考同济大学版下册高等数学)。
过点做具有最大斜率的切线,此处要注意的一点是切线的方向与梯度向量NQ的方向并不是同一个方向。让点沿着切线从点移动到M',点M'在xoy平面上的投影是P。至此,我们可以从向量的坐标运算中推导出梯度下降算法的迭代公式,如下图所示:
参考:
https://blog.csdn.net/u013282174/article/details/79714588
https://blog.csdn.net/baidu_38804282/article/details/77257491
同济大学版高等数学上、下
PS:本文为博主原创文章,转载请注明出处。