Nestrov优化算法

  • 结合动量的方法
  • 在随机梯度下降算法中,方向的更新依赖于当前的batch,更新不稳定,所以引入动量
  • 在更新的时候保持原方向,然后依据batch的方向,微调;
  • 稳定性得到了增强,还可以学习的较快
  • 通过nesterov加速

分类

  • 无约束凸优化;约束凸优化
  • 目标函数是否光滑函数:光滑凸优化和非光滑凸优化

平滑凸函数的一阶算法

  • 梯度法
  • 共轭梯度法(conjugate gradient method)
  • Nesterov最优化法

* 光滑凸函数,处处可导


1. 引论

* 凸性定义

  • 凸集
  • 凸函数:设C是凸集,若对任意的,及,函数满足:

  • 严格凸函数(只是小于,不是小于等于)

  • 强凸函数:(是凸性参数)

=>强凸函数--->严格凸函数--->凸函数


利普希茨性

  • 利普希茨性本事定义在欧式范空间,定义f是-利普希茨的:对任意的:

  • 利普希茨:变化不会太快

  • 利普希茨函数不一定可微,;但是利普希茨连续梯度的函数f(x),一定是光滑函数

  • 表示具有如下性质的lipschitz连续函数类:

    1. 是在Q上可以k次微分
    2. 的p阶导数都是lipschitz常数为L的lipschitz连续函数:
  • 函数f(x)是平滑函数,则它可微且导数是利普希茨函数


光滑性

  • 一个处处可微的函数称为光滑函数
  • 利普希茨连续梯度的函数f(x),一定是光滑函数

稳定性

  • 若算法输入的一个小的变化不会太多的改变算法的输出,称算法稳定

  • 正则化的方法是稳定的,可以作为稳定剂

  • condition number是稳定性的度量

  • 算法稳定,就不会过拟合

* 收敛速度

  • 设序列

  1. : 超线性
  2. : 次线性
  3. :线性

2. Nesterov最优梯度法

Nesterov最优梯度法的理论基础

  • 对于强凸函数最优收敛速度是:

  • 梯度法是

动量方法

  • 是两个初始向量,是两个正值序列,则求解无约束优化问题:的一阶方法可以采用两步更新:

=>当 =>

=>是动量

  • SGD 的优化方法缺点,更新方法完全依赖于当前的batch,因此会不稳定。引入动量方法,模拟物体运动的惯性,在更新时一定程度的保持之前的方向,从而学习的更快,还有一定的摆脱局部的能力

Nesterov最优化算法

* Nesterov适用于:

  • 无约束最小化的,
  • f(x)的梯度是lipschitz连续的

* 算法

  • 产生两个序列


3. 碎碎念

强凸函数和平滑函数

  • Lispchitz连续:大于连续,小于可微
  • f(x)具有lispchitz连续梯度
  • 实质是投影梯度法和重球法的结合
  • 强凸函数的定义:

是凸函数 =》f(x)需是二阶函数

总结

  • 可以证明,一阶方法的最优梯度速度是
  • 梯度法是:

results matching ""

    No results matching ""