无约束优化算法

news/2025/2/22 8:16:32/

第六章 无约束优化算法

本章考虑如下无约束优化问题
min ⁡ x ∈ R n f ( x ) (6.0.1) \min_{x{\in}R^n}f(x)\tag{6.0.1} xRnminf(x)(6.0.1)
其中 f ( x ) f(x) f(x) R n → R R^n{\rightarrow}R RnR的函数,无约束优化问题是众多优化问题中最基本的问题,它对自变量 x x x的取值范围不加限制,所以无需考虑 x x x的可行性。对于光滑函数,我们可以较容易的利用梯度和海瑟矩阵的信息来设计算法;对于非光滑函数,我们可以利用次梯度来构造迭代格式。很多无约束优化问题的算法思想可以推广到其他优化问题上。

无约束优化问题的优化算法主要分为两大类:线搜索类型的优化算法和信赖域类型的优化算法,它们都是对函数 f ( x ) f(x) f(x)在局部进行近似,但处理近似问题的方式不同。
线搜索类算法根据搜索方向的不同可以分为梯度类算法、次梯度算法、牛顿算法、拟牛顿算法等。一旦确定了搜索的方向,下一步即沿着该方向寻找下一个迭代点。
而信赖域算法主要针对 f ( x ) f(x) f(x)二阶可微的情形,它是在一个给定的区域内使用二阶模型近似原问题,通过不断直接求解该二阶模型从而找到最优值点。

6.1 线搜索方法

对于优化问题6.0.1,我们将求解 f ( x ) f(x) f(x)的最小值点的过程比喻成下山的过程,假设一个人处于某点 x x x处, f ( x ) f(x) f(x)表示此处的高度,为了寻找最低点,在点 x x x处需要确定如下两件事情,第一,下一步该向哪一方向行走;第二,沿着该方向行走多远后停下以便选取下一个下山方向,以上这两个因素确定后,便可以一直重复,直至到达 f ( x ) f(x) f(x)的最小值点

线搜索类算法的数学表述为:给定当前迭代点 x k x^k xk,首先通过某种算法选取向量 d k d^k dk,之后确定正数 α k \alpha_k αk,则下一步的迭代点可写作
x k + 1 = x k + α k d k x^{k+1}=x^k+\alpha_kd^k xk+1=xk+αkdk
我们称 d k d^k dk为迭代点 x k x^k xk处的搜索方向, α k \alpha_k αk为相应的步长。这里要求 d k d^k dk是一个下降方向,即 ( d k ) T ∇ f ( x k ) < 0 (d^k)^T\nabla{f(x^k)}<0 (dk)Tf(xk)<0。这个下降性质保证了沿着此方向搜索函数 f f f的值会减少。线搜索类算法的关键是如何选取一个好的方向以及合适的步长。
在本节中,我们回答如何选取 α k \alpha_k αk这一问题,这是因为选取 d k d^k dk的方法千差万别,但选取 α k \alpha_k αk的方法在不同算法中非常相似,首先构造辅助函数
ϕ ( α ) = f ( x k + α d k ) \phi(\alpha)=f(x^k+\alpha{d^k}) ϕ(α)=f(xk+αdk)
其中 d k d^k dk是给定的下降方向, α > 0 \alpha>0 α>0是该辅助函数的自变量,函数 ϕ ( α ) \phi(\alpha) ϕ(α)的几何含义非常直观,它是一个目标函数 f ( x ) f(x) f(x)在射线 { x k + α d k : α > 0 } \{x^k+\alpha{d^k}:\alpha>0\} {xk+αdk:α>0}上的限制。注意到 ϕ ( α ) \phi(\alpha) ϕ(α)是一个一元函数,而我们研究一元函数相对比较方便。
线搜索的目标是选取合适的 α k \alpha_k αk使得 ϕ ( α k ) \phi(\alpha_k) ϕ(αk)尽可能的小,但这项工作并不容易, α k \alpha_k αk应该使得 f f f充分下降,同时不应该在寻找 α k \alpha_k αk上花费过多的计算量,我们需要权衡这两个方面。
首先一个最直接的想法是寻找 α k \alpha_k αk使得
α k = a r g m a x α > 0 ϕ ( α ) \alpha_k=argmax_{\alpha>0}\phi(\alpha) αk=argmaxα>0ϕ(α)
α k \alpha_k αk为最佳步长。这种线搜索算法被称为精确线搜索算法。需要指出的是,使用精确线搜索算法时我们可以在多数情况下得到优化问题的解,但选取 α k \alpha_k αk通常需要很大计算量,在实际应用中较少使用。
另一个想法不要求 α k \alpha_k αk ϕ ( α ) \phi(\alpha) ϕ(α)的最小值点,而仅仅要求 ϕ ( α k ) \phi(\alpha_k) ϕ(αk)满足某些不等式性质。这种线搜索算法被称为非精确线搜索算法

PS:说实话,因为我最近深度学习做的多,好像跟这一块有点区别

6.1.1 线搜索准则

我们选取 α k \alpha_k αk需要满足一定的要求,这些要求被称为线搜索准则。这里指出,线搜索准则的合适与否直接决定了算法的收敛性,若选取不合适的线搜索准则将会导致算法无法收敛
例6.4 考虑一维无约束优化问题
min ⁡ x f ( x ) = x 2 \min_xf(x)=x^2 xminf(x)=x2
迭代初始点 x 0 = 1 x^0=1 x0=1,由于问题是一维的,下降方向只有{-1,1}两种,我们选取 d k = − s i g n ( x k ) d^k=-sign(x^k) dk=sign(xk),且只要求选取的步长满足迭代点处函数值单调下降,考虑选取如下两种步长
α k , 1 = 1 3 k + 1 , α k , 2 = 1 + 2 3 k + 1 \alpha_{k,1}=\frac{1}{3^{k+1}},\alpha_{k,2}=1+\frac{2}{3^{k+1}} αk,1=3k+11,αk,2=1+3k+12
通过简单计算可以得到(一步步递推把,等比公式)
x 1 k = 1 2 ( 1 + 1 3 k ) , x 2 k = ( − 1 ) k 2 ( 1 + 1 3 k ) x_1^k=\frac{1}{2}(1+\frac{1}{3^k}),x_2^k=\frac{(-1)^k}{2}(1+\frac{1}{3^k}) x1k=21(1+3k1),x2k=2(1)k(1+3k1)
可以看到序列 { f ( x 1 k ) } \{f(x_1^k)\} {f(x1k)}和序列 { f ( x 2 k ) } \{f(x_2^k)\} {f(x2k)}均单调下降,但序列1收敛的点不是极小值点,序列2则在原点左右振荡。
出现上述情况的原因是在迭代过程中下降量不够充分或过于多了。以至于算法无法收敛到极小值点,为了避免这种情况发生,必须引入一些更合理的线搜索准则来确保迭代的收敛性。


http://www.ppmy.cn/news/1172098.html

相关文章

【JavaEE】线程安全的集合类 -- 多线程篇(9)

线程安全的集合类 多线程环境使用 ArrayList多线程环境使用队列多线程环境使用哈希表 多线程环境使用 ArrayList 自己使用同步机制 (synchronized 或者 ReentrantLock)Collections.synchronizedList(new ArrayList); synchronizedList 是标准库提供的一个基于 synchronized 进…

ES1:index、type、document、mapping之间的关系

1.1 引言 由于长期使用es&#xff0c;但是对于es的大体结构存在疑惑&#xff0c;于是在此做一个大致总结。 1.2 数据存储结构 在 7.0版本之前&#xff0c;es的数据结构如下&#xff1a; 提示&#xff1a; 通过上图可知&#xff0c;在7.0之前elasticsearch的结构层级是&#…

[Python进阶] 目录相关库:os、pathlib、shutil

6.11 目录相关&#xff1a;os、pathlib、shutil 6.11.1 遍历目录(包含子目录) from icecream import ic import osp1 rG:\TCL for _ in os.walk(p1):ic(_)# 获取目录中所有文件名 files [] for dirpath, dirnames, filenames in os.walk(p1):files.extend(os.path.join(dir…

项目十一文件的应用

认识文件 概述 文件对大家来说很熟悉,常见的有txt文本文档,办公用的word文档等,主要作用就是保存数据 在C语言中,文件时计算机领域的一个重要概念,通常指存储在外部介质上数据的集合。操作系统以文件为单位对数据进行管理,以文件名访问文件。 分类 按文件内容划分源…

大模型的实践应用3-大模型的基础架构Transformer模型,掌握Transformer就掌握了大模型的灵魂骨架

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用3-大模型的基础架构Transformer模型,掌握Transformer就掌握了大模型的灵魂骨架。Transformer是一种基于自注意力机制的深度学习模型,由Vaswani等人在2017年的论文《Attention is All You Need》中提出。它最初被设计用…

STM32F4X之中断二

一、外部中断 外部中断&#xff1a;外部中断的中断是相对于外部中断控制器&#xff08;EXTI&#xff09;来说&#xff0c;如下图所示&#xff1a; EXTI掌管着23根中断线&#xff0c;具体分布图下&#xff1a; 16根连接GPIO口&#xff0c;如下图&#xff1a; 所有的0口连接到中…

网络拓扑图怎么画最好?

你们好&#xff0c;我的网工朋友。 好久没和你们聊拓扑图了&#xff0c;群里总是不乏有人问&#xff0c;拓扑图怎么设计&#xff0c;怎么配置&#xff0c;或者让大佬看看自己做的这图有没有啥问题的…… 画拓扑图的方式有很多&#xff0c;在线软件&#xff0c;Visio&#xff…

【项目经理】工作流引擎

项目经理之 工作流引擎 一、业务系统管理目的维护信息 二、组织架构管理目的维护信息 三、角色矩阵管理目的维护信息 四、条件变量管理目的维护信息 五、流程模型管理目的维护信息 六、流程版本管理目的维护信息 七、流程监管控制目的维护信息 系列文章版本记录 一、业务系统管…