首页 > 代码库 > 批量梯度下降法(Batch Gradient Descent)

批量梯度下降法(Batch Gradient Descent)

批量梯度下降:在梯度下降的每一步中都用到了所有的训练样本。

思想:找能使代价函数减小最大的下降方向(梯度方向)。

    ΔΘ = - αJ      α:学习速率

 

梯度下降的线性回归

  线性模型的代价函数:

    技术分享

技术分享

 

  对于更新项,为什么是 - α▽J :

  Θ如果在极值点右边,偏导大于0,则Θ要减去偏导的值(Θ偏大,减去一个正值)

  Θ如果在极值点左边,偏导小于0,则Θ要减去偏导的值(Θ偏小,减去一个负值)

技术分享

 

  实现方法:同步更新每个Θ

技术分享

  特点:梯度下降法即使α取很大也可以收敛到局部最小值。

     随着算法的进行,越接近最小值点偏导的那一项越小,Θ的变化量也就越小。

技术分享

  图中可以看出,初始Θ取粉色点所在的值,随着算法的进行步长越来越小。

 

批量梯度下降法(Batch Gradient Descent)