1 分类

梯度法,共轭梯度法,牛顿法,拟牛顿法,蒙特卡洛法、Steepest Descent(SD)、L-BFGS等参数优化方法。

参数优化目标
在机器学习中,在定义好损失函数好,希望通过参数优化,使得损失函数最小。

2 梯度下降法(最速下降法)

沿着梯度向量的方向,更加容易找到函数的最大值。反过来说,沿着梯度向量相反的方向(去负号),则就是更加容易找到函数的最小值。

参数优化方法(梯度下降、牛顿法、拟牛顿法)

  • 批量梯度下降法(Batch Gradient Descent)
    在更新参数时使用所有的样本来进行更新。
    θ=θηθJ(θ)\theta = \theta - \eta \cdot \nabla_\theta J( \theta)

  • 随机梯度下降法(Stochastic Gradient Descent)
    θ=θηθJ(θ;x(i);y(i))\theta = \theta - \eta \cdot \nabla_\theta J( \theta; x^{(i)}; y^{(i)})

随机梯度下降法,与求梯度时没有用所有的样本的数据,而是仅仅选取一个样本来求梯度。

随机梯度下降法由于每次仅仅采用一个样本来迭代,训练速度很快,但仅仅用一个样本决定梯度方向,导致解很有可能不是最优,由于随机梯度下降法一次迭代一个样本,导致迭代方向变化很大,不能很快的收敛到局部最优解。

  • 小批量梯度下降法(Mini-batch Gradient Descent)
    θ=θηθJ(θ;x(i:i+n);y(i:i+n))\theta = \theta - \eta \cdot \nabla_\theta J( \theta; x^{(i:i+n)}; y^{(i:i+n)})

小批量梯度下降法是批量梯度下降法和随机梯度下降法的折衷,用一部分样本进行梯度计算。

缺点

  • 靠近极小值时速度减慢。
  • 直线搜索可能会产生一些问题。
  • 可能会“之字型”地下降。

拓展:steepest descent
steepest descent,最陡下降。
参数优化方法(梯度下降、牛顿法、拟牛顿法)
参数优化方法(梯度下降、牛顿法、拟牛顿法)
d 选取 2范数则为梯度下降:
参数优化方法(梯度下降、牛顿法、拟牛顿法)
也可以选取 1 范数( coordinate descent):
参数优化方法(梯度下降、牛顿法、拟牛顿法)

3 牛顿法

牛顿法主要应用在两个方面,1:求方程的根;2:最优化。

求方程的根
牛顿法利用一阶泰勒展开:
参数优化方法(梯度下降、牛顿法、拟牛顿法)
迭代方式:
参数优化方法(梯度下降、牛顿法、拟牛顿法)
迭代后求得方程的根:
参数优化方法(梯度下降、牛顿法、拟牛顿法)
最优化
无约束最优化问题:
参数优化方法(梯度下降、牛顿法、拟牛顿法)
xx^{*} 为目标函数的极小点。

参数优化方法(梯度下降、牛顿法、拟牛顿法)
参数优化方法(梯度下降、牛顿法、拟牛顿法)
梯度下降和牛顿法的区别
参数优化方法(梯度下降、牛顿法、拟牛顿法)
梯度下降法只使用了一阶信息(其实就是泰勒一阶展开,结合更新参数向量与梯度互为反方向时,更新最快,导出的公式);
牛顿法使用了二阶海森矩阵的逆。
因此,牛顿法迭代次数更少就能收敛了。

4.拟牛顿法

参数优化方法(梯度下降、牛顿法、拟牛顿法)
也就是在迭代中,正向进行迭代而不用求逆。
参数优化方法(梯度下降、牛顿法、拟牛顿法)
参数优化方法(梯度下降、牛顿法、拟牛顿法)

5 共轭梯度法

共轭梯度法,Conjugate gradient method,是一种求解对称正定线性方程组Ax=b的迭代方法。

共轭梯度法是介于梯度下降法与牛顿法之间的一个方法,是一个一阶方法。它克服了梯度下降法收敛慢的缺点,又避免了存储和计算牛顿法所需要的二阶导数信息。

适用
二次规划问题。
参数优化方法(梯度下降、牛顿法、拟牛顿法)
思想
共轭梯度法的基本思想是把共轭性与最速下降法相结合,利用已知点处的梯度构造一组共轭方向,并沿这组方向进行搜索,求出目标函数的极小点。根据共轭方向的基本性质,这种方法具有二次终止性。

算法

算法用Gram-Schmidt找 n 个共轭向量。

参数优化方法(梯度下降、牛顿法、拟牛顿法)


参考:

  1. zhihu 梯度下降
  2. 推荐 梯度下降法的推导
  3. 共轭梯度法的推导;
  4. 数学优化入门:梯度下降法、牛顿法、共轭梯度法;
  5. wiki 共轭梯度法;
  6. Advanced Optimization ;
  7. 推荐 优化梯度下降

相关文章: