批量梯度下降法(Batch Gradient Descent)
Posted J_K_Guo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量梯度下降法(Batch Gradient Descent)相关的知识,希望对你有一定的参考价值。
批量梯度下降:在梯度下降的每一步中都用到了所有的训练样本。
思想:找能使代价函数减小最大的下降方向(梯度方向)。
ΔΘ = - α▽J α:学习速率
梯度下降的线性回归
线性模型的代价函数:
对于更新项,为什么是 - α▽J :
Θ如果在极值点右边,偏导大于0,则Θ要减去偏导的值(Θ偏大,减去一个正值)
Θ如果在极值点左边,偏导小于0,则Θ要减去偏导的值(Θ偏小,减去一个负值)
实现方法:同步更新每个Θ
特点:当α过小时,梯度下降算法收敛得很慢(步长小)。当α过大时,可能会越过最低点,甚至发散(步长太大)。
确定α之后,在算法随后的运行过程中,我们没有必要另外减小α的值,因为梯度下降算法能够自动减小步长。
随着算法的进行,越接近局部最小值点,偏导的那一项越小,Θ的变化量也就越小。
图中可以看出,初始Θ取粉色点所在的值,随着算法的进行步长越来越小。所以在算法运行过程中我们可以保持α固定不变,算法会自动收敛到局部最小值。
梯度检验(Gradient Checking)
当对一个比较复杂的模型使用梯度下降算法时,可能存在一些不易察觉的错误。有时候cost虽然看上去在不断减小,但是最终结果可能并不是最优解。为发现以及避免这些错误的出现,我们采取一种叫做梯度检验的方法(数值计算梯度)。
注意:在代码中,梯度检验部分的代码比较耗时,所以仅在检验的时候使用,检验完就及时注释掉。
以上是关于批量梯度下降法(Batch Gradient Descent)的主要内容,如果未能解决你的问题,请参考以下文章
随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比
随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比实现对比
随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比实现对比[转]
随机梯度下降法(Stochastic gradient descent, SGD)
随机梯度下降(stochastic gradient descent),批梯度下降(batch gradient descent),正规方程组(The normal equations)