概述
解析解与数值解
解析解
analytical solution. 也成为闭式解, closed-form solution.
为一个明确的函数, 通常为分式、三角函数、指数、对数甚至无限级数等基本函数的解的形式.数值解
numerical solution. 通过近似计算得出来的一个数值. 是解析解的近似值.
如通过梯度下降法等取得近似的最优解.
解析解的好处是目标函数的参数有变化, 那代入解析解也可以很快算出来; 而数值解只能一次性使用.
迭代下降算法
迭代下降算法是解非线性规划时常用的算法.
所谓迭代, 就是从某点
出发, 按照某种规则A求出后继点
, 用 k+1 代替 k, 重复以上过程. 最终得到收敛于原问题的解.
- 映射A
是定义在空间X上的点到集合的映射. - 解集合
受限于各种条件, 有时很难求得原问题的全局最优解. 当迭代点 时就停止迭代. - 下降函数
每当谈到下降算法, 总是与某个函数在迭代中函数值减小联系在一起的.
设 为解集合, A为X上的一个算法, 是定义在X上的连续实函数, 若满足下列条件
则称 是关于解集合 与算法A的下降函数.
梯度下降
Gradient Descent
见文章链接: 最优化 梯度下降
Least Square
牛顿法及变种
见文章链接: 最优化 牛顿法及其变种
Newton method
Quasi-Newton
拟牛顿法.
BFGS
BFGS, Broyden–Fletcher–Goldfarb–Shanno algorithm.
L-BFGS
L-BFGS,Limited-Memory BFGS
OWL-QN
OWL-QN,Orthant-Wise Limited-Memory Quasi-Newton.
Adam
Adam(Adaptive Moment Estimation)本质上是带有动量项的RMSprop,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。公式如下:
其中,m_t,n_t分别是对梯度的一阶矩估计和二阶矩估计,可以看作对期望E|g_t|,E|g_t^2|的估计;\hat{m_t},\hat{n_t}是对m_t,n_t的校正,这样可以近似为对期望的无偏估计。 可以看出,直接对梯度的矩估计对内存没有额外的要求,而且可以根据梯度进行动态调整,而
对学习率形成一个动态约束,而且有明确的范围。
特点:
结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点
- 对内存需求较小
- 为不同的参数计算不同的自适应学习率
- 也 适用于大多非凸优化 - 适用于大数据集和高维空间