阻尼Newton方法-数值最优化方法-课程学习笔记-5

news2024/11/22 22:46:10

这篇文章我们继续来学习数值最优化方法第三章的后续内容

阻尼Newton方法

这一章我们以及在之前了解过了:最速下降法,基本Newton方法,这一节我们来了解阻尼newton方法

之前我们提到的基本Newton方法是以一固定步长和Newton方向进行迭代的,但是我们学习过线搜索,自然会想到这样的固定步长迭代是否会不合适, 所以对于此进行优化的方法阻尼 Newton 方法就产生了

相比于基本Newton方法,阻尼Newton方法只有一点不一样:
x k + 1 = x k + α k d k x_{k+1}=x_k+\alpha_kd_k xk+1=xk+αkdk
其中的 α k \alpha_k αk是一维线搜索得到的结果

这样的方法能够保证对函数 Hassen矩阵正定的前提下函数值单调下降,于基本Newton方法不同的是,即使迭代点离 x ∗ x^* x稍远这个方法也有可能收敛到最低点

对于严格凸函数,采用Wolfe准则的阻尼Newton方法具有全局收敛性
这里附上图集和凸函数的正式定义
在这里插入图片描述在这里插入图片描述

有定理如下:
设严格凸函数 f ( x ) ∈ C 2 , ∀ x 0 ∈ R , ∃ β > 0 f(x)\in C^2,\forall x_0\in R,\exist \beta>0 f(x)C2,x0R,β>0,使得 f ( x ) f(x) f(x)在水平集 L ( x 0 ) = { x ∣ f ( x ) ≤ f ( x 0 ) } L(x_0)=\{x|f(x)\leq f(x_0)\} L(x0)={xf(x)f(x0)}上满足
μ T G ( x ) μ ≥ β ∣ ∣ μ ∣ ∣ 2 , μ ∈ R n , x ∈ L ( x 0 ) \mu^TG(x)\mu\geq\beta ||\mu||^2,\mu\in R^n,x\in L(x_0) μTG(x)μβ∣∣μ2,μRn,xL(x0)
则采用Wolfe准则的阻尼Newton方法产生的 { x k } \{x_k\} {xk}满足下列二者之一

  • { x k } \{x_k\} {xk}是有穷点列,即存在N,使得 g N = 0 g_N=0 gN=0
  • { x k } \{x_k\} {xk}是无穷点列,则会收敛到 f f f的唯一极小点 x ∗ x^* x

证明:
首先假设 x 1 , x 2 ∈ L ( x 0 ) x_1,x_2\in L(x_0) x1,x2L(x0),则 f ( x 1 ) ≤ f ( x 0 ) , f ( x 2 ) ≤ f ( x 0 ) f(x_1)\leq f(x_0),f(x_2)\leq f(x_0) f(x1)f(x0),f(x2)f(x0)
再给定 x = λ x 1 + ( 1 − λ ) x 2 , λ ∈ [ 0 , 1 ] x=\lambda x_1+(1-\lambda)x_2,\lambda\in[0,1] x=λx1+(1λ)x2,λ[0,1],又因为 f ( x ) f(x) f(x)是凸函数,则
f ( x ) = f ( λ x 1 + ( 1 − λ ) x 2 ) ≤ λ f ( x 1 ) + ( 1 − λ ) f ( x 2 ) ≤ λ f ( x 0 ) + ( 1 − λ ) f ( x 0 ) = f ( x 0 ) f(x)=f(\lambda x_1+(1-\lambda)x_2)\leq \lambda f(x_1)+(1-\lambda)f(x_2)\leq \lambda f(x_0)+(1-\lambda)f(x_0)=f(x_0) f(x)=f(λx1+(1λ)x2)λf(x1)+(1λ)f(x2)λf(x0)+(1λ)f(x0)=f(x0)
所以 x x x满足 L ( x 0 ) L(x_0) L(x0)集合的条件, x ∈ L ( x 0 ) x\in L(x_0) xL(x0),则 L ( x 0 ) L(x_0) L(x0)满足凸集的定义
设存在序列 { x k } ⊂ L ( x 0 ) \{x_k\}\subset L(x_0) {xk}L(x0),这个序列的极限是函数极小值点,由函数的连续性可知 lim ⁡ k → ∞ f ( x k ) = f ( x ∗ ) ≤ f ( x 0 ) \lim_{k\rightarrow \infin} f(x_k)=f(x^*)\leq f(x_0) limkf(xk)=f(x)f(x0),则可知 f ( x ∗ ) ∈ L ( x 0 ) f(x^*)\in L(x_0) f(x)L(x0) L ( x 0 ) L(x_0) L(x0)是闭集
另外我们有 ∀ x , y ∈ L ( x 0 ) \forall x,y\in L(x_0) x,yL(x0),由泰勒展开可得 f ( y ) ≥ f ( x ) + g ( x ) T ( y − x ) + 1 2 ( y − x ) T G ( x + θ ( y − x ) ) ( y − x ) , θ ∈ ( 0 , 1 ) f(y)\geq f(x)+g(x)^T(y-x)+\frac{1}{2}(y-x)^TG(x+\theta(y-x))(y-x),\theta\in(0,1) f(y)f(x)+g(x)T(yx)+21(yx)TG(x+θ(yx))(yx),θ(0,1)
且由假设 μ T G ( x ) μ ≥ β ∣ ∣ μ ∣ ∣ 2 , μ ∈ R n , x ∈ L ( x 0 ) \mu^TG(x)\mu\geq\beta ||\mu||^2,\mu\in R^n,x\in L(x_0) μTG(x)μβ∣∣μ2,μRn,xL(x0)可得 f ( y ) ≥ f ( x ) + g ( x ) T ( y − x ) + 1 2 β ∣ ∣ y − x ∣ ∣ 2 f(y)\geq f(x)+g(x)^T(y-x)+\frac{1}{2}\beta||y-x||^2 f(y)f(x)+g(x)T(yx)+21β∣∣yx2
这时候我们取 x = x 0 x=x_0 x=x0,则有 f ( y ) ≥ f ( x 0 ) + g ( x 0 ) T ( y − x 0 ) + 1 2 β ∣ ∣ y − x 0 ∣ ∣ 2 f(y)\geq f(x_0)+g(x_0)^T(y-x_0)+\frac{1}{2}\beta||y-x_0||^2 f(y)f(x0)+g(x0)T(yx0)+21β∣∣yx02
f ( y ) − f ( x 0 ) ≥ g ( x 0 ) T ( y − x 0 ) + 1 2 β ∣ ∣ y − x 0 ∣ ∣ 2 ≥ − ∣ ∣ g ( x 0 ) ∣ ∣   ∣ ∣ y − x 0 ∣ ∣ + 1 2 β ∣ ∣ y − x 0 ∣ ∣ 2 f(y)-f(x_0)\geq g(x_0)^T(y-x_0)+\frac{1}{2}\beta||y-x_0||^2\geq -||g(x_0)||\ ||y-x_0||+\frac{1}{2}\beta||y-x_0||^2 f(y)f(x0)g(x0)T(yx0)+21β∣∣yx02∣∣g(x0)∣∣ ∣∣yx0∣∣+21β∣∣yx02
又因为 L ( x 0 ) L(x_0) L(x0)的定义,可知 f ( y ) ≤ f ( x 0 ) f(y)\leq f(x_0) f(y)f(x0),则 0 ≥ − ∣ ∣ g ( x 0 ) ∣ ∣   ∣ ∣ y − x 0 ∣ ∣ + 1 2 β ∣ ∣ y − x 0 ∣ ∣ 2 0\geq -||g(x_0)||\ ||y-x_0||+\frac{1}{2}\beta||y-x_0||^2 0∣∣g(x0)∣∣ ∣∣yx0∣∣+21β∣∣yx02
∣ ∣ y − x 0 ∣ ∣ ≤ 2 β ∣ ∣ g ( x 0 ) ∣ ∣ ||y-x_0||\leq \frac{2}{\beta}||g(x_0)|| ∣∣yx0∣∣β2∣∣g(x0)∣∣
又已知 f ( x ) f(x) f(x)是严格凸函数,那么其稳定点肯定是唯一的全局极小点
{ x k } \{x_k\} {xk}是无穷点列,因为这个点列属于 L ( x 0 ) L(x_0) L(x0)这个有界集,不妨假设这个点集的极限为 x ′ x' x ,显然也有 x ′ ∈ L ( x 0 ) x'\in L(x_0) xL(x0),而我们的阻尼Newton方法产生的函数值单调下降有下界,所以有 f k → f x ′ f_k\rightarrow f_{x'} fkfx,接下来我们回顾一下第二章学习过的非精确线搜索方法的收敛性
在这里插入图片描述
显然我们想要有 x ′ = x ∗ x'=x^* x=x也就是 g k → 0 g_k\rightarrow 0 gk0,只需要 ∃ μ , 0 ≤ θ k ≤ π 2 − μ \exist \mu,0\leq \theta_k\leq \frac{\pi}{2}-\mu μ,0θk2πμ
又有 G ( x ) G(x) G(x)连续和 L ( x 0 ) L(x_0) L(x0)是紧集(闭集+凸集),则存在 γ > 0 , ∀ x ∈ L ( x 0 ) , ∣ ∣ G ( x ) ∣ ∣ < γ \gamma>0,\forall x\in L(x_0),||G(x)||< \gamma γ>0,xL(x0),∣∣G(x)∣∣<γ
∣ ∣ g k ∣ ∣ = ∣ ∣ G k d k ∣ ∣ ≤ γ ∣ ∣ d k ∣ ∣ ||g_k||=||G_kd_k||\leq \gamma||d_k|| ∣∣gk∣∣=∣∣Gkdk∣∣γ∣∣dk∣∣,所以有 π 2 − θ k ≥ s i n ( π 2 − θ k ) = c o s θ k = − g k T d k ∣ ∣ g k ∣ ∣   ∣ ∣ d k ∣ ∣ = d k T G k d k ∣ ∣ g k ∣ ∣   ∣ ∣ d k ∣ ∣ ≥ β γ \frac{\pi}{2}-\theta_k\geq sin(\frac{\pi}{2}-\theta_k)=cos\theta_k=\frac{-g_k^Td_k}{||g_k||\ ||d_k||}=\frac{d_k^TG_kd_k}{||g_k||\ ||d_k||}\geq\frac{\beta}{\gamma} 2πθksin(2πθk)=cosθk=∣∣gk∣∣ ∣∣dk∣∣gkTdk=∣∣gk∣∣ ∣∣dk∣∣dkTGkdkγβ
θ k ≤ π 2 − β γ \theta_k\leq \frac{\pi}{2}-\frac{\beta}{\gamma} θk2πγβ
自然可以得证第二种情况,显然当收敛在有限步结束了自然满足第一种情况
需要记住的是上面的非精确线搜索收敛性准则我们其实之前有提过是对精确线搜索以及Goldstein准则都成立的,所以采用这些准则的阻尼 Newton 方法对严格凸函数的全局收敛性同样是存在的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2244537.html

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

相关文章

力扣 只出现一次的数字-136

只出现一次的数字-136 class Solution { public:int singleNumber(vector<int>& nums) {//按位异或的规则是&#xff1a;两个二进制位相同时结果为0&#xff0c;不同时结果为1//具有自反性&#xff0c;两个二进制位相同时结果为0&#xff0c;一个数(a)和0按位异或的…

Vue.js 自定义指令:从零开始创建自己的指令

vue使用directive 前言vue2使用vue3使用 前言 关于使用自定义指令在官网中是这样描述的 vue2:对普通 DOM 元素进行底层操作&#xff0c;这时候就会用到自定义指令。 vue3:自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑。 在 Vue.js 中使用自定义指令&#xf…

MySQL-关键字执行顺序

&#x1f496;简介 在MySQL中&#xff0c;SQL查询语句的执行遵循一定的逻辑顺序&#xff0c;即使这些关键字在SQL语句中的物理排列可能有所不同。 &#x1f31f;语句顺序 (8) SELECT (9) DISTINCT<select_list> (1) FROM <left_table> (3) <join_type> JO…

Odoo :免费且开源的农牧行业ERP管理系统

文 / 开源智造Odoo亚太金牌服务 引言 提供农牧企业数字化、智能化、无人化产品服务及全产业链高度协同的一体化解决方案&#xff0c;提升企业智慧种养、成本领先、产业互联的核心竞争力。 行业典型痛点 一、成本管理粗放&#xff0c;效率低、管控弱 产品研发过程缺少体系化…

labview记录系统所用月数和天数

在做项目时会遇到采集系统的记录&#xff0c;比如一个项目测试要跑很久这个时候就需要在软件系统上显示项目运行了多少天&#xff0c;从开始测试开始一共用了多少年多少月。 年的话还好计算只需要把年份减掉就可以了&#xff0c;相比之下月份和天数就比较难确定&#xff0c;一…

【C++笔记】list使用详解及模拟实现

前言 各位读者朋友们大家好&#xff01;上期我们讲了vector的使用以及底层的模拟实现&#xff0c;这期我们来讲list。 目录 前言一. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.…

window 中安装 php 环境

window 中安装 php 环境 一、准备二、下载三、安装四、测试 一、准备 安装前需要安装 Apache &#xff0c;可以查看这篇博客。 二、下载 先到这里下载 这里选择版本为“VS16 x64 Thread Safe”&#xff0c;这个版本不要选择线程安全的&#xff0c;我试过&#xff0c;会缺少文…

【大模型】LLaMA: Open and Efficient Foundation Language Models

链接&#xff1a;https://arxiv.org/pdf/2302.13971 论文&#xff1a;LLaMA: Open and Efficient Foundation Language Models Introduction 规模和效果 7B to 65B&#xff0c;LLaMA-13B 超过 GPT-3 (175B)Motivation 如何最好地缩放特定训练计算预算的数据集和模型大小&…

流程图图解@RequestBody @RequestPart @RequestParam @ModelAttribute

RequestBody 只能用一次&#xff0c;因为只有一个请求体 #mermaid-svg-8WZfkzl0GPvOiNj3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-8WZfkzl0GPvOiNj3 .error-icon{fill:#552222;}#mermaid-svg-8WZfkzl0GPvOiNj…

论文阅读--supervised learning with quantum enhanced feature spaces

简略摘要 量子算法实现计算加速的核心要素是通过可控纠缠和干涉利用指数级大的量子态空间。本文在超导处理器上提出并实验实现了两种量子算法。这两种方法的一个关键组成部分是使用量子态空间作为特征空间。只有在量子计算机上才能有效访问的量子增强特征空间的使用为量子优势提…

django+boostrap实现注册

一、django介绍 Django 是一个高级的 Python 网络框架&#xff0c;可以快速开发安全和可维护的网站。由经验丰富的开发者构建&#xff0c;Django 负责处理网站开发中麻烦的部分&#xff0c;因此你可以专注于编写应用程序&#xff0c;而无需重新开发。 它是免费和开源的&#x…

【面试题】接口怎么测试?如何定位前后端的Bug?

接口怎么测试&#xff1f; 接口测试用来验证不同软件组件之间的交互是否正常。包括验证数据传输&#xff0c;参数传递&#xff0c;我在多个项目中有过测试接口的经验。&#xff08;… 当进行接口测试时&#xff0c;会使用Postman和Python的Requests库。首先根据接口文档设计测…

151页PDF | XX集团数字化转型SAP项目规划方案(限免下载)

一、前言 这份报告是XX集团数字化转型SAP项目规划方案&#xff0c;该报告涵盖了集团战略解读、管理痛点分析、信息化建设目标、整体架构方案、实施策略、SAP系统价值和预期收益&#xff0c;旨在通过数字化推动集团运营模式变革&#xff0c;实现降本增效和价值创新。 《XX集团…

iOS逆向入门:使用theos注入第三方依赖库

背景 theos是一个跨平台的软件开发框架&#xff0c;常用于管理&#xff0c;开发和部署iOS项目&#xff0c;同时也是开发iOS越狱插件的主要工具。和MonkeyDev不同的是&#xff0c;它不依赖于xcode&#xff0c;可以在多个操作系统上运行。一个完整的iOS越狱开发流程包括&#xf…

LLM文档对话 —— pdf解析关键问题

一、为什么需要进行pdf解析&#xff1f; 最近在探索ChatPDF和ChatDoc等方案的思路&#xff0c;也就是用LLM实现文档助手。在此记录一些难题和解决方案&#xff0c;首先讲解主要思想&#xff0c;其次以问题回答的形式展开。 二、为什么需要对pdf进行解析&#xff1f; 当利用L…

HarmonyOS Next 浅谈 发布-订阅模式

HarmonyOS Next 浅谈 发布-订阅模式 前言 其实在目前的鸿蒙应用开发中&#xff0c;或者大前端时代、vue、react、小程序等等框架、语言开发中&#xff0c;普通的使用者越来越少的会碰到必须要掌握设计模式的场景。大白话意思就是一些框架封装太好了&#xff0c;使用者只管在它…

【HCIP]——OSPF综合实验

题目 实验需求 根据上图可得&#xff0c;实验需求为&#xff1a; 1.R5作为ISP&#xff1a;其上只能配置IP地址&#xff1b;R4作为企业边界路由器&#xff0c;出口公网地址需要通过PPP协议获取&#xff0c;并进行CHAP认证。&#xff08;PS&#xff1a;因PPP协议尚未学习&#…

利用大语言模型对基准数据集在预处理和微调过程的数据污染检测

概述 虽然大规模语言模型发展迅速&#xff0c;但对其进行评估却变得越来越困难。人们在短时间内建立了许多基准来评估大规模语言模型的性能&#xff0c;但这些分数并不一定反映真实世界的性能。此外&#xff0c;还有人指出&#xff0c;这些基准数据集可能受到预处理和微调过程…

【SKFramework框架】一、框架介绍

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群&#xff1a;398291828小红书小破站 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【Unity3D框架】SKFramework框架完全教程《全…

Linux中定时操作

一、一次性定时 这里以23&#xff1a;00为例 输入相关时间----at 23&#xff1a;00 所保存在哪个文件里------ ls /root > at.txt <EOT> &#xff08;ctrld退出到root&#xff09; 查看计划任务 ------ at -l 最后删除任务----at -d 2 二、周期性定时&#xf…