该文章讲述了梯度下降的一点基础知识,包括多元函数求偏导,函数的驻点、极值点、鞍点,凸函数和梯度下降法。在梯度
下降法中,使用一阶泰勒级数展开式能够证明梯度是下降的。
1、假设有多元函数 F(x) = F(x1,x2,...,xn), $\frac{\partial F}{\partial x}$ :表示函数F分别对每一个自变量x求导。
举例:二元函数F(x1,x2) = (3x1+4x2)2, 计算F在点(2,3)处的梯度。
F针对x1、x2 的偏导数如下:$\frac{\partial F}{\partial x_1}=18x_1+24x_2$
$\frac{\partial F}{\partial x_2}=24x_1+32x_2$
所以F在(2,3)处的梯度为(18*2+24*3,24*2+32*3) = (108,144), 记为:
$\frac{\partial F}{\partial x_x=(2,3)}=\left[\frac{108}{144}\right]$
2、导数计算的链式法则:
多个函数和的导数:多个函数和的导数等于多个函数导数的和
假设:F(x)=$\sum_iF_i(x)$
则: $\frac{\partial F}{\partial x}=\sum_i\frac{F_i}{\partial x}$
复合函数的导数:
假设:复合函数f(g(x)),该函数针对自变量x的导数如下:
$\frac{\partial f}{\partial x}=\frac{\partial f}{\partial g}\frac{\partial g}{\partial x}$
3、单变量函数的驻点、极值点、鞍点
驻点(stationary point)是指函数f(x)的一阶导数$\frac{\partial f}{\partial x}=0$的点。驻点有可能是(极小值点,极大值点,鞍点)。
极小值点的充分必要条件是:函数f(x)在该点的一阶导数为0,为驻点,并且在该点的二阶导数大于0。
极大值点的充分必要条件是:函数f(x)在该点的一阶导数为0,为驻点,并且在该点的二阶导数小于0。
鞍点:函数f(x)在$x_1$点处的一阶导数和二阶导数都为0。
4、凸函数
凸函数的局部极小值点为全局最小值点(即极小值点也是最小值点)
5、梯度下降法:迭代寻找下一个点$x_i+1$,使$f(x_i+1)$<$f(x_i)$。
假设:求$min_x(x-1)^2$, 即计算函数f(x)=$(x-1)^2$的最小值点。
问题:怎么在初始化$x_1$之后,找到一个$x_2$,使$f(x_2)$<$f(x_1)$呢?
这时就要用到f(x)的一阶泰勒级数展开式。
$f_taylor1(x)=f(x_1)+f(x_1)(x-x_1)$
当x在$x_1$附近很小的邻域时,$f(x)$约等于$f_{taylor_1}(x)$,取$x_2 = x_1 - {\eta} f'(x_1)$,令 ${\eta}$ 等于一个很小的大于0的数,
就可以保证$x_1$在$x_1$附近很小的邻域内,所以有:
$f(x_2) \simeq f_ {taylor_1} (x_2)=f(x_1)+f'(x_1)(x_2-x_1)$
因为:
$f'(x_1)(x_2-x_1)=f'(x_1)(x_1-{\eta}f'(x_1)-x_1)=-{\eta}(f'(x_1))^2\leq0$
所以:
$f(x_2) \leq f(x_1)$