几种利用梯度下降的优化方式

2019-05-29  本文已影响0人  Woooooooooooooo

文章参考其他博文,再次表示感谢,侵删

假设利用回归方程拟合数据V

以均方误差作为损失函数,损失函数即我们所要优化的函数

一般会选用梯度下降法(Gradient Descent)进行优化。优化时有不同的方式,也可理解为训练技巧。


最速梯度下降法/批量梯度下降法(Batch Gradient Descent,BSD)

1、对目标函数求导
2、沿倒数方向移动θ
(学习率可能需要更新)


随机梯度下降法(stochastic gradient descent,SGD)

使用最速梯度下降法,将进行N次迭代,直到目标函数收敛,或者到达某个既定的收敛界限。每次迭代都将对m个样本进行计算,计算量大。为了简便计算,SGD每次迭代仅对一个样本计算梯度,直到收敛。

1、由于SGD每次迭代只使用一个训练样本,因此这种方法也可用作online learning。
2、每次只使用一个样本迭代,若遇上噪声则容易陷入局部最优解。


Mini-batch Gradient Descent

介于BSD和SGD之间的一种优化算法。每次选取一定量的训练样本进行迭代。从公式上似乎可以得出以下分析:速度比BSD快,比SGD慢;精度比BSD低,比SGD高。


带Mini-batch的SGD

1、选择n个训练样本(n<m,m为总训练集样本数)
2、在这n个样本中进行n次迭代,每次使用1个样本
3、对n次迭代得出的n个gradient进行加权平均再并求和,作为这一次mini-batch下降梯度
4、不断在训练集中重复以上步骤,直到收敛。

上一篇下一篇

猜你喜欢

热点阅读