【数值最优化】1. 线搜索方法

系列文章

【数值最优化】1. 线搜索方法
【数值最优化】2. 拟牛顿


线搜索是一种寻找函数 f ( x ) f(x) f(x)最值(此处默认为最小值)的迭代方法. 总体上, 线搜索方法迭代公式为
x k + 1 = x k + α k p k , x_{k+1}=x_{k}+\alpha_k p_k, xk+1=xk+αkpk,
其中 α k \alpha_k αk是步长(step length), p k p_k pk是下降方向(descent direction), p k T ∇ f k < 0 p_k^{\mathsf{T}}\nabla f_{k}<0 pkTfk<0, p k = − B k − 1 ∇ f k p_k=-B_{k}^{-1}\nabla f_{k} pk=Bk1fk.

一、步长选取

(1) Wolfe conditions

下降方向已经确定, 选取合适的步长. 令 ϕ ( α ) = f ( x k + α p k ) \phi(\alpha)=f(x_{k}+\alpha p_k) ϕ(α)=f(xk+αpk). 只要求 ϕ ( α ) < ϕ ( 0 ) \phi(\alpha)<\phi(0) ϕ(α)<ϕ(0)是不够的, 它可能还没到最小值, 但函数值已经收敛了. 所以提出了Armijo condition f ( x k + α p k ) ≤ c 1 α ∇ f k T p k , f(x_{k}+\alpha p_k)\le c_1\alpha \nabla f_k^{\mathsf{T}}p_k, f(xk+αpk)c1αfkTpk,其中 0 < c 1 < 1 0<c_1<1 0<c1<1, 一般取 1 0 − 4 10^{-4} 104. 这个条件要求函数值下降的足够多(在一条下降的直线的下方), 且总是能找到一个 α \alpha α能满足这个条件, 因为 c 1 ∈ ( 0 , 1 ) c_1\in (0,1) c1(0,1).

只有Armijo condition可能会使得 α \alpha α太小了, 收敛太慢, 为了让步长稍微大一点, 提出了curvature condition ∇ f ( x k + α k p k ) T p k ≥ c 2 ∇ f k T p k , \nabla f(x_{k}+\alpha_k p_k)^{\mathsf{T}}p_{k}\ge c_2 \nabla f_{k}^{\mathsf{T}} p_k, f(xk+αkpk)Tpkc2fkTpk,其中 c 2 ∈ ( c 1 , 1 ) c_2\in(c_1,1) c2(c1,1). 采用Newton method或者quasi-Newton method时, c 2 c_2 c2常取 0.9 0.9 0.9, nonlinear conjugate gradient method, 0.1 0.1 0.1.

两个条件合在一起成为Wolfe conditions: f ( x k + α k p k ) ≤ f ( x k ) + c 1 α k ∇ f k T p k , ∇ f ( x k + α k p k ) T p k ≥ c 2 ∇ f k T p k , \begin{aligned} f(x_k+\alpha_k p_k)\le & f(x_{k})+c_1\alpha_k\nabla f_k^{\mathsf{T}} p_k,\\ \nabla f(x_{k}+\alpha_k p_k)^{\mathsf{T}}p_k\ge & c_2\nabla f_{k}^{\mathsf{T}}p_k, \end{aligned} f(xk+αkpk)f(xk+αkpk)Tpkf(xk)+c1αkfkTpk,c2fkTpk, 0 < c 1 < c 2 < 1 0<c_1<c_2<1 0<c1<c2<1.
Strong Wolfe conditions:
f ( x k + α k p k ) ≤ f ( x k ) + c 1 α k ∇ f k T p k , ∣ ∇ f ( x k + α k p k ) T p k ∣ ≥ c 2 ∣ ∇ f k T p k ∣ , \begin{aligned} f(x_k+\alpha_k p_k)\le & f(x_{k})+c_1\alpha_k\nabla f_k^{\mathsf{T}} p_k,\\ \left|\nabla f(x_{k}+\alpha_k p_k)^{\mathsf{T}}p_k\right|\ge & c_2\left|\nabla f_{k}^{\mathsf{T}}p_k\right|, \end{aligned} f(xk+α

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值