你所在的位置: 首页 > 正文

每天五分钟机器学习:随机梯度下降算法运行过程中可能出现的情况

2019-08-29 点击:581

  2019 数码实验室

  本文重点

  我们现在已经知道了随机梯度下降算法原理是什么了,但是我们还有一些问题需要解决,当你运行随机梯度下降算法时,如何检测算法是否收敛呢?

  批量梯度下降算法

  批量梯度下降算法已经收敛的一个标准是画出最优化的代价函数关于迭代次数的变化,我们要保证代价函数J(θ)在每一次的迭代中都是下降的。

  随机梯度下降算法

  算法每做1000次迭代(1000个样本),我们会得到此时的θ值,然后计算最后1000个样本的cost值的平均值,然后画出来,通过这些画出的图像我们就能检测出随机梯度下降算法是否收敛,可能会得到如下四种情况:

  

  第一种情况(蓝线),算法的代价值其实是在下降,然后会从某一点开始会变缓,这说明算法是基本收敛了。如果试一试更小的学习率,那么算法下降就有可能变得缓慢了,但是有可能得到一个好一点的解(红线),之所以能得到更好的解是因为随机梯度下降不是直接收敛到全局最小值,而是在全局最小值附近反复震荡,所以当我们使用一个小一点的学习率的时候,最终的震荡就会小,就有可能得到一个更好一点的参数,从而得到一个更低的代价值。

  第二种情况(蓝线),这看起来是已经收敛了,如果此时我们把1000提高到5000组样本,那么此时我们可以得到一条更加平滑的直线(红线),这就是我们增大样本数的情形,当然增大样本的缺点就是:以前我们要想获得图上的一个数据点只需要计算最后1000个样本,而现在需要计算最后5000个样本,因此我们得到关于学习算法的反馈会有一些延迟

  {!-- PGC_COLUMN --}

  第三种情况(蓝线),这种情况下我们可以知道我们的代价函数并没有减少。我们可以增加来使得函数更加平缓,也许便能看出下降的趋势了(红线)或者可能函数图表仍然是颠簸不平且不下降的(洋红色线),那么我们的模型本身可能存在一些错误。

  第四种情况,我们发现曲线实际上是上升的,这是一个很明显的信号,我们此时需要使用一个更小一点的学习率a。

  总结

  我们使用的这种方法不需要定时地扫描整个训练集,来算出整个样本集的代价函数,而是只需要每次对最后 1000 个,或者多少个样本,求一下平均值。

  应用这种方法,你既可以保证随机梯度下降法正在正常运转和收敛,也可以用它来调整学习速率α的大小。

  随机梯度下降算法运行过程中可能出现的情况17.4

  本文重点

  我们现在已经知道了随机梯度下降算法原理是什么了,但是我们还有一些问题需要解决,当你运行随机梯度下降算法时,如何检测算法是否收敛呢?

  批量梯度下降算法

  批量梯度下降算法已经收敛的一个标准是画出最优化的代价函数关于迭代次数的变化,我们要保证代价函数J(θ)在每一次的迭代中都是下降的。

  随机梯度下降算法

  算法每做1000次迭代(1000个样本),我们会得到此时的θ值,然后计算最后1000个样本的cost值的平均值,然后画出来,通过这些画出的图像我们就能检测出随机梯度下降算法是否收敛,可能会得到如下四种情况:

  

  第一种情况(蓝线),算法的代价值其实是在下降,然后会从某一点开始会变缓,这说明算法是基本收敛了。如果试一试更小的学习率,那么算法下降就有可能变得缓慢了,但是有可能得到一个好一点的解(红线),之所以能得到更好的解是因为随机梯度下降不是直接收敛到全局最小值,而是在全局最小值附近反复震荡,所以当我们使用一个小一点的学习率的时候,最终的震荡就会小,就有可能得到一个更好一点的参数,从而得到一个更低的代价值。

  第二种情况(蓝线),这看起来是已经收敛了,如果此时我们把1000提高到5000组样本,那么此时我们可以得到一条更加平滑的直线(红线),这就是我们增大样本数的情形,当然增大样本的缺点就是:以前我们要想获得图上的一个数据点只需要计算最后1000个样本,而现在需要计算最后5000个样本,因此我们得到关于学习算法的反馈会有一些延迟

  {!-- PGC_COLUMN --}

  第三种情况(蓝线),这种情况下我们可以知道我们的代价函数并没有减少。我们可以增加来使得函数更加平缓,也许便能看出下降的趋势了(红线)或者可能函数图表仍然是颠簸不平且不下降的(洋红色线),那么我们的模型本身可能存在一些错误。

  第四种情况,我们发现曲线实际上是上升的,这是一个很明显的信号,我们此时需要使用一个更小一点的学习率a。

  总结

  我们使用的这种方法不需要定时地扫描整个训练集,来算出整个样本集的代价函数,而是只需要每次对最后 1000 个,或者多少个样本,求一下平均值。

  应用这种方法,你既可以保证随机梯度下降法正在正常运转和收敛,也可以用它来调整学习速率α的大小。

  随机梯度下降算法运行过程中可能出现的情况17.4

亚洲城会员登录 版权所有© www.wizshu.com 技术支持:亚洲城会员登录 | 网站地图