李宏毅2020机器学习课程笔记-Gradient Descent

1、Gradient Descent的基本操作

回顾一下机器学习的步骤,定义一个Model(function set),利用损失函数评估function的好坏,最后利用gradient descent 方法找到最优的function。
梯度下降法就是找到最优的参数解,使得损失函数loss function最小。
在这里插入图片描述
在这里插入图片描述
一开始我们先随机生成一组参数,之后随着梯度计算来更新我们的参数,来找到更合适的参数使得loss 逐渐减小。
其中,η 指学习率,可以简单理解为参数移动步伐的大下
在这里插入图片描述

2、Gradient Descent的几个小tips

在训练过程中,你设定的η学习率可能过大或过下导致你的训练效果并不好,如下图所示:
在这里插入图片描述
第一类tips就是自动调节学习率,在离最低点(最优点)远的时候,我们就把学习率设大一点),在随后逐渐离最优点越近的时候,把学习率设小一点,这样就不会使训练速度过慢或是虽然快了但却不小心越过了最优点。
这里针对第一类tips就是

  • Adagrad
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    **引申:**根据我们最后化简后的式子来看,当梯度增加的时候,移动的会多一点,但是分子位置增大后导致,移动的会少一点,这就产生了矛盾。
    我们应该如何解释这个矛盾呢?李老师给出了以下解释,我在这里把自己理解的重点提出来,建议看视频食用
    一篇论文指出,这样是为了造成强烈的反差,我理解的是为了敏感反映梯度的大小变化。
    例如:
    在这里插入图片描述
    从导数的角度来分析,
    在单个参数的情况下,我们比较两个点的梯度大小,只和一阶导数有关,为了找到最优解,我们移动的步伐大小和二阶导数有关。且正好除以二阶导数使我们最好的移动大小。
    在这里插入图片描述
    当放在两个参数的情况下时,在不同维度下,两个点的梯度是没有办法进行比较的。比如上图中的b,d两个点。
    在这里插入图片描述
    所以我们就引入二阶导数:

在这里插入图片描述
现在我们如何理解下图这个式子?
在这里插入图片描述
我们对这两个维度分别进行一阶导数和二阶导数的求导,对采样点进行均方根就能近似的表示二阶导数的大小,比如左图就比较平稳,值就小,右图比较陡峭,值就大。这就是公式中采用均方根的理由。

  • Tip 2 SGD
    SGD的梯度下降,之前是训练一组数据更新一次参数,SGD是一个example就更新一次参数。对比结果如下:
    在这里插入图片描述
  • tip 3 Feature Scaling
    Feature scaling就是把input feature的range弄成一样的。
    在这里插入图片描述
    具体做法就是对 input feature 做normalization
    在这里插入图片描述

3、Gradient Descent为什么会work?(原理)

问题的导入:在这里插入图片描述
从上图,我们来把我们寻找梯度的过程进行解释,从起始点开始,以起始点为中心,画一个圆,在这个圆内寻找最佳的方向和移动步伐。
利用泰勒展开公式:
在这里插入图片描述
在这里插入图片描述
利用泰勒展开公式将我们的损失函数进行处理:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
继续化简,其中,S作为常数,可忽略不进行考虑在这里插入图片描述
在这里插入图片描述
为了使乘积最小,我们把他们类比为上图中的向量,是最小既是两个向量夹角180,以圆的半径为长度所形成的步伐是最优的。
在这里插入图片描述
再进行化简即可得到我们梯度下降的公式
在这里插入图片描述

4、Gradient Descent的局限

梯度下降的局限性:就是局部最小值
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值