关于梯度下降的学习笔记

  • 什么是梯度下降:

       梯度下降可拆分为梯度+下降,在一阶函数中,某一点的梯度表示函数在该点处的导数(导数的正负号表示函数上升的方向),梯度下降是基于微积分中导数的概念,大部分的机器学习模型都有直接或间接地运用梯度下降的算法。

  • 1.梯度下降的目的:

       在机器学习模型中,都会有一个损失函数;其中,损失函数的值越小,模型的精确度就越高。如果提高机器学习模型的精确度,就需要尽可能降低损失函数的值,梯度下降就是减小损失函数,其目的就是最小化损失函数。

       2.均方误差损失函数(常见):

       其中,Yi表示样本数据的实际目标值,f(wx+b)表示预测函数, f根据样本数据 ,Xi计算出的预测值。从几何意义上来说,它可以看成预测值和实际值的平均距离的平方。

       均方误差与方差的联系:方差表示个个数值与平均值的差值平方和的平均数,而均方误差表示预测值与真实值差值的平方和,反映出预测值与估计值之间差异程度的一种度量。方差可用来衡量数据的在图像上的分布情况,以此类推,均方误差可表示数据投影在图像中的离散程度。

  • 梯度下降的原理:

    1.几何意义:

       如前文所言,在一元函数中,梯度即是导数,通过导数正负号可以确定函数上升的方向,例如上图所示,A点处导数为负数,那么X轴负方向即是函数值增大的方向;假设在抛物线对称轴右侧任取一点B,B点处导数值为正,则表示在X轴正方向处,函数值上升。而上升最快的方向的反方向,则是函数值下降最快的方向,对应到梯度就是梯度的反方向。

       对于二元函数,梯度定义为:

       因此,通过求梯度我们依然可以求得函数在哪个方向上能取得较大的值和较小的值。

       2.核心公式:

       此公式的意义是:f是关于Θ的一个函数,我们当前所处的位置为Θ0点,要从这个点走到f的最小值点,也就是山底。首先我们先确定前进的方向,也就是梯度的反向,然后走一段距离的步长,也就是η,走完段步长,就到达了Θ这个点!

       η为步长,又称学习率,通过控制η的大小来调节每次运算的精确程度。η过小则会导致计算机计算过多,η过大则会出现类似于“之字形”下降,表现在抛物线上即使在对称轴两端来回跳动。

         3.梯度下降算法的一般步骤:

  

       我们可以设想如下场景:在进行二分法求最大/最小值的过程中,依次求给定区间的平均值,而后再次确定新的区间,通过不断缩小区间的大小,逐渐趋向于最大最小值。而区间的长度,就是ε,当ε满足我们给定的误差允许范围时,我们就可以说,在误差允许的范围内,函数在该点处取得最大/最小值。

       那么,在梯度下降算法的实际运算过程中,通过确定算法的步长,从而确定每次增大或减小自变量的程度,当自变量取到某一值时满足给定的ε时,我们便近似认为函数的最大最小值在该处取得。

  • 梯度下降的应用实例:

  步骤:

  1. 先确定ηε的大小,计算函数y的导数。
  2. 计算选取的点的导数值,从而确定下一次计算的自变量x的值。
  3. 由此循环,不断更新选取的点的导数以及自变量x的值,直到满足ε的条件即停止运算。
  • 梯度下降的延申:

     1.梯度下降的另一种算法:

       上文主要就ε的选取进行了陈述,与二分法进行关联。在实际运算的过程中,泰勒展式的思想是否也能作为应用的场景?

       猜想的具体步骤:由泰勒展式几何意义入手,联想到预测值随着阶数的增加而无限趋向于真实值,我们任意给定一个精度ε(表示预测值与真实值的误差或自变量的变化值),由此反向求出取得最小值(梯度下降)/最大值(梯度上升)所需的最小步长η,从而在实际的应用中得到数据集之间的某种联系,有助于后续的优化。

     2.由梯度下降,联想到梯度上升,此时只需将η前面的符号改为正号即可

     3.梯度算法的缺点:

    ①靠近极大/极小值时收敛速度减慢,即自变量的变化越来越小

    ②η的选取会影响运算,可能出现“之字形”变化。

梯度下降的代码实现:

运行结果如下
每次迭代,参数该变量

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

打野怪的江小河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值