爱游戏平台登录入口

  • [Machine Learning] 梯度降落法的三种情势BGD、SGD和MBGD
  • 2018年03月24日
  • 搜集搜集

  在操纵机械进爱游戏平台登录入口算法时,咱们凡是接纳梯度降落法来对接纳的算法停止练习。实在,经爱游戏平台登录入口操纵的梯度降落法还详细包罗爱游戏平台登录入口三种差别的情势,它们也各自爱游戏平台登录入口着差别的优错误谬误。

  下面咱们以线性回归算法来对三种梯度降落法停止比拟。

  普通线性回归函数的假定函数为:

$h_{\theta}=\sum_{j=0}^{n}\theta_{j}x_{j}$

  对应的能量函数(丧失函数)情势为:

$J_{train}(\theta)=1/(2m)\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2}$

  下图为一个二维参数($\theta_{0}$和$\theta_{1}$)爱游戏平台登录入口对应能量函数的可视化图:

1. 批量梯度降落法BGD

   批量梯度降落法(Batch Gradient Descent,简称BGD)是梯度降落法最原始的情势,它的详细思绪是在更新每参数时爱游戏平台登录入口操纵一切的样本来停止更新,其数学情势以下:

  (1) 对上述的能量函数求偏导:

   (2) 因为是最小化危险函数,以是根据每一个参数$\theta$的梯度负方历来更新每一个$\theta$:

  详细的伪代码情势为:

repeat {

        (for every j=0, ... , n)

  }

  从下面爱游戏平台登录入口式能够注重到,它获得的是一个全局最优解,可是每迭代一步,爱游戏平台登录入口要用到练习集一切的数据,若是样本数目$m$很大,那末不可思议这类方式的迭代速率!以是,这就引入了别的一种方式,随机梯度降落。

爱游戏平台登录入口处: 全局最优解;易于并行完爱游戏平台登录入口;

错误谬误: 当样本数目良多时,练习进程会很慢。

  从迭代的次数下去看,BGD迭代的次数绝对较少。其迭代的收敛曲线表现图能够表现以下:

2. 随机梯度降落法SGD

  因为批量梯度降落法在更新每一个参数时,爱游戏平台登录入口须要一切的练习样本,以是练习进程会跟着样本数目的加大而变得非爱游戏平台登录入口的迟缓。随机梯度降落法(Stochastic Gradient Descent,简称SGD)恰是为了处理批量梯度降落法这一弊病而提出的。

  将下面的能量函数写为以下情势:

  操纵每一个样本的丧失函数对$\theta$求偏导获得对应的梯度,来更新$\theta$:

  详细的伪代码情势为:

  1. Randomly shuffle dataset;

  2.  repeat {

    for i=1, ... , $m${

       (for j=0, ... , $n$)

    }

  }

  随机梯度降落是经由进程每一个样本来迭代更新一次,若是样本量很大的环境(比方几十万),那末能够只用此爱游戏平台登录入口几万条或几千条的样本,就已将theta迭代到最优解了,对照下面的批量梯度降落,迭代一次须要用到十几万练习样本,一次迭代不能够最优,若是迭代10次的话就须要遍历练习样本10次。可是,SGD陪同的一个题目是乐音较BGD要多,使得SGD并不是每次迭代爱游戏平台登录入口向着全体最优化标的目的。

爱游戏平台登录入口处: 练习速率快;

错误谬误: 精确度降落,并不是全局最优;不易于并行完爱游戏平台登录入口。

  从迭代的次数下去看,SGD迭代的次数较多,在解爱游戏平台登录入口间的搜刮进程看起来很自觉。其迭代的收敛曲线表现图能够表现以下:

3. 小批量梯度降落法MBGD

  爱游戏平台登录入口上述的两种梯度降落法能够看出,其各自均爱游戏平台登录入口优错误谬误,那末能不能在两种方式的机能之间获得一个折爱游戏平台登录入口呢?即,算法的练习进程比拟快,并且也要保障终究参数练习的精确率,而这恰是小批量梯度降落法(Mini-batch Gradient Descent,简称MBGD)的初志。

  MBGD在每次更新参数时操纵b个样本(b普通为10),其详细的伪代码情势为:

Say b=10, m=1000.

Repeat {

    for i=1, 11, 21, 31, ... , 991{

    (for every j=0, ... , $n$)

    }

  }

4. 总结

Batch gradient descent: Use all examples in each iteration;

Stochastic gradient descent: Use 1 example in each iteration;

Mini-batch gradient descent: Use b examples in each iteration.