机器学习:随机梯度下降法

本文介绍了梯度下降法的基本概念,包括其随机性可能导致的局部最优问题和步长选择的影响。讨论了批量梯度下降、小批量梯度下降与随机梯度下降的优缺点,并重点讲解了随机梯度下降在分类和回归问题中的应用,包括在sklearn库中的实现和参数设置。
摘要由CSDN通过智能技术生成

1.梯度下降

   1)什么是梯度下降?

         因为梯度下降是一种思想,没有严格的定义,所以用一个比喻来解释什么是梯度下降。

        

        简单来说,梯度下降就是从山顶找一条最短的路走到山脚最低的地方。但是因为选择方向的原因,我们找到的的最低点可能不是真正的最低点。如图所示,黑线标注的路线所指的方向并不是真正的地方。

        既然是选择一个方向下山,那么这个方向怎么选?每次该怎么走?

       先说选方向,在算法中是以随机方式给出的,这也是造成有时候走不到真正最低点的原因。

       如果选定了方向,以后每走一步,都是选择最陡的方向,直到最低点。

       总结起来就一句话:随机选择一个方向,然后每次迈步都选择最陡的方向,直到这个方向上能达到的最低点。

      2)梯度下降是用来做什么的?

       在机器学习算法中,有时候需要对原始的模型构建损失函数,然后通过优化算法对损失函数进行优化,以便寻找到最优的参数,使得损失函数的值最小。而在求解机器学习参数的优化算法中,使用较多的就是基于梯度下降的优化算法(Gradient Descent, GD)。

     3)优缺点

          优点:效率。在梯度下降法的求解过程中,只需求解损失函数的一阶导数,计算的代价比较小,可以在很多大规模数据集上应用

          缺点:求解的是局部最优值,即由于方向选择的问题,得到的结果不一定是全局最优

                     步长选择,过小使得函数收敛速度慢,过大又容易找不到最优解。

 

2.梯度下降的变形形式

         根据处理的训练数据的不同,主要有以下三种形式:

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

             针对的是整个数据集,通过对所有的样本的计算来求解梯度的方向。

             优点:全局最优解;易于并行实现;

             缺点:当样本数据很多时,计算量开销大,计算速度慢

        2)小批量梯度下降法MBGD(mini-batch Gradient Descent)

            把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性

            优点:减少了计算的开销量,降低了随机性

         3)随机梯度下降法SGD(stochastic gradient descent)

  • 6
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值