机器学习[李宏毅]-笔记4-Gradient Descent


1.梯度下降(Gradient Descent)

在这里插入图片描述

  • θ m n \theta_m^n θmn,上标n表示迭代次数,下标m表示第m个component(元素);
  • η \eta η表示learning rate;

在这里插入图片描述

  • 梯度下降法的详细步骤;

在这里插入图片描述

  • η \eta η(learning rate)太小,梯度下降速度较慢;若太大,则可能走不到最低点;所以需要将 η \eta η调到一个合适的值;
  • 若维度大于3,则无法画出梯度下降的图像,但可以画出参数和损失函数的关系图;

2.自适应的学习速率(Adaptive Learning Rates)

在这里插入图片描述

  • 调整learning rate的原则:使learning rate随着参数的update越来越小
  • 在开始的时候,距离目标点较远,learning rate大一点可以加快梯度下降速度;
  • 经过一段时间后,比较接近目标点,将learning rate调小一点,让它收敛在最低点;
  • η t \eta^t ηt中,t代表update次数;
  • learning rate最好可以“因材施教”,对于不同的参数,给出不同的learning rate;

3.自适应梯度下降(Adagrad)

在这里插入图片描述

  • 将每个参数的learning rate除上之前算出来的微分值(derivative)的root mean square(均方根);
  • w是某一个参数, g t g_t gt是偏微分的值, σ \sigma σ是之前所有微分值的均方根(对每一个参数而言是不一样的);

在这里插入图片描述

  • 计算过程如上图所示;

在这里插入图片描述

  • 可以进一步将式子化简,得到上图内容;

3.1 从直觉上解释Agagrad

在这里插入图片描述
在这里插入图片描述

  • 上述的直观解释:当某一步中得到的梯度相比之前特别小(或特别大),除以 ∑ i = 0 t ( g i ) 2 \sqrt {\sum_{i=0}^t (g^i)^2} i=0t(gi)2 后,可以强调这种反差的效果;

3.2 引入二次微分解释Adagrad(Second Derivative)

在这里插入图片描述

  • 上图中,计算出来的梯度的绝对值越大,说明距离最低点越远;

在这里插入图片描述

  • 多个参数的时候,计算出来的梯度的绝对值越大距离最低点越远,跨参数的时候不一定成立;
  • 上图中,相比c点,a点梯度更小,但距离最低点更远;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 将每个参数一次微分的绝对值除以二次微分,能更好的反应此时所在位置和最低点的距离;
  • ∑ i = 0 t ( g i ) 2 \sqrt {\sum_{i=0}^t (g^i)^2} i=0t(gi)2 可以反映二次微分的大小(二次微分越大/越小的函数, ∑ i = 0 t ( g i ) 2 \sqrt {\sum_{i=0}^t (g^i)^2} i=0t(gi)2 也越大/越小),故用它取代二次微分(由于一次微分之前已经计算过了,这样做还可以减少计算量);

4.随机梯度下降(Stochastic Gradient Descent)

在这里插入图片描述

  • 计算梯度的时候,只计算某一个example的loss function;

在这里插入图片描述

  • 随机梯度下降收敛速度更快;

5.特征缩放(Feature Scaling)

在这里插入图片描述

  • 函数中,有两个输入的特征, x 1 x_1 x1 x 2 x_2 x2
  • 做特征缩放,将 x 1 x_1 x1 x 2 x_2 x2的分布范围变为相同;

在这里插入图片描述

在这里插入图片描述

  • feature scaling的具体做法;

6.梯度下降法的理论基础(Gradient Descent Theory)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 向量点乘公式:
  • a = [ a 1 , a 2 , . . . , a n ] , b = [ b 1 , b 2 , . . . , b n ] a=[a_1,a_2,...,a_n],b=[b_1,b_2,...,b_n] a=[a1,a2,...,an],b=[b1,b2,...,bn]
  • a ⋅ b = a 1 b 1 + a 2 b 2 + . . . + a n b n = ∣ a ∣ ∣ b ∣ c o s θ a\cdot b=a_1b_1+a_2b_2+...+a_nb_n=|a||b|cos\theta ab=a1b1+a2b2+...+anbn=abcosθ
  • θ \theta θ π \pi π,即与向量(u,v)相反方向时,结果最小;

在这里插入图片描述

  • η \eta η的值如果设置的太大,在梯度下降的时候,效果会变差(因为此时 L ( θ ) L(\theta) L(θ)已经不能近似表示泰勒级数了,误差太大);
  • 将泰勒级数保留到二次项的做法,会增加 L ( θ ) L(\theta) L(θ)的计算量,虽然会减少update的次数,但总的来说是不划算的,所以梯度下降是主流的做法;

7.梯度下降法的限制因素(Limitation of Gradient Descent)

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值