【通俗易懂讲解梯度下降法,随机梯度下降法】随机梯度下降算法是什么?
随机梯度下降算法是基于梯度下降法中最原始的方法——批量梯度下降法(BGD)的缺点而演变出的改良 。在训练过程中常见的损失函数为:批量梯度下降法(Batch Gradient Descent,简称BGD)的方法是先求偏导,再用每个θ各自的梯度负方向依次更新每个θ:它的效果如图:可以看出是一种思路简单、易于实现的算法,并且在较少迭代次数的情况下就可以得到全局最优解,但是每次迭代都要调用全部数据,如果样本数量(上面式子中的m)较大,将会导致计算极其慢 。
基于这一缺点,随机梯度下降法(Stochastic Gradient Descent,简称SGD)被提出 。它不再每次迭代都用上所有样本,而是每次迭代仅仅对一个样本进行更新,从而达到对于数量庞大的样本只需使用其中的相对少量就把θ最优化的目的 。它的方法是在改写损失函数之后,θ的更新是基于每个样本对theta求偏导后所得梯度:相比BGD算法SGD算法速度大幅提升,几十万条样本基本只需要用上万或者只要上千条样本就饿可以得到结果 。
但是SGD伴随更多噪音、最优化方向准确度下降的问题 。效果如下图,可以看出相比于BGD,SGD迭代次数显著增加,并且并不是每一次迭代都是向着最优化方向 。同时,SGD算法在实现难度上不如BGD算法简单 。虽然理论上BGD比SGD得到全局最优,但是在生产场景中,并不是每一个最优化问题中的目标函数都是单峰的,反而是sgd更容易跳出局部最优 。
推荐阅读
- 如何提高导游的讲解能力,导游讲解能力的培养和提升
- 深度学习优化策略,梯度下降
- 汉语发音是如何演变的,[讲解]汉语语音的发展演变
- 67年福特野马gt500,67年的福特野马GT500怎么样详细讲解一下
- 淘宝官网苹果教育优惠怎么弄,苹果官网的教育优惠把学生证要发过去吗我不懂这个 求大神讲解一下
- 三国快打战甲长什么,《三国快打》战甲玩法讲解
- s8刘邦带妹子怎么样,王者荣耀s8赛季各位置英雄梯度排行
- 成都男人医院署咣标准,讲解成都男性医院三甲
- 炸鸡排店怎么装修,温州装修一文讲解
- 基本电子电路图讲解,电子电路图讲解视频