ml p5-p7:learning rate,Adagrad,Stochastic Gradient Descent ,Feature Scaling,游戏模拟

概览

p5:learning rate,Adagrad,Stochastic Gradient Descent ,Feature Scaling
p6:使用游戏模拟做梯度下降的感觉,局部最低点和全局最低点
p7:使用游戏来模拟为什么loss有时会不降反增。

疑问

笔记

B站19年李宏毅 P5

1.Gradient Descent


Gradient Descent

Gradient Descent

2.Learning Rate

  • 三个参数以上左边的图就不能画了
  • 但是右边的图是每次参数update的时候,lossFunction 的变化。learning rate 小的话,loss下降的很慢,太大的话很快卡住,特别大的话就飞出去了。刚刚好才会比较好。
  • 做learning rate的时候,要把右边的图画出来。


    Learning Rate

3.调整 learning rate

  • 大原则:随着参数的update,learning rate 越来越小
  • 起始点,通常离最低点比较远,但是经过好几次参数的update,靠近目标了,所以要减少 learning rate
  • 最简单的方式看下面,最好的方式是给每一个参数一个learning rate


    Adaptive Learning Rates

4.Adagrad

  • 每个参数都有自己的learning rate,就是η/σ。也就是设定的learning rate 除以之前所有偏微分的均方根。看下一张ppt,来明白均方根的意思
    Adagrad

    Adagrad对单个参数栗子

5.Adagrad简化写法

  • deacy 的learning rate是上面那个,下面的多了点东西,除一下,简化成最下面的式子。


    Adagrad简化写法

6.Contradiction :矛盾


Contradiction

7.Intuitive Reason:直觉上的原因

  • 反差,假设某个参数算出来的很大,或者特别小,造成反差的效果


    Intuitive Reason

7.更正常的解释——一个参数的时候

  • 只有一个参数的时候,最好的一不的分子,正好就是微分值,所以步伐大小与微分值成正比是没有问题的。但是这个仅限于一个参数的时候。


    Larger gradient, larger steps?

8.更正常的解释——多个参数的时候


Comparison between different parameters

9.更正常的解释——二次微分

  • 最好的step不仅要正比与一次微分而且要反比与二次微分(分母的2a就是二次微分)


    Second Derivative

10.更正常的解释——多个参数的时候

  • a的微分值比较小,二次微分也比较小,相除的话,每次的update的step一般大
  • c的微分值比较大,二次微分也比较大,相除的话,每次的update的step一般大
  • 二次微分考虑进去做调整才可以真正反应当前点与最低点的距离


    Comparison between different parameters

11.adagred 使用一次微分的值去估计二次微分的值

  • 上面是两个曲线,一个是有比较小二次微分的,一个是有比较大二次微分的。
  • 下面的两条曲线对应的一次微分值
  • 比较平滑的曲线,一次微分通常比较小,比较陡的曲线,一次微分通常比较大。
  • adagred的均方根(把之前所有算过一次微分的平方和加起来取平均值然后再开根号),就是在曲线上sample很多个点,来反应二次微分的大小。


    adagred

12.Stochastic Gradient Descent :随机梯度下降

  • 随机梯度下降,根据每一个样本就更新参数,原来的梯度下降看完所有的 example 才update 一次参数。随即梯度更快


    Stochastic Gradient Descent
Stochastic Gradient Descent

13.Feature Scaling :特征缩放

  • 希望让不同的 feature的 scaling 是一样的


    Feature Scaling

14.为什么要Feature Scaling

  • w1对y的因影响小,所以对loss的微分也比较小,所以比较平滑
  • w2对y的因影响大,所以对loss的微分也比较大,所以比较sharp
  • 如果数据都比较接近的话,update参数会比较容易。因为根据等高线走,所以第一个不会往圆心走,第二个是正圆,就会比较往圆心走


    Feature Scaling

15.怎么做 Feature Scaling

  • 对每个feature都算一个平均值 m
  • 都算一个标准差 standard deviation σ
  • 对第r个data的第i个component,减去所有data第i个component的平均值,除以所有data第i个component的标准差
  • 所有dimension的均值都是零,方差都是1


    How To Feature Scaling

16.梯度下降的方法的理论


Formal Derivation :形式倒数

Taylor Series

Multivariable Taylor Series :多变量泰勒级数

Back to Formal Derivation


  • 能够做梯度下降的原因是泰勒展开式,但是距离要绝对小。也就是learning rate 比较小


    Back to Formal Derivation

17.More Limitation of Gradient Descent :梯度下降法的限制

  • 会卡在 local minima
  • 也会卡在不是 local minima 或者微分值为零的地方
  • 真正的问题是,可能微分值很小的时候也是在高原的地方,离 local minima 很小
More Limitation of Gradient Descent

你可能感兴趣的:(ml p5-p7:learning rate,Adagrad,Stochastic Gradient Descent ,Feature Scaling,游戏模拟)