暴力拆解《Numerical Optimization》之线搜索
来源:互联网 发布:csgo弹道优化参数 编辑:程序博客网 时间:2024/05/16 19:46
这里讨论的是有约束条件的优化问题:
利用线搜索来求解目标函数的极值点,主要可以分为以下两步:
1.选定起点,选择一个方向 ,使在点沿方向函数值下降。
2.在该方向上,选定合适的步长,使得与相比,充分减小。
那么,现在我们来具体讨论如何选择方向和步长:
(一)下降方向的选择
这里介绍四种方法确定:最速下降方向、牛顿方向、拟牛顿方向、共轭梯度方向。
1.最速下降方向:
将函数泰勒展开,保留一次项可得:
沿该方向,目标函数的函数值下降最快,因此叫做最速下降方向。
下降方向选择,即在点梯度的负方向。
2.牛顿方向:
也还是利用泰勒展开,只是这次是对,保留二次项:
要选择,使最小。显而易见,最简单的方法就是对求导,令:
由此可以推出:
注意:
a.在实用牛顿方向的时候有个前提,那就是必须正定,也就是在在点处所对应的Hessian矩阵必须正定。如果不正定的话, 的值可能会减小。
b.我们在推导牛顿方向的过程中的过程中,牛顿方向不是对进行泰勒展开推导的,而是对 进行展开推导而来的,所以我们推导出来的牛顿方向所对应的就等于1。
3.拟牛顿方向
由于Hessian矩阵计算起来比较麻烦,而且真实的Hessian矩阵有可能不正定,所以我们采用矩阵来近似Hessian矩阵:
类似的,可以推出:
4.共轭梯度方向
取使得,共轭。
上面四种方法在求极值的时候,其收敛速度为牛顿法>拟牛顿法>共轭梯度法>最速下降法。
(二)如何选择步长
原则:让目标函数的值充分降低,并且计算代价小。
我们提供三种方法来选择:Wolfe条件,强Wolfe条件,Goldstein条件。
1.Wolfe条件:
目标函数充分减小条件:
Amijo条件:
为了减少计算代价,我们应该排除较小的步长,用曲率条件来过滤掉较小的步长,将限制在一个合理的范围内:
上面这个式子所表示的意思是:当,固定时,把看做关于的函数的函数,假设我们记作,那么式子的左边就是函数在处的倒数,而式子的右边就是函数在点处的倒数的倍。
以上两个条件合起来叫做Wolfe条件。
2.强Wolfe条件
强Wolfe条件,顾名思义,它就是Wolfe条件的加强版:
强Wolfe条件的第一个式子和Wolfe条件是一样的。第二个式子就是在不等式两边都加了一个绝对值符号。在数学上来看,它所起到的作用是将步长限制在一个较小的领域内。
3.Glodstein条件
Goldstein方法虽然简洁,但是它可能会排除掉极小点。
以上就是线搜索的主要内容。
- 暴力拆解《Numerical Optimization》之线搜索
- 暴力拆解《Numerical Optimization》之线搜索
- 暴力拆解《Numerical Optimization》之器材准备
- 暴力拆解《Numerical Optimization》之器材准备
- 暴力拆解《Numerical Optimization》之信任域方法(上)
- 暴力拆解《Numerical Optimization》之器材准备(数学知识补充)
- 暴力拆解《Numerical Optimization》之共轭方向法
- 暴力拆解《Numerical Optimization》之信任域方法(上)
- 暴力拆解《Numerical Optimization》之共轭方向法
- 暴力拆解《Numerical Optimization》之信任域方法(下)——柯西点
- 暴力拆解《Numerical Optimization》之信任域方法(下)——柯西点
- 暴力拆解《Numerical Optimization》之信任域方法(下)——Dogleg(狗腿方法)
- 暴力拆解《Numerical Optimization》之信任域方法(下)——Dogleg(狗腿方法)
- numerical optimization
- 数值优化(Numerical Optimization)学习系列-线搜索方法(LineSearch)
- 数值优化(Numerical Optimization)学习系列(三)-线搜索
- 数值优化(Numerical Optimization)
- Numerical Optimization _书评转载
- 归并排序
- 京东量化小馒头之pandas库常用函数汇总
- 贪心之多机调度问题
- EL
- 程序调试优化一:浏览器端查看、抓取后台返回数据的方法
- 暴力拆解《Numerical Optimization》之线搜索
- Idea破解
- RabbitMQ的元数据重建
- 581. Shortest Unsorted Continuous Subarray
- Leetcode练习<十四> 求最大子序列的和
- makefile 实验
- HTML系列之外联式(六)
- 专题一关键字的剖析----5.const,volatile分析
- codevs1250 Fibonacci数列