机器学习-梯度和方向导数

梯度是向量,是输入空间的向量。其方向指向函数值上升最快的方向,模是值函数的陡峭程度。模越大,越陡峭。

方向导数是标量,指函数值沿着某一方向v\vec{v}的变换率。 vf(x)=limtf(x+tv)f(x)t\nabla_v f(\vec{x})=\lim_{t→∞}\frac{f(\vec x+t\vec v)-f(\vec x)}{t}

单位长度内,上升最多的方向是梯度所指的方向,梯度方向的方向导数指是梯度的模。

沿v\vec v的方向导数和梯度的关系: vf(x)=vf(x),f(x)是点x的梯度,是内积\nabla_v f(\vec{x})=\vec{v}\cdot\nabla f(\vec{x}),\\ \nabla f(\vec{x})是点\vec x的梯度,\cdot是内积 即使某点的梯度不存在,方向导数也可能存在。这时候可以用定义去求。

vffvf(x;v)Dfx(v)f(x)v\nabla_v f,f'_v,f'(x;v),Df_x(v),\frac{\partial f(x)}{\partial v}都是指方向导数,为了省事向量的符号都没有打。

如果在方向v\vec v上,方向导数小于0,那么在v\vec v上总可以找到一小步tˉ\bar t,使得f(x+tv)<f(x)t(0,tˉ)f(\vec x+t\vec v)<f(\vec x),t ∈(0,\bar t)。当方向导数大于0,也有类似的结论。