本文重点
我们现在已经知道了随机梯度下降算法原理是什么了,但是我们还有一些问题需要解决,当你运行随机梯度下降算法时,如何检测算法是否收敛呢?
批量梯度下降算法
批量梯度下降算法已经收敛的一个标准是画出最优化的代价函数关于迭代次数的变化,我们要保证代价函数J(θ)在每一次的迭代中都是下降的。
随机梯度下降算法
算法每做1000次迭代(1000个样本),我们会得到此时的θ值,然后计算最后1000个样本的cost值的平均值,然后画出来,通过这些画出的图像我们就能检测出随机梯度下降算法是否收敛,可能会得到如下四种情况:
第一种情况(蓝线),算法的代价值其实是在下降,然后会从某一点开始会变缓,这说明算法是基本收敛了。如果试一试更小的学习率,那么算法下降就有可能变得缓慢了,但是有可能得到一个好一点的解(红线),之所以能得到更好的解是因为随机梯度下降不是直接收敛到全局最小值,而是在全局最小值附近反复震荡,所以当我们使用一个小