为什么梯度方向是函数局部上升最快的方向
谈机器学习,免不了要讲损失函数;讲损失函数,避不开梯度下降;运用梯度下降,必先确定梯度方向。为什么梯度方向是函数局部上升最快的方向? 这里首先引入[泰勒公式](https://baike.baidu.com/item/泰勒公式):若函数f(x)在包含\(x_0\)的某个闭区间[a,b]上具有n阶...
谈机器学习,免不了要讲损失函数;讲损失函数,避不开梯度下降;运用梯度下降,必先确定梯度方向。为什么梯度方向是函数局部上升最快的方向?
这里首先引入泰勒公式:若函数f(x)在包含\(x_0\)的某个闭区间[a,b]上具有n阶导数,且在开区间(a,b)上具有(n+1)阶导数,则对闭区间[a,b]上任意一点x,成立下式:
其中,\(f^{(n)}(x)\)表示f(x)的n阶导数,等号后的多项式称为函数f(x)在\(x_0\)处的泰勒展开式,剩余的\(R_n(x)\)是泰勒公式的余项,是\((x-x_0)^n\)的高阶无穷小。
因此,根据泰勒公式有,
公式左边为“函数增量”,即“函数局部上升的量”,它在什么时候取最大值呢?
这里引入点积的几何定义:设二维空间内有两个向量\(\vec{a}\)和\(\vec{b}\),\(|\vec{a}|\)和\(|\vec{b}|\)表示向量\(\vec{a}\)和\(\vec{b}\)的大小,它们的夹角为\(\theta(0 ≤ \theta ≤ \pi)\),则内积定义为以下实数:
综上所述,结合梯度下降,可知\(\nabla f(x)^T\)和\(\Delta x\)都是向量,当梯度向量\(\nabla f(x)^T\)和\(\Delta x\)的方向相同时(\(\theta = 0\)),点积最大为1,即函数局部上升的量最大。所以梯度方向是函数局部上升最快的方向。
所以,在做梯度下降算法的时候,使用的是梯度方向的反方向!