Batch gradient descent 就是一次迭代,计算cost的时候使用所有训练样本,然后取平均;
好处:计算出来的梯度方向比较准确,缺点:大数据的时候全量数据无法一次性放到内存中,导致速度很慢;
stochastic gradient descent 每次只使用一个训练样本,计算cost,然后使用这个cost去更新参数;
好处:每次只用一条样本,计算速度快,也不存在内存不够的情况;缺点:计算出来的梯度方向会有较大的抖动,不稳定性较大,容易陷入局部最优点;
Mini-Batch 是两者的折中,假设全样本量为m,Mini-Batch 每次使用1-m之间的数计算cost并更新参数;
Batch gradient descent 的好处是既能使得梯度计算比较准确,震荡较小,而且又同时能保证一次计算下内存足够,加快训练速度;
网友评论