机器学习笔记_ 数值最优化_2:最优化算法

导数的算法

  • 梯度下降
  • 牛顿方法:二阶展开(无需计算步长)

    φ=f(xk)+f(xk)(xxk)12f′′(xk)(xxk)2+R2(x)
    =>
    φ(x)f(xk)+f′′(xk)(xxk)
    =>
    xk+1=xkf(xk)f′′(xk)

  • 牛顿法的特点:

    1. 收敛性: 无法保证(trust-region保证收敛)->初始点选择接近极值点,基本牛顿方法才可以保证局部收敛 (当初始点不接近极值点,可能出现Hessian矩阵不正定或者奇异的情况)
    2. 计算Hessian难道大,需要计算n(n+1)/2个二阶偏导数(L-BFGS)
    3. Hessian矩阵的正定(无法保证)->修正牛顿
    4. Hessian矩阵奇异,牛顿方向不存在
  • 优化牛顿算法

    1. 阻尼牛顿
    2. 修正牛顿
    3. LM(trust-region)

Heesian矩阵的计算量大,优化算法:

  1. LBFGS
  2. owl-qn

共轭梯度法(梯度法和牛顿法之间的算法)

  • 提高速度同时避免牛顿方法的大量计算
    核心问题:计算正交方向最小化

Nesterov最优梯度方向

非求导方法

  • 坐标下降算法 :目标函数的下降,沿着坐标分量方向的最小化

你可能感兴趣的:(机器学习笔记_ 数值最优化_2:最优化算法)