暴力拆解《Numerical Optimization》之线搜索

这里讨论的是有约束条件的优化问题:


利用线搜索来求解目标函数的极值点,主要可以分为以下两步:

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方法虽然简洁,但是它可能会排除掉极小点。



以上就是线搜索的主要内容。

如有觉得上面有错误,或者有疑问,请评论,我们一起探讨。Thanks for your patience! :)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: numerical optimization数值优化)是一门涉及通过计算来寻找某个函数的最优解的学科。它在不同领域中都有广泛的应用,如经济学、工程学、计算机科学等。以下是对numerical optimization课后答案的回答。 在numerical optimization的课后答案中,我们通常会遇到以下几个方面: 1. 算法和方法:课后答案会包含关于不同的数值优化算法和方法的详细解释。例如,梯度下降法、牛顿法、共轭梯度法等。课后答案会解释这些方法的原理、步骤和优缺点。 2. 收敛性和收敛速度:课后答案会对不同方法的收敛性进行分析和讨论。收敛性指的是优化算法能否找到最优解。收敛速度则是指算法收敛到最优解的速度。课后答案会解释为什么某些算法具有更好的收敛性和收敛速度。 3. 全局最优和局部最优:课后答案会解释全局最优和局部最优之间的区别。全局最优指的是找到整个搜索空间中的最优解,而局部最优指的是找到某个搜索空间中的最优解。课后答案会讨论如何判断一个解是否为全局最优或局部最优。 4. 问题规模和复杂性:课后答案可能涉及到优化问题的规模和复杂性。优化问题的规模指的是问题中涉及的变量和约束的数量。复杂性指的是解决问题所需的计算资源和时间。课后答案会讨论如何在不同的问题规模和复杂性下选择合适的优化方法。 总而言之,numerical optimization课后答案会涵盖算法和方法、收敛性和收敛速度、全局最优和局部最优以及问题规模和复杂性等方面的内容,帮助学生更好地理解和应用数值优化的知识。 ### 回答2: numerical optimization是一门研究优化问题数值解法的课程。在这门课中,我们学习了许多不同的优化算法,以寻找函数的最优解。 首先我们学习了最简单的算法——暴力搜索法。该方法通过穷举搜索整个搜索空间,找到最优解。然而,由于搜索空间可能非常庞大,这种方法通常并不适用于高维问题。 为了解决高维问题,我们学习了梯度下降法。该方法通过迭代计算函数的梯度,并沿着梯度的反方向更新参数,直到收敛到最优解。梯度下降法可以应用于不同类型的优化问题,并且由于其简单有效的原理而被广泛应用。 此外,我们还学习了共轭梯度法和牛顿法等优化算法。共轭梯度法结合了梯度和步长信息,在优化过程中具有更快的收敛速度。牛顿法利用函数的二阶导数信息,在每次迭代中更新参数,可以更快地找到最优解。 在课后练习中,我们通过编写代码来实现这些优化算法,并将其应用于一些具体的问题。这些问题可能是线性的,也可能是非线性的,但通过优化算法的应用,我们可以找到它们的最优解。 通过学习和实践,我们能够更好地理解数值优化的原理和方法,能够运用这些方法解决实际问题。无论是在工程、科学还是经济领域,数值优化在解决最优化问题上发挥着重要作用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值