数值优化学习——wolfe条件里的线搜索算法
来源:互联网 发布:linux tail命令 编辑:程序博客网 时间:2024/05/18 10:52
翻译自numerical optimization Chapter3 Line Search Methods
【没写完,可参考http://blog.csdn.net/fangqingan_java/article/details/46405669】
Wolfe条件(或强Wolfe条件)是广泛使用并且较为有效的终止条件。
下面描述一个一维的线搜索过程,该过程确保对于给定的任意参数c1,c2(1>c2>c>0),能够找到一个能够满足强Wolfe条件的步长。 首先,我们假设方向p是下降方向,函数f沿着该方向在下面是有界的。
算法分为两个步骤,第一步首先开始于一个对于步长α的估计值α1,然后后续不断扩大其大小,直到找到一个合适的步长或者一个包含目标步长的区间。如果是后者的话(找到区间),就需要不断调用第二步,称为zoom的函数,来不断缩小区间大小,直到找到合适步长。
line search算法的一个形式说明如下。公式为足够的下降条件,公式为曲率条件。参数αmax是用户决定的允许的最大步长,line search算法终止于α*,即找到能够满足强Wolfe条件的步长。
注意到试验的αi序列是单增的,但是输入给zoom函数的参数顺序可能会变化(看上面图片中两次调用的zoom函数,两个参数是不一样的,但是具体原因我还并没有很清楚,αi是单增的,那么αi-1始终小于αi,而这个zoom函数的输入也应该是区间的下界和上界啊?)。该过程利用了下面的知识:如果下面三个条件之一被满足的话,那么区间(αi-1,αi)包含了满足强Wolfe条件的步长:
- 1)αi违反了足够下降条件;
- 2)
- 3)
下面是个人对于上面三个条件的理解,我不能保证正确。
1)足够下降条件(sufficient decrease condition),即上文中有图片显示的公式3.7a,这个条件要求当前函数值小于初始函数值加上一个参数相关的值。如果不满足的话,实际上就是说明当前步长αi实际上超过了最优步长,即最优步长在α0和αi之间。如果此时的i不是1的话,说明前面已经将αi-1之前的情况排除了,所以最优步长应该在αi-1和αi之间;2)当前步长对应的函数值大于等于前一步步长对应的函数值。因为我们的目标是找最优的α,最优的α即使得函数值最小的那个,所以要找在当前条件下(αi-1和αi已知的情况下)最小的,那么一定在这个区间内了(个人觉得牵强,可能理解的还是不对)。3)当前导数值大于0,说明函数开始增加了,所以要找最优最小的,不会再往增加的方向找,一定在αi的前面。所以在区间(αi-1,αi)之间找。这个比较好理解。
上面算法流程的最后一步,是在前面3个条件都不满足的情况下,继续增大α,找更合适的步长。为了实现这一步,可以采用类似上面的插值过程,也可以直接采用αi的倍数作为下一步的αi+1。不管采用哪种策略,重要的是,步长的增加要足够快,使得函数能够在有限迭代次数中到达上限αmax。
下面说明函数zoom。函数的调用形式为zoom(α_lo,α_hi),
- (a)由α_lo,α_hi限定的区间内包含了满足强Wolfe条件的步长;
- (b)α_lo是在目前所有给定的,能够满足足够下降条件的步长里,函数值最小的;
- (c)
- 数值优化学习——wolfe条件里的线搜索算法
- 数值优化学习——wolfe条件里的线搜索算法
- 配流07—基于BPR函数的Frank Wolfe算法
- wolfe 算法_最优化课课后作业笔记
- 搜索的优化算法——剪枝
- 搜索的优化算法——剪枝
- 线性约束最优化问题的Frank-Wolfe方法
- 搜索算法-搜索的优化
- 机器学习笔记_ 数值最优化_3:KKT条件
- 机器学习算法——归一化数值
- 数值优化(Numerical Optimization)学习系列-线搜索方法(LineSearch)
- 数值优化(Numerical Optimization)学习系列(三)-线搜索
- 机器学习笔记_ 数值最优化_1:最优化条件
- 搜索算法的剪枝优化
- 用“人话”解释不精确线搜索中的Armijo-Goldstein准则及Wolfe-Powell准则
- 【转载】用“人话”解释不精确线搜索中的Armijo-Goldstein准则及Wolfe-Powell准则
- [算法学习笔记] AVL树----带有平衡条件的二叉搜索树
- 深度学习中的概率统计、数值优化算法
- STM32中LCD显示少量汉字
- C语言结构体的字节对齐原则
- C++部分类,对象总结
- 数值优化学习——wolfe条件里的线搜索算法
- 448. Find All Numbers Disappeared in an Array
- 数值优化学习——wolfe条件里的线搜索算法
- 2017年院赛D题 简单加密
- 数据挖掘算法-Apriori Algorithm(关联规则)
- 第二本书 lvm 设备制作 扩大 缩减 删除
- deep ocr
- 利用Android源码,轻松实现汉字转拼音功能
- CF
- 自定义手指滑动解锁
- 里氏替换原则(LSP)