本文重点
我们前面学习了批量梯度下降和随机梯度下降,这两种各有优点和缺点,那么本节课程我们将学习小批量梯度下降算法,该算法介于两者之间。
小批量梯度下降
批量梯度下降是一次使用所有的训练数据完成一次训练,而随机梯度下降是一次使用一个样本进行一次训练,小批量梯度下降是一次使用b个训练实例进行训练(b是超参数),小批量梯度下降算法有时甚至比随机梯度下降算法还要快一点。
算法
假如我们的训练集大小为m,我们的小批量规模为b,那么我们的小批量梯度下降算法:
每次训练使用b个训练集,然后就完成一次参数更新。
小批量梯度下降和随机梯度下降的比较
小批量梯度下降会有一个额外的超参数b。这个实际使用中需要我们进行调参。
当使用向量化的方式的时候,小批量梯度下降算法可能会比随机梯度下降好。这种情况下,可以快递并行计算b个样本