Day 6
梯度方法
梯度方法的定义:求取实值函数在Rn上的极小点的方法,在搜索过程中用到了函数的梯度,故称为梯度方法。
*函数水平集概念复习:参照Day3博文[最优化导论(Machine Learning)集合约束和无约束优化问题的基础数学原理及公式]中函数f: Rn -> R的水平集合指的是能够满足f(x) = c的所有x组成的集合,c为常数,因此,对于点x0 ∈ R,若f(x0)=c 则可称该点是水平为c的水平集合中的元素
*若函数f在x0处的梯度为▽f(x0)=Df(x)T {此处函数的一阶导数Df为:Df=[∂f/∂x1, ∂f/∂x2, ......, ∂f/∂xn]}不为零向量,那么它与水平集f(x)=c中任意一条经过x0处的光滑曲线的切向量正交(垂直)
因此,一个实值可微函数在某点处函数值增加最快的方向正交于经过该点的函数水平集(即,在梯度方向上,自变量的细微变动,所导致的目标函数值的增加幅度最大,超过其他的任意方向)
*函数f在点x处,在其可行方向d上的增长率标记为:<▽f(x), d>, ||d||=1
因为||d||=1,由柯西-施瓦茨不等式{柯西施瓦茨不等式:||<=||x||*||y||}
==><▽f(x), d> = ||▽f(x)|| ||1|| = ||▽f(x)||
若令d=▽f(x)/||▽f(x)||
则有:[=xTy]
<▽f(x), ▽f(x)/||▽f(x)||> = ||▽f(x)||
因此,梯度方向▽f(x)就是函数f在x处增加最快的方向
反之,梯度负方向-▽f(x)就是函数f在x处见效最快的方向
故梯度负方向搜索可以得出函数的极小点
*令x(0)作为初始搜索点,并沿着负梯度方向构造一个新点x(0)-å▽f(x(0))可由泰勒定理得出:
f(x(0) - å▽f(x(0))) = f(x(0)) - å||▽f(x(0))||^2+O(å)
所以,如果▽f(x(0)) != 0,那么当å > 0足够小