之前一直使用梯度法,本文系统整理一下梯度的几何解释,为后面搜索算法的理解打基础。参考文献:运筹学(原书第2版)—[美]罗纳德L.拉丁(Ronald L.Rardin)http://www.cmpedu.com/books/book/2066930.htm
1. 方向步长(direction-step) 范式
“方向步长范式是几乎所有搜索算法的核心。”
其中 是步长,
是搜索方向。
定义1:如果对于足够小的
,都有
的目标值优于
,则称
是当前解的一个改进方向(improving direction)。
定义2:如果对于足够小的
,都有
满足所有约束条件,则称
是当前解的一个可行方向。
2. 曲面、法线、切面与梯度的关系
任意可微函数 的梯度为
由于每个偏导数都是目标函数在当前解的斜率或者随坐标方向变化的变化率,因此梯度描述了目标函数的形状。下面描述梯度与曲面的法线的关系。
梯度在函数图像上是切线,指向函数值增大的方向;在等高线图上是法向量,指向函数值增大的方向。
例:(参考:直观上理解“梯度”与“法向量”的关系 - 知乎)假设 是一个三维曲面,实际上这可看作是函数
一个等高面,如图2.1所示。曲面上的某一个点
的法向量为
,该点的切面上的任意一个向量
与法向量垂直(注:
表示一个
指向
的向量),则可得到曲面/等高面
的切面方程为
因此,一个函数
的梯度方向是
变化得最快的方向,自然就垂直于该函数的等值面。因为梯度是脱离该曲面最迅速的方向,也就能造成
变化得最剧烈。
图2.1 曲面、法线和梯度的关系
图2.2 梯度在函数图像上是切线方向
图2.3 梯度垂直于等值线
3. 梯度与改进方向的代数关系
考虑函数 ,记
是一个等值面,则由上节可知该等值面在
处的切面方程为
所以,即当步长
足够小时,有
函数值的变化量
因此,对于最小化问题,如果
,则
是改进方向,大于0否则不是;对于最大化问题反之。等于0需要其他条件判断。
所以可以直接使用梯度 作为改进方向,即梯度下降法或最速下降法。
从几何的角度讲,对于最小化问题,改进方向需要与梯度方向的夹角大于90°;对于最大化问题,改进方向需要与梯度的夹角小于90°。