最近,看了斯坦福大学讲的梯度下降算法的视频,对其中的批量梯度下降算法(batch gradient descent algorithm,BGD)和随机梯度下降算法(Stochastic gradient descent algorithm,SGD)的区别还是不太理解。在网上查了一下,给出自己的理解:
样本个数为m,x为n维的向量。
(1)批量梯度下降:
权值更新公式:
从公式中可以看出,批量梯度下降算法每迭代一步,要用到训练集的所有样本,最后得到的是一个全局最优解。
(2)随机梯度下降:
权值更新公式:
也是看公式,能够发现随机梯度的权值更新公式里调整项没有累加符号,说明随机梯度下降中只用到了训练集的一个样本,最后得到的可能是全局最优解,也可能是局部最优解。

本文探讨了机器学习中批量梯度下降(BGD)与随机梯度下降(SGD)的区别。批量梯度下降每步迭代使用所有样本,寻求全局最优解;而SGD每次仅用一个样本,可能找到全局或局部最优解。
最低0.47元/天 解锁文章
2617





