机器学习-梯度下降法

  • 2018-10-29
  • 483
  • 1

1. 梯度下降、随机梯度下降和批量梯度下降

梯度下降法在解优化问题时候常用到,利用迭代的思想来逼近最低点,沿着梯度的负方向更新模型权重。向函数上当前点对应梯度的反方向规定步长距离点进行迭代搜索简而言之,为求的某函数的最小值(比如cost函数,其自变量是某个模型的参数,函数值是模型和真实值的方差),随找一个点,求的其梯度,沿着其梯度下降的方向找下一个点,最终就能找到局部最小值,因为每个点都是通过上一个点得来的,因此是一个迭代的过程,而每一步的函数值,又是通过多个样本计算得来。

缺点:

  • 靠近极值时速度减慢

  • 可能 ‘之字形’ 下降

1. 批量梯度下降 (BGD: Batch Gradient Descent) :

最典型的的梯度下降。在每一次迭代过程中,利用所有样本来更新一遍权重,

缺点:每次更新幅度大,计算量大,收敛速度快。
\theta_j = \theta_j – \alpha \frac{1}{m} \sum_{i=1}^m (h_\theta (x^{(i)}) – y^{(i)}) x_j^{(i)}

2. 随机梯度下降 (SGD: Stochastic Gradient Descent)

和批量梯队下降对应,是一个极端:在更新参数时随机用一个样本

缺点:准确度差;容易陷入局部最优解;训练速度虽然快,但收敛速度不一定快。
\theta_j = \theta_j – \alpha \frac{1}{m} (h_\theta (x^{(i)}) – y^{(i)}) x_j^{(i)}

3. 随机批量梯度下降 (MBGD: Mini-Batch Gradient Descent)

前两种方法的折中,每次迭代过程中,利用随机的部分样本更新权重。每次使用 k 个样本,k 小于总样本数量 m。
\theta_j = \theta_j – \alpha \frac{1}{m} \sum_{i=k}^{t+k-1} (h_\theta (x^{(i)}) – y^{(i)}) x_j^{(i)}


版权声明: 本网站所有资源采用BY-NC-SA 4.0协议进行授权,转载应当以相同方式注明文章来自:机器学习-梯度下降法 - 一方的天地

评论

    发表评论

    陕ICP备18010914号
    知识共享许可协议
    本作品由一方天地采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资源请尽快联系站长,本站会在24h内删除有争议的资源。 -