梯度下降法的简介及其常见子算法比较
梯度下降法
梯度下降法是一种迭代算法,选取适当的初值
x
(
0
)
{{\rm{x}}^{(0)}}
x(0),不断迭代,更新x的值,进行目标函数的极小化,直到收敛。由于负梯度方向是使函数值下降最快的方向,在迭代的第一步,以负梯度方向更新x的值,从而达到减少函数值的目的。
其步骤:
- 确定优化模型的假设函数及损失函数;
- 初始化参数,随机选取取值范围内的任意值;
- 迭代操作:
计算当前梯度
修改新的变量
计算朝最陡的下坡方向走一步;
判断是否需要终止,如否,梯度更新; - 得到全局最优解或者接近全局最优解。
如何对梯度下降法进行调优
- 算法迭代步长 α \alpha α的选择;
- 参数的初始值选择;
- 标准化处理。
随机梯度下降法和批量梯度下降法的区别
方法 | 特点 |
---|---|
批量梯度下降法 | a)采用所有数据来梯度下降; b)批量梯度下降法在样本量很大时,训练速度慢 |
随机梯度下降法 | a)随机梯度下降用一个样本来梯度下降; b)训练速度很快; c)随机梯度下降法仅仅用一个样本决定梯度方向,导致解有可能不是全局最优; 4)收敛速度来说,随机梯度下降法一次迭代一个样本,导致迭代方向变化很大,不能很快的收敛到局部最优解。 |