李宏毅ML03—Gradient Descent

Gradient Descent

w^{n+1}=w^n-\eta\frac{\partial L(w^n)}{\partial w}

Tip1: Turning Your Learning Rate

  • Learning Rate \eta 会影响梯度下降的效果,太小的话会走得很慢,太大的话有可能会跨过最低点。
  • Learning Rate 的选择
  • \eta 一开始可以选大一点,等到后来接近最小值点了,可以选小一点,但这个是比较模糊的说法
  • 比如 \eta^t=\frac{\eta}{\sqrt{t+1}}
  • 但是没有一种算法是万金油,所以要根据不同的情况选择不同的算法

AdaGrad 算法

w^{t+1}=w^t-\frac{\eta^t}{\sigma^t}g^t

  • \sigma^0=\sqrt{(g^0)^2}
  • \sigma^2=\sqrt{\frac{1}{3}[(g^0)^2+(g^1)^2+(g^2)^2]}
  • \sigma^n=\sqrt{\frac{1}{n+1}\sum\limits_{i=0}^t(g^i)^2}
  • \eta^t=\frac{\eta}{\sqrt{t+1}}
    化简得
    w^{t+1}=w^t-\frac{\eta}{\sqrt{\sum\limits_{i=0}^t(g^i)^2g^t}}

Tip2: Make the Training Faster—SGD

Stochastic Gradient Descent(随机梯度下降法)

  • 只选取一个样本进行梯度下降
  • 这是三种下降法里最快的一种,BGD走一步,SGD能走几十步了
  • 但是由于只选取一个样本,所以难免会受到更大的噪音干扰,迭代次数会较其他两种更多,下降的过程中路线会逞折线前进,但大体上是朝着下降的方向前进

Mini-Batch Gradient Descent

  • 选取一小组样本进行梯度下降

Batch Gradient Descent

  • 每一次跌倒都用所有的样本

Feature Scaling(特征归一化)

  • 把不同的参数的Scale(尺寸的数量级)放在同一个数量级上比价
  • 参数在不同尺度上的比较

x^r_i=\frac{x^r_i-m_i}{\sigma _i}

  • 样本r的i参数x^r_i的归一化方式:
    • m_i是所有样本的i参数的平均值
    • \sigma _i是所有样本的i参数的标准差

Saddle Point(鞍点)

  • 当Loss Function小到一定程度时,并不能代表已经接近了Minimal,有可能是在鞍点附近。
  • 鞍点
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容