首页 > 代码库 > 梯度下降

梯度下降

梯度下降是最优化最基本的方法之一,在优化代价函数的时常常需要求函数的最小值,一种直接的方法是求函数在在定义域范围内的极值。但有些函数的极值点并不能简单解出来,这就需要一个逼近的方法,就是梯度法。

函数f在某个点处的梯度方法就是函数上升最快的方向。当求f的最小值时,在逼近最小值的过程中就需要参数沿着梯度的反方向才能找到函数的最小值点。

梯度下降方法的优点是简单直观,算法思想简单;缺点在于收敛的速度较慢,在梯度较小的地方尤其明显;收敛的位置很可能只是某个局部的极值点,而非全局最优解;收敛性与初始值的位置,学习率的选择均有很大关系。

当代价函数由多个样本共同决定,这种拟合函数参数的方法就是批量梯度,可以看到这种方法每迭代一次都需要遍历所有样本;

随机抽取样本,将单个样本的代价视为整体的代价,这种方法的优点在于运算量大大减小。

梯度下降