梯度下降:BGD、SGD、MBGD的区别

梯度下降法分为三种形式:批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)和小批量梯度下降(Mini-Batch Gradient Descent)

  • 批量梯度下降(BGD)

每次迭代时使用所有的样本来更新参数(速度慢,但迭代次数少;可以将所有的样本放在一个矩阵中,实现并行计算)

伪代码如下:

    梯度下降:BGD、SGD、MBGD的区别_第1张图片

注:(在整个数据集上确定梯度下降的方向)当目标函数为凸函数时,BGD一定可以达到全局最优。

  • 随机梯度下降(SGD)

每次迭代使用一个样本来更新参数(速度快,但是不利于实现并行操作)

 伪代码如下(注意每次迭代时没有求和操作,与批量梯度下降是不同的):

       梯度下降:BGD、SGD、MBGD的区别_第2张图片

注:容易陷入局部最优。(单个样本不能代表整体样本的趋势)

  • 小批量梯度下降(MBGD)

每次迭代使用一批样本来更新参数(batch_size的选择是一个问题)

伪代码如下(假设batch_size的大小为10,样本数量为1000):

       梯度下降:BGD、SGD、MBGD的区别_第3张图片

 

你可能感兴趣的:(Machine,Learing)