最优化理论复习--使用导数的最优化方法

文章目录

  • 上一篇
  • 最速下降法
  • 牛顿法
  • 下一篇

上一篇

最优化理论复习–最优性条件(二)

最速下降法

考虑无约束问题 m i n f ( x ) , x ∈ R n min f(x), x\in R^n minf(x),xRn, 其中 f ( x ) f(x) f(x) 具有一阶连续偏导数(梯度下降法)
策略:从某一点出发,选择一个目标函数值下降最快的方向,沿此方向搜索以期尽快达到极小点。

下降方向:负梯度方向是最速下降方向
d = − ▽ f ( x ) ∣ ∣ ▽ f ( x ) ∣ ∣ d = -\frac{\bigtriangledown f(x)}{||\bigtriangledown f(x)||} d=f(x)f(x)
注: 在不同的尺度下最速下降方向是不同的

最速下降法的迭代公式:
x k + 1 = x k + λ k d k x_{k + 1} = x_{k} + \lambda_k d_{k} xk+1=xk+λkdk

  • d k d_{k} dk 为搜索方向为 − ▽ f ( x k ) - \bigtriangledown f(x_{k}) f(xk)
  • λ k \lambda_k λk为一维搜索步长,满足 f ( x k + λ k d k ) = min ⁡ λ ≥ 0 f ( x k + λ d k ) f(x_k + \lambda_k d_k) = \min\limits_{\lambda \geq 0} f(x_k + \lambda d_k) f(xk+λkdk)=λ0minf(xk+λdk)

算法步骤:

  1. 给定初始点 x k ∈ E n x_k \in E^n xkEn, 允许误差 ϵ > 0 , k = 1 \epsilon > 0, k = 1 ϵ>0,k=1
  2. 计算搜索方向 d = − ▽ f ( x k ) d = - \bigtriangledown f(x_k) d=f(xk)
  3. ∣ ∣ d k ∣ ∣ ≤ ϵ ||d_k|| \leq \epsilon dkϵ, 停止, 从 x k x_k xk 出发,沿 d k d_k dk 进行一维搜索, 求 λ k \lambda_k λk, 使得 f ( x k + λ k d k ) = min ⁡ λ k ≥ 0 f ( x k + λ d k ) f(x_k + \lambda_k d_k) = \min\limits_{\lambda_k \geq 0} f(x_k + \lambda d_k) f(xk+λkdk)=λk0minf(xk+λdk)
  4. x k + 1 = x k + λ k d k , k = k + 1 x_{k +1} = x_k + \lambda_k d_k, k = k + 1 xk+1=xk+λkdk,k=k+1, 转2

在这里插入图片描述
最速下降法的收敛性是线性收敛的。
条件数越小,收敛越快;条件数越大,收敛越慢
最速下降法存在锯齿现象,因为相邻的两个搜索方向是正交的
在这里插入图片描述

牛顿法

f ( x ) f(x) f(x) 是二次可微函数, x ∈ R n x \in R^n xRn, 又设 x k x_k xk f ( x ) f(x) f(x) 的极小点的一个估计, 将 f ( x ) f(x) f(x) x k x_k xk 点泰勒展开,二阶近似
f ( x ) = f ( x k ) + ▽ f ( x k ) T ( x − x k ) + 1 2 ( x − x k ) T ▽ 2 f ( x k ) ( x − x k ) f(x) = f(x_k) + \bigtriangledown f(x_k)^T (x - x_k) + \frac{1}{2} (x - x_k)^T \bigtriangledown^2 f(x_k) (x - x_k) f(x)=f(xk)+f(xk)T(xxk)+21(xxk)T2f(xk)(xxk)
其中 ▽ 2 f ( x k ) 是 f ( x ) \bigtriangledown ^2 f(x_k) 是f(x) 2f(xk)f(x)在点 x k x_k xk 处的海森矩阵

因此牛顿法的迭代公式为
x k + 1 = x k − ▽ 2 f ( x k ) − 1 ▽ f ( x k ) x_{k + 1} = x_k - \bigtriangledown^2 f(x_k)^{-1} \bigtriangledown f(x_k) xk+1=xk2f(xk)1f(xk)

算法步骤:

  1. 给定初始点 x 0 x_0 x0, 允许误差 ϵ > 0 , k = 1 \epsilon > 0, k = 1 ϵ>0,k=1
  2. ∣ ∣ ▽ f ( x k ) ∣ ∣ ≤ ϵ ||\bigtriangledown f(x_k)|| \leq \epsilon f(xk)ϵ, 停止, 得解 x k x_k xk ,否则, 令 x k + 1 = x k − ▽ 2 f ( x k ) − 1 ▽ f ( x k ) , k = k + 1 x_{k + 1} = x_k - \bigtriangledown^2 f(x_k)^{-1} \bigtriangledown f(x_k), k = k + 1 xk+1=xk2f(xk)1f(xk),k=k+1, 转2

在这里插入图片描述

牛顿法的收敛性是至少二阶收敛的

但是当初始点远离极小点时,牛顿法可能不收敛
因此在牛顿法的基础上增加了步长的概念

阻尼牛顿法
基本思想:增加沿牛顿方向一维搜索

迭代公式
x k + 1 = x k + λ k d k x_{k + 1} = x_k + \lambda_k d_k xk+1=xk+λkdk

  • d k = − ▽ 2 f ( x k ) − 1 ▽ f ( x k ) d_k = - \bigtriangledown^2 f(x_k)^{-1} \bigtriangledown f(x_k) dk=2f(xk)1f(xk)
  • λ k = min ⁡ λ f ( x k + λ d k ) \lambda_k = \min\limits_\lambda f(x_k + \lambda d_k) λk=λminf(xk+λdk)

算法步骤:

  1. 给定初始点 x 0 ϵ > 0 , k = 1 x_0 \epsilon > 0, k = 1 x0ϵ>0,k=1
  2. 计算 ▽ f ( x k ) , ▽ 2 f ( x k ) − 1 \bigtriangledown f(x_k), \bigtriangledown^2 f(x_k) ^{-1} f(xk),2f(xk)1
  3. ∣ ∣ ▽ f ( x k ) ∣ ∣ ≤ ϵ ||\bigtriangledown f(x_k)|| \leq \epsilon f(xk)ϵ,停止,否则令 d k = − ▽ 2 f ( x k ) − 1 ▽ f ( x k ) d_k = - \bigtriangledown^2 f(x_k) ^{-1} \bigtriangledown f(x_k) dk=2f(xk)1f(xk)
  4. x k x_k xk出发,沿方向 d k d_k dk 作一维搜索求 λ k \lambda_k λk,令 x k + 1 = x k + λ k d k x_{k + 1} = x_k + \lambda_k d_k xk+1=xk+λkdk
  5. k = k + 1,转2

二阶矩阵逆矩阵公式:

A = [ a b c d ] A = [ \begin{matrix} a & b \\ c & d \ \end{matrix} ] A=[acbd ], 则 ∣ A ∣ = a d − b c |A| = ad - bc A=adbc
a d − b c ≠ 0 ad - bc \not = 0 adbc=0时, A的逆矩阵为
A − 1 = 1 ∣ A ∣ [ d − b − c a ] A^{-1} = \frac{1}{|A|}[ \begin{matrix} d & -b \\ -c & a \ \end{matrix} ] A1=A1[dcba ]
行列式的倒数乘主对角线互换,副对角线添负号


在这里插入图片描述
为了解决 H e s s i a n Hessian Hessian矩阵不存在的情况,提出修正的牛顿法

方法是在 H e s s i a n Hessian Hessian矩阵的基础上加一个参数的单位矩阵是它化为正定矩阵
构造 G k G_k Gk, I I I 为单位矩阵, ϵ k \epsilon_k ϵk 是一个适当的正数
G k = ▽ 2 f ( x k ) + ϵ k I G_k = \bigtriangledown^2 f(x_k) + \epsilon_k I Gk=2f(xk)+ϵkI

算法步骤:

  1. 给定初始点 x 0 ϵ > 0 , k = 0 x_0 \epsilon > 0, k = 0 x0ϵ>0,k=0
  2. 计算梯度 ▽ f ( x k ) \bigtriangledown f(x_k) f(xk), 若 ∣ ∣ ▽ f ( x k ) ∣ ∣ ≤ ϵ ||\bigtriangledown f(x_k)|| \leq \epsilon f(xk)ϵ, 停止, 得到解 x k x_k xk , 否则跳到3
  3. 计算 H e s s i a n 矩 阵 ▽ 2 f ( x k ) Hessian矩阵 \bigtriangledown^2 f(x_k) Hessian2f(xk), 求修正后的矩阵 G k = ▽ 2 f ( x k ) + θ I G_k = \bigtriangledown^2 f(x_k) + \theta I Gk=2f(xk)+θI 计算修正牛顿方向 d k = − ( G k ) − 1 ▽ f ( x k ) d_k = -(G_k)^{-1} \bigtriangledown f(x_k) dk=(Gk)1f(xk)
  4. x k x_k xk 出发, 沿方向 d k d_k dk 作一维搜索,求步长 λ k \lambda_k λk
    x k + 1 = x k + λ k d k x_{k + 1} = x_k + \lambda_k d_k xk+1=xk+λkdk, k = k + 1, 转2

下一篇

未完待续

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

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

相关文章

信号-进程间通信

信号 1. 信号概述 在 Linux 操作系统中,信号是一种进程间通信的机制,用于通知进程发生了某个事件。信号可以由内核、其他进程,或者进程自身发送。每个信号都对应一个特定的事件或异常,例如进程终止、CtrlC 中断等。 本质上是一…

Linux网络命令

文章目录 Linux网络网络配置命令1、ifconfig:查看网络接口信息(显示所有活动网卡)1.1 常用命令格式1.2 命令格式(图文详解)1.2.1 临时修改网卡名称1.2.2 永久修改网卡名称1.2.3 永久修改单个网卡 2、hostname&#xff…

【深度学习:数据增强】计算机视觉中数据增强的完整指南

【深度学习:数据增强】计算机视觉中数据增强的完整指南 为什么要做数据增强?等等,什么是数据增强?数据增强技术数据增强的注意事项和潜在陷阱什么时候应该做数据增强?类不平衡的数据增强那么我应该选择哪些转换呢&…

基于路径-博弈混合策略的无人机空战机动决策

源自:现代防御技术 作者:张瀚文 甘旭升 魏潇龙 童荣甲 “人工智能技术与咨询” 发布 摘 要 针对无人机的自主空战机动决策问题,设计了基于路径-博弈混合策略的决策算法。首先根据无人机飞行控制过程中,水平机动和垂直机动…

使用kennycason.kumo.WordCloud For JAVA 制作词云图

官网&#xff1a;https://kennycason.com/posts/2014-07-03-kumo-wordcloud.html 一&#xff1a;添加POM文件 <!-- 词云 --><dependency><groupId>com.kennycason</groupId><artifactId>kumo-core</artifactId><version>1.27<…

C# Emgu.CV4.8.0读取rtsp流录制mp4可分段保存

【官方框架地址】 https://github.com/emgucv/emgucv 【算法介绍】 EMGU CV&#xff08;Emgu Computer Vision&#xff09;是一个开源的、基于.NET框架的计算机视觉库&#xff0c;它提供了对OpenCV&#xff08;开源计算机视觉库&#xff09;的封装。EMGU CV使得在.NET应用程序…

「服务器」4.新手小白如何安装服务器环境-宝塔

刚开始初始化好的服务器&#xff0c;使用了阿里云客户端&#xff0c;看着网络脚本乱装&#xff0c;后来决定宝塔环境发现有重复的环境&#xff0c;遂决定重新初始化一下&#xff0c;然后重头干起。 重置服务器 将服务器关闭运行状态后&#xff0c;点击重新初始化云盘即可重新初…

Vue3导出el-table为execl文件

在开发时遇到了这样的需求&#xff0c;整理之后向大家分享一下&#xff0c;欢迎积极讨论与指正哦 因为在实现表格时使用了分页插件&#xff0c;在导出时只能导出本页的内容&#xff0c;最后选择了这样的方法&#xff1a; 正常显示的表格使用分页后的数据 在这里设置了id 而用…

计算机网络-各层协议

大家在搞嵌入式开发的时候基本都了解过七层网络协议、五层网络协议、四层网络协议&#xff0c;那么今天让我们更加的深入了解一下&#xff1a; 历史发展介绍 OSI七层模型由ISO国际标准化组织提出的通信标准。TCP/IP四层模型是OSI七层模型的简化版&#xff0c;OSI在它被官方完…

LINUX基础第十一章:文件系统与日志服务管理

目录 一.LINUX文件系统 1.inode表和block &#xff08;1&#xff09;inode &#xff08;2&#xff09;block 2.查看inode号命令 3.Linux系统文件三种主要时间属性 4.磁盘空间还剩余很多但无法继续创建文件 5.inode大小 二.日志 1.日志保存位置 2.日志文件的分类 &am…

借助 ControlNet 生成艺术二维码 – 基于 Stable Diffusion 的 AI 绘画方案

&#xfeff;背景介绍 在过去的数月中&#xff0c;亚马逊云科技已经推出了多篇 Blog&#xff0c;来介绍如何在亚马逊云科技上部署 Stable Diffusion&#xff0c;或是如何结合 Amazon SageMaker 与 Stable Diffusion 进行模型训练和推理任务。 为了帮助客户快速、安全地在亚马…

高通平台开发系列讲解(USB篇)adb function代码分析

文章目录 一、FFS相关动态打印二、代码入口三、ffs_alloc_inst四、ep0、ep1&ep2的注册五、读写过程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文主要介绍高通平台USB adb function代码f_fs.c。 一、FFS相关动态打印 目录:msm-4.14/drivers/usb/gadget/fun…