随机梯度下降和批量梯度下降的区别

最近,看了斯坦福大学讲的梯度下降算法的视频,对其中的批量梯度下降算法(batch gradient descent algorithm,BGD)和随机梯度下降算法(Stochastic gradient descent algorithm,SGD)的区别还是不太理解。在网上查了一下,给出自己的理解:


样本个数为m,x为n维的向量。

(1)批量梯度下降:

权值更新公式:


从公式中可以看出,批量梯度下降算法每迭代一步,要用到训练集的所有样本,最后得到的是一个全局最优解。


(2)随机梯度下降:

权值更新公式:


也是看公式,能够发现随机梯度的权值更新公式里调整项没有累加符号,说明随机梯度下降中只用到了训练集的一个样本,最后得到的可能是全局最优解,也可能是局部最优解。
































你可能感兴趣的:(梯度下降算法)