当前位置: 首页 > news >正文

优化方法介绍(二)

优化方法介绍(二)

本博客是一个系列博客,主要是介绍各种优化方法,使用 matlab 实现,包括方法介绍,公式推导和优化过程可视化

1 BFGS 方法介绍

BFGS 的其实就是一种改良后的牛顿法,因为计算二阶导数 Hessian 矩阵所需的计算资源是比较大的,复杂度为 O ( 2 ⋅ n 2 ) \mathcal{O}(2 \cdot n^2) O(2n2) , 其中 n n n 为函数中的变量数量,当 n n n 比较大时,计算量就相当大了。BFGS 的思路就是,既然更新公式中需要的是 Hessian 矩阵的逆,那我们通过某种方法来拟合它不就好了

p k = − G k − 1 ⋅ g k p_k = -G_k^{-1} \cdot g_k pk=Gk1gk

经过数学家们的推导,Hessian 矩阵的逆 G k − 1 G_k^{-1} Gk1 可以近似为

D k + 1 = ( I − s k ⋅ y k T y k T ⋅ s k ) D k ( I − y k ⋅ s k T y k T ⋅ s k ) + s k ⋅ s k T y k T ⋅ s k D_{k+1} = (I - \frac{\mathbf{s}_k \cdot \mathbf{y}_k^{\mathrm{T}}}{\mathbf{y}_k^{\mathrm{T}} \cdot \mathbf{s}_k}) D_k (I - \frac{\mathbf{y}_k \cdot \mathbf{s}_k^{\mathrm{T}}}{\mathbf{y}_k^{\mathrm{T}} \cdot \mathbf{s}_k}) + \frac{\mathbf{s}_k \cdot \mathbf{s}_k^{\mathrm{T}}}{\mathbf{y}_k^{\mathrm{T}} \cdot \mathbf{s}_k} Dk+1=(IykTskskykT)Dk(IykTskykskT)+ykTskskskT

其中, s k = x k − x k − 1 \mathbf{s}_k = \mathbf{x}_k - \mathbf{x}_{k-1}

http://www.dtcms.com/a/130499.html

相关文章:

  • BiFPN与RepViT协同机制在YOLOv8目标检测中的应用与优化
  • Linux:38信号捕捉_穿插中断
  • Linux--线程同步与互斥
  • 探秘 Ruby 与 JavaScript:动态语言的多面风采
  • 最新如何在服务器中解决FFmpeg下载、安装和配置问题教程(Linux|Windows|Mac|Ubuntu)
  • 【测试】-- 测试用例
  • 基于ollama与ragflow实现本地知识库
  • 2025年认证杯数学建模竞赛A题完整分析论文(含模型、可运行代码)(共32页)
  • CSS 表格样式学习笔记
  • debian转移根目录
  • Java泛型程序设计(持续更新)
  • Kubernetes节点驱逐机制详解:保障集群稳定性的最后防线
  • 学Qt笔记
  • 计算机的运算方式
  • opencv实际应用--银行卡号识别
  • 探秘数据库连接池:HikariCP与Tomcat JDBC
  • Allpairs工具下载及操作流程(联动Deepseek)
  • Deepseek Bart模型相比Bert的优势
  • 生成与强化学习:赋予VLA系统物理行动能力
  • 定时器介绍及简单应用
  • 双Token实现用户登录身份认证-Java版
  • numpy练习
  • kubernetes常见Pod状态
  • 八股面经【2025/4/13】
  • 《算法导论》Ch.17_学习笔记
  • L1-6 大勾股定理
  • CST1018.基于Spring Boot+Vue滑雪场管理系统
  • 经典SQL练习题50道
  • 【数字图像处理】机器视觉基础
  • 分布式日志治理:Log4j2自定义Appender写日志到RocketMQ