三种梯度下降方式区别仅在于求梯度所用到的X数据集的样本数量不同!
全量梯度下降(BGD)
全部的样本都用上
优点:
每次都会朝着正确的方向进行,最终保证收敛到极值点
缺点:
每次学习实践过长,并且如果训练集很大以至于需要消耗大量的内存,
不能进行在线参数模型更新。
随机梯度下降(SGD)
每次从训练集中选择一个样本进行学习
优点:
每次只选择一个样本学习,那么学习的速度非常快,并且可以在线更新模型。
缺点:
每次更新可能不会按照正确的方向进行,可能有扰动。
扰动也有好处,有可能从一个局部极小值跳到另一个局部极小值
小批量梯度下降(折中的方法)(min_batchGD)
在每次更新速度和更新次数之间取一个平衡
优点:相较于随机梯度下降降低了收敛波动性,是更新更加稳定。
相较于全量梯度下降,提供了更新速度,不必担心内存瓶颈可以利用矩阵运算高效计算