首页 > 其他分享 >【最优化方法】第三次要点整理

【最优化方法】第三次要点整理

时间:2024-11-14 09:45:45浏览次数:1  
标签:geq 第三次 varphi rho 条件 要点 alpha aligned 最优化

目录

【问题】在迭代中,已知 \(x^{(k)}\) 和下降方向 \(d^{(k)}\),如何确定下降步长 \(\alpha^{(k)}\),使得 \(f(x^{(k)} + \alpha^{(k)} d^{(k)}) < f(x^{(k)})\)?

非精确线搜索技术

求 \(\alpha^{(k)}\),使得 \(\Delta f_k = f(x^{(k)}) - f(x^{(k)} + \alpha^{(k)} d^{(k)}) > \epsilon\),即保证 \(f(x)\) 在每一步都有满意的下降,而不必精确计算梯度,从而大大节省计算量。

\[J = \{ \alpha > 0 \ | \ f(x_k + \alpha_k d_k) < f(x_k) \} \]

Armijo-Goldstein 准则

【思想】我们希望优化算法满足以下两个条件:

  1. 目标函数要有足够的下降,使得 \(f(x_{k+1}) < f(x_k)\);
  2. 步长 \(\alpha^{(k)}\) 不能太小,保证每步都要有更新,否则就会出现 \(f(x_{k+1}) \approx f(x_k)\) 的情况。

由第一个条件可得:

\[\begin{aligned} f(x_k + \alpha_k d_k) \leq f(x_k) + \alpha \rho \nabla f(x_k)^\top d_k \\ 或写成:\varphi(\alpha) \leq \varphi(0) + \alpha \rho \varphi'(0) \end{aligned} \]

由第二个条件可得:

\[\begin{aligned} f(x_k + \alpha_k d_k) \geq f(x_k) + \alpha (1-\rho) \nabla f(x_k)^\top d_k \\ 或写成:\varphi(\alpha) \geq \varphi(0) + \alpha (1-\rho) \varphi'(0) \end{aligned} \]

其中 \(0 < \rho < \frac{1}{2}\),保证了 \(\alpha (1-\rho) \varphi'(0) < \alpha \rho \varphi'(0) < 0\)。由下图知:

image

满足第一个条件的 \(\alpha\) 构成区间 \((0, a]\),满足第二个条件的 \(\alpha\) 构成区间 \([b, J]\),因此两个条件构成的约束为 \(\alpha \in [b, a]\)。

【算法步骤】由以上思想可得 Goldstein 准则非精确先搜索算法:

初始值设为 \(a_1=0, a_2=M, \alpha>0\),

  • 第一步:计算 \(\varphi(0), \varphi'(0)\),在区间 \([0, M]\) 上选取初始点 \(\alpha\)。
  • 第二步:计算 \(\varphi(\alpha)\)。
  • 第三步:检查 \(\varphi(\alpha) \leq \varphi(0) + \alpha \rho \varphi'(0)\) 是否满足,若满足则进行第四步;否则 \(a_2 \leftarrow \alpha, \alpha \leftarrow \frac{a_1 + a_2}{2}\),返回第二步。
  • 第四步:检查 \(\varphi(\alpha) \geq \varphi(0) + \alpha (1-\rho) \varphi'(0)\) 是否满足,若满足则输出 \(\alpha_k = \alpha\),结束迭代;否则 \(a_1 \leftarrow \alpha, \alpha \leftarrow \frac{a_1 + a_2}{2}\),返回第二步。

Wolfe-Powell 准则

Goldstein 准则有一个很大的问题是约束区间不一定存在想要的最优点,即 \([b, a]\) 可能把 \(\alpha^*\) 排除在外。为克服上述缺陷,Wolfe 提出了使用以下的条件来代替 Goldstein 中的第二个条件:

\[\begin{aligned} \nabla f(x_k + \alpha_k d_k)^\top d_k \geq \sigma \nabla f(x_k)^\top d_k \\ 或写成:\varphi'(\alpha) \geq \sigma \varphi'(0) \end{aligned} \]

几何意义:对斜率提要求,在可接受点处切线的斜率 \(\varphi'(\alpha)\) 不小于初始斜率的 \(\sigma\) 倍(注意初始斜率小于0)。由下图知:

image

满足第一个条件的 \(\alpha\) 构成区间 \((0, a]\),满足第二个条件的 \(\alpha\) 构成区间 \([e, J]\),因此两个条件构成的约束为 \(\alpha \in [e, a]\)。

强 Wolfe-Powell 准则

第二个条件改为:

\[\begin{aligned} | \nabla f(x_k + \alpha_k d_k)^\top d_k | \geq | \sigma \nabla f(x_k)^\top d_k | \\ 或写成:| \varphi'(\alpha) | \geq | \sigma \varphi'(0) | \end{aligned} \]

由上图可知,满足第一个条件的 \(\alpha\) 构成区间 \((0, a]\),满足第二个条件的 \(\alpha\) 构成区间 \([e, f]\),因此两个条件构成的约束为 \(\alpha \in [e, \min(a,f)]\)。

标签:geq,第三次,varphi,rho,条件,要点,alpha,aligned,最优化
From: https://www.cnblogs.com/Mount256/p/18545391

相关文章

  • 【数据价值化】数据资产实务九问九答:估值、入表、交易和合规要点!
            2022年12月,国务院正式印发《关于构建数据基础制度更好发挥数据要素作用的意见》(以下简称“数据二十条”),提出建立合规高效、场内外结合的数据要素流通和交易制度,为未来构建适应我国国情的数据交易市场体系提供了基本遵循和行动指南。随后,财政部与中国资产评估......
  • Kafka 核心要点解析
    目录一、Kafka消息发送流程二、Kafka的设计架构三、Kafka分区的目的四、Kafka保证消息有序性的方式五、ISR、OSR、AR概念六、Kafka在什么情况下会出现消息丢失七、保证Kafka可靠性的方法八、Kafka数据去重九、生产者提高吞吐量的方法十、Zookeeper在Kafka......
  • 六、MyBatis-Plus高级用法(1):最优化持久层开发
    一、MyBatis-Plus快速入门1.1简介课程版本:3.5.3.1MyBatis-Plus......
  • 【真题笔记】17年系统架构设计师要点总结
    【真题笔记】17年系统架构设计师要点总结流水线吞吐率加速比DMA(直接存储器访问)CISC(复杂指令系统计算机)+RISC(精简指令系统计算机)网络规划与设计逻辑网络设计物理网络设计信息化需求需求管理过程瀑布模式软件过程模型IDL(接口定义语言)系统移植体系结构文档化过程......
  • WPF程序弹出页中按钮在触摸屏(电容屏)上点击事件需要点十次才能触发的问题解决方法
    一、事件背景介绍1.功能简述:主页面是一个DataGrid列表,点击DataGrid行,弹出子页面;子页面根据数据加载多个Button按钮,如下图,就是这个页面中的按钮,在触摸屏上触摸点击,需要点击十次才能成功,使用鼠标点击一下就能成功。 主要代码如下://WPF前端<DataGridx:Name="scanDtl......
  • 淘宝API接口注意事项及要点
    淘宝API接口的使用有诸多注意事项及要点,具体如下:一、注册与认证:账号注册:首先要在淘宝开放平台上注册开发者账号,这是使用API的前提。认证流程:完成相关认证,确保具备合法使用API的权限。注册并认证成功后,创建应用以获取API密钥(appkey和appsecret),这是后续调用API接口的......
  • 无约束最优化方法基本结构-数值最优化方法-课程学习笔记-2
    无约束最优化方法的基本结构现在我们正式进入第二章的学习,在开始学习无约束最优化方法之前我们先学习几个知识.在以后的章节,如果没有特殊说明,我们总假定目标函数f(......
  • 《程序员的修炼者之道》第三次读书笔记
    《程序员的修炼之道——从小工到专家》第三章:基本工具的读书笔记在阅读《程序员的修炼之道——从小工到专家》的第三章时,我深刻感受到了作者们对于编程基本工具的重视。这一章不仅详细介绍了程序员在日常工作中不可或缺的基本工具,还强调了如何有效利用这些工具来提高编程效率和代......
  • 操作系统知识要点
    一.操作系统的特性1.并发性在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序同时运行,但实际上在单CPU的运行环境,每一个时刻只有一个程序在执行。因此,从微观上来说,各个程序是交替、轮流执行的,如果计算机系统中有多个CPU,则可将多个程序分配到不同CPU上实现并行运行......
  • 软件项目管理要点
    一.项目管理1.盈亏平衡分析销售额=固定成本+可变成本+税费+利润当利润为0的时候就是盈亏平衡点。2.范围管理  范围定义的输入包括:项目章程、项目范围管理计划、组织过程资产、批准的变更申请。  3.时间管理  项目时间管理中的过程包括活动定义、活动排序、活动......