无约束优化算法

第六章 无约束优化算法

本章考虑如下无约束优化问题
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.mzph.cn/news/115872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大学英语试卷

大学英语试卷 If everyone learns to set forth facts and reason things out in social life, many of the contradictions are easy to ____. A. oblige B. engage C. resolve D. commitIf we let the fastest runner set the____, the others will fall behind. A. pace B.…

【Linux】源码编译安装openssl

版本&#xff1a;OpenSSL 3.0.11 19 Sep 2023 (Library: OpenSSL 3.0.11 19 Sep 2023) 系统&#xff1a;centos 7.6 步骤 下载安装包 wget https://www.openssl.org/source/openssl-3.0.11.tar.gz我是下载到 /home/openssl 下面 解压并编译 解压安装包 tar -zxvf openss…

网安周报|OpenSSF 推出恶意软件包存储库

1.OpenSSF 推出恶意软件包存储库 为了应对恶意开源软件包日益增长的威胁&#xff0c;开源安全基金会 ( OpenSSF ) 推出了一项名为“恶意软件包存储库”的新计划。该存储库可能会成为打击恶意代码的主要参与者&#xff0c;旨在增强开源软件生态系统的安全性和完整性。该存储库已…

深入理解JVM虚拟机第十二篇:JVM中的线程说明

文章目录 一:线程说明 1:线程概述 2:后台虚拟机主要线程 (一):虚拟机线程

软考系列(系统架构师)- 2020年系统架构师软考案例分析考点

试题一 软件架构&#xff08;架构风格、质量属性&#xff09; 【问题1】&#xff08;13分&#xff09; 针对该系统的功能&#xff0c;李工建议采用管道-过滤器&#xff08;pipe and filter)的架构风格&#xff0c;而王工则建议采用仓库&#xff08;reposilory)架构风格。请指出…

RAID和LVM配置指南:创建、扩容和管理RAID设备和逻辑卷的方法

文章目录 1. 简介1.1 什么是RAID和LVM1.2 RAID和LVM的作用和优势 2. RAID配置命令&#xff1a;mdadm2.1 安装mdadm2.2 创建RAID设备2.2.1 RAID 02.2.2 RAID 12.2.3 RAID 52.2.4 RAID 10 2.3 添加磁盘到RAID设备2.4 删除磁盘从RAID设备2.5 查看和管理RAID设备2.6 故障处理与恢复…

C语言文件操作(1)

C语言文件操作&#xff08;1&#xff09; 文章目录 C语言文件操作&#xff08;1&#xff09;一、理解文件1.概述2.分类①.正常角度②.文本文件和二进制文件 二、文件的打开和关闭1.流和标准流2.文件类型指针3.文件的打开和关闭以及使用类型 三、文件缓冲区 一、理解文件 1.概述…

【iOS】JSONModel的基本使用

文章目录 前言一、导入JSONModel二、JSONModel的基本使用1.基本用法2.模型集合3.模型导出为NSDictionary或JSON4.设置所有属性可选&#xff08;所有属性值可以为空&#xff09;5.下划线(蛇式)转驼峰命名法 前言 JSONModel 是一个用于 Objective-C 的开源库&#xff0c;它用于简…

Android View拖拽startDragAndDrop,Kotlin

Android View拖拽startDragAndDrop&#xff0c;Kotlin import android.os.Bundle import android.util.Log import android.view.DragEvent import android.view.View import android.view.View.OnDragListener import android.view.View.OnLongClickListener import android.w…

后台管理系统SQL注入漏洞

对于edu来说&#xff0c;是新人挖洞较好的平台&#xff0c;本次记录一次走运的捡漏0x01 前景 在进行fofa盲打站点的时候&#xff0c;来到了一个后台管理处看到集市二字&#xff0c;应该是edu站点 确认目标身份&#xff08;使用的quake进行然后去ipc备案查询&#xff09; 网…

寻找二叉树一个节点的后继节点

后继节点&#xff1a;中序遍历的后一个节点 普通二叉树&#xff1a;中序遍历得到一个list&#xff0c;时间复杂度O(n) 本题的二叉树&#xff1a;有父节点的指针&#xff0c;后继节点与原节点的距离为1&#xff0c;因此可以直接通过父节点找到下一个节点 优化&#xff1a;节点…

Mac 开机提示Google LLC 注册 无法登录进入系统

Google LLC 会在电脑启动时提示如下弹窗&#xff0c;并要求登录谷歌账户进行验证 此时很明显没有用来进行验证的账号&#xff0c;所以需要关掉这个验证程序 从日志里面可以看到LLC启动了一个Tiny.app的程序 只需要想办法把这个程序删掉即可 关机 按住 Command R 开机 进入R…

华为OD 机智的外卖员(100分)【java】A卷+B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…

Openssl数据安全传输平台004:Socket C-API封装为C++类 / 服务端及客户端代码框架和实现

文章目录 0. 代码仓库1. 客户端C API2. 客户端C API的封装分析2.1 sckClient_init()和sckClient_destroy()2.2 sckClient_connect2.3 sckClient_closeconn()2.4 sckClient_send()2.5 sckClient_rev()2.6 sck_FreeMem 3. 客户端C API4. 服务端C API5. 服务端C6. 客户端和服务端代…

【算法优选】 前缀和专题——贰

文章目录 &#x1f60e;前言&#x1f334;[寻找数组的中心下标](https://leetcode.cn/problems/find-pivot-index/description/)&#x1f6a9;题目描述&#x1f6a9;算法思路&#xff1a;&#x1f6a9;代码实现 &#x1f38b;[除自身以外数组的乘积](https://leetcode.cn/probl…

【MySQL架构篇】MySQL字符集、大小写规范及默认数据库

文章目录 1. 字符集与字符集比较规则2. 大小写规范3. 默认数据库4. 与文件系统相关 1. 字符集与字符集比较规则 MySQL有4个级别的字符集和比较规则&#xff0c;分别是 服务器级别数据库级别表级别列级别 当创建对应表或列未指定字符集时&#xff0c;默认会取其上一级别的字符…

stream流相关操作

stream真的没有什么好说的&#xff0c;filter、map这俩常用的程序可以说每天都要写好几遍&#xff0c;那么问题来了&#xff0c;为什么还要拿出来讲讲呢&#xff1f;当然不可能是因为想要划水&#xff0c;主要是工作中它的其他相关方法也有不少涉及。以下是按照不同需求涉及到的…

docker 安装 Centos7

1. 从docker 安装 Centos7 查看有哪些 centos7 系统&#xff1a;docker search centos72. 安装 centos7 docker pull docker.io/ansible/centos7-ansible3.使用镜像创建容器 docker run -itd -p 8022:22 --namevm01 -v /bodata:/bodata -h vm01 --privilegedtrue 688353a31…

#力扣:面试题 02.03. 删除中间节点@FDDLC

面试题 02.03. 删除中间节点 - 力扣&#xff08;LeetCode&#xff09; 一、Java /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val x; }* }*/ class Solution {public void deleteNode(List…

华为OD 字符串统计(全量和占用字符集)(100分)【java】B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…