最优化 牛顿法及其变种

牛顿法

设f(x)是二次可微实函数, 那么它的二阶泰勒多项式为

ϕ(x)=f(x0)+f(x0)(xx0)+12f′′(x0)(xx0)2 ϕ ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) + 1 2 f ″ ( x 0 ) ( x − x 0 ) 2

那么把x换成向量, 则有
ϕ(x)=f(x0)+f(x0)(xx0)+12(xx0)T2f(x0)(xx0) ϕ ( x ) = f ( x 0 ) + ∇ f ( x 0 ) ( x − x 0 ) + 1 2 ( x − x 0 ) T ∇ 2 f ( x 0 ) ( x − x 0 )

其中 2f(x0) ∇ 2 f ( x 0 ) f(x) f ( x ) x0 x 0 处的hesse矩阵.
为求 ϕ(x) ϕ ( x ) 的平稳点, 令 ϕ(x)=0 ∇ ϕ ( x ) = 0 . 则有
f(x0)+2f(x0)(xx0)=0 ∇ f ( x 0 ) + ∇ 2 f ( x 0 ) ( x − x 0 ) = 0

假设hesse矩阵可逆, 则由上式得到 牛顿法迭代公式:
x(k+1)=x(k)2f(x(k))1f(x(k))(1.4) (1.4) x ( k + 1 ) = x ( k ) − ∇ 2 f ( x ( k ) ) − 1 f ( x ( k ) )

其中 2f(x(k))1 ∇ 2 f ( x ( k ) ) − 1 是hesse矩阵的逆矩阵.

牛顿法至少2级收敛, 收敛速率快于梯度下降法. 特别地, 对于二次凸函数, 用牛顿法经历一次迭代即达极小点.
值得注意, 当初始点远离极小点时, 牛顿法可能不收敛, 因为牛顿方向不一定是下降方向, 经迭代, 目标函数值可能上升.
针对这一问题进行修正, 人们提出了 阻尼牛顿法.

阻尼牛顿法

与原始牛顿法的区别在于: 增加了沿牛顿方向的一维搜索.

拟牛顿法

牛顿法需要计算二阶偏导, 而且目标函数的Hesse矩阵可能非正定. 为克服这些问题, 人们提出了拟牛顿法, 基本思想是用不含二阶导数的矩阵A来近似原Hesse矩阵的逆矩阵 H1 H − 1 .
根据得到近似矩阵A的方法的不同, 拟牛顿法也有不同的变体.

OWL-QN

OWL-QN(orthant-wise Limited-memory Quasi-Newton)
微软提出的算法,该算法是基于L-BFGS算法的可用于求解L1正则的算法。简单来讲,OWL-QN算法是指假定变量的象限确定的条件下使用L-BFGS算法来更新,同时,使得更新前后变量在同一个象限中(使用映射来满足条件)。

参考

  1. cnblog, 无约束优化算法——牛顿法与拟牛顿法(DFP,BFGS,LBFGS)
  2. OWL-QN算法介绍
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值