博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数值优化(三)
阅读量:7078 次
发布时间:2019-06-28

本文共 1623 字,大约阅读时间需要 5 分钟。

线搜索方法

线搜索方法的基本过程都是在每一次迭代中先计算出一个优化方向\(p_k\),再在这个方向上对目标函数做一维优化,即选取合适的\(\alpha_k\),使\(x_{k+1}=x_k+\alpha p_k\)达到优化目的。一般来说,选取\(p_k=-B_k^{--1}\nabla f_k\),其中\(B_k\)是一个对称正定矩阵,\(B_k\)的选取有多种选择,比如在牛顿法中,\(B_k\)就是Hessian,而在逆牛顿法中,\(B_k\)是Hessian的近似。由于\(p_k=-B_k^{--1}\nabla f_k\),\(B_k\)正定,可以知道\(p_k\)确实是下降方向。

搜索步长

定义\[\Phi(\alpha)=f(x_k+\alpha p_k) \quad \alpha >0\]步长选取就是该函数的局部最优化问题,对此不需要太高的准确度,不能在这个问题上花费很多时间,所以只需要给出一个差不多的解就可以了。步长搜索过程分为两个阶段--bracketing-phase和bisection(or interpolation)-phase,前者找到一个包含期望步长的区间,后者在这个区间里面计算出一个好的步长。为此,先给搜索步长施加几个要求,首先就是搜索步长需要使得函数下降,但这显然不够,于是还有下面的条件。

Wolfe Condition

充分下降条件

\[f(x_k+\alpha p_k) \leq f(x_k)+c_1\alpha \nabla f_k^T p_k\]
示意图:
1443026-20180728161351404-783350040.png
curvature condition
\[\nabla f (x_k+\alpha_k p_k)^Tp_k \geq c_2\nabla f_k^T p_k \quad 0 < c_1<c_2<1\]
示意图:
1443026-20180728161542912-162768263.png
两个条件合起来称为Wolfe-condition,在实际应用中,\(c_1\)通常取得比较小,比如\(10^{-4}\)\(c_2\)在牛顿和拟牛顿方法中通常取0.9,在共轭梯度法中通常取0.1。
将curvature condition改为\[|\nabla f (x_k+\alpha_k p_k)^Tp_k| \leq c_2|\nabla f_k^T p_k|\]得到的条件称为strong Wolfe condition
在Wolfe condition和strong Wolfe condition下,满足条件的步长是存在的:
1443026-20180728162756997-1557088776.png

The Goldstein condition

Goldstein condition和Wolfe condition出发点相同,都是在保证充足的下降情况下,又避免搜索步长过小。\[f(x_k)+(1-c)\alpha_k \nabla f_k^T p_k \leq f(x_k+\alpha_k p_k)\leq f(x_k)+c\alpha_k \nabla f_k^T p_k\quad 0<c<\frac{1}{2}\]Goldstein condition相对于Wolfe condition的缺点是,它的第一个不等式有可能排除了所有极小点。

backtracking

即使只对步长施加充分下降条件,只要适当选取步长,也是可以的,这里就要用到称为backtracking的方法。

1443026-20180728163920365-1762850781.png
在这个过程中,初始步长在牛顿和拟牛顿方法中取为1,在其他方法中可取为不同的值。

收敛理论

1443026-20180728165502483-1419278047.png

其中\(\theta_k\)\(\nabla f_k\)\(p_k\)的夹角。将这个定理中的wolfe condition换为goldstein 或strong wolfe定理任然成立。

最速下降法

1443026-20180728173226198-1777058709.png

1443026-20180728173310889-1703156628.png
可知最速下降法收敛速度是线性的

逆牛顿法

1443026-20180728202859295-2008909569.png

1443026-20180728202918710-1483842256.png

牛顿法

1443026-20180728203107153-728981785.png

步长选择算法

1443026-20180728213834353-1157231203.png

1443026-20180728213851214-1182463966.png

转载于:https://www.cnblogs.com/mathematic-offering/p/9381284.html

你可能感兴趣的文章
获取系统特殊文件
查看>>
C语言中的for命令
查看>>
Hash算法
查看>>
urlWithString、fileURLWithPath的区别
查看>>
Elasticsearch
查看>>
【ASM内部原理】_asm_kill_unresponsive_clients & _asm_healthcheck_timeout
查看>>
基于业务单元的开发与部署模式
查看>>
WCF 无法激活服务,因为它不支持 ASP.NET 兼容性
查看>>
爱阅读,经典编程图书分享
查看>>
oracle checkpoint
查看>>
流程图与代码的重构
查看>>
Shell 编程基础(三)
查看>>
phpRedisAdmin安装与配置
查看>>
我的友情链接
查看>>
OpenStack服务组件
查看>>
java中substring的用法
查看>>
Mysql DBA 高级运维学习之路-Mysql常见多实例配置方案及多实例安装
查看>>
800号业务和400号业务
查看>>
dns配置
查看>>
VMware Horizon View 5.x系列之使用Linked Clone配置Automated Pools
查看>>