随机梯度下降(SGD),批量梯度下降(BGD)

损失函数图如下(不是严格的凸函数):
随机梯度下降(SGD),批量梯度下降(BGD)_第1张图片
批量梯度下降:每次迭代更新参数取全部的训练数据,对于每轮迭代每一个参数的更新也取全部数据。
随机梯度下降:每次迭代不取全量数据,对于每轮迭代每个参数的更新只取一个样本进行更新。
批量梯度下降有两个不足:1 训练速度慢,因为每次迭代更新参数都要遍历一遍数据的梯度,这是很费时的。2 不一定能走到全局最优点,有可能落在局部最优点就卡住了,停止迭代。
随机梯度下降解决了BGD的两个不足:1 训练速度快,每次迭代不取全量数据,对于每轮迭代每个参数的更新只取一个样本进行更新。对于凸函数损失函数,这样虽然精度没有BGD高,但最终也会走到最低点的附近。每次迭代的速度快了非常多,但要迭代的次数会比BGD多,但整体收敛的速度比BGD快很多。2 能脱离局部最优点,最终来到全局最优点的附近。

你可能感兴趣的:(算法总结,机器学习,梯度下降)