当前位置: 首页 > 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}

相关文章:

  • 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系统物理行动能力
  • 定时器介绍及简单应用
  • 董军同德国国防部长举行会谈
  • “85后”贵阳市政府驻重庆办事处主任吴育材拟任新职
  • 机构发布“2025中国高职院校排名”
  • 美凯龙:董事兼总经理车建兴被立案调查并留置
  • 中拉论坛部长级会议为何悬挂海地和圣卢西亚的国旗?外交部回应
  • 尊严的代价:新加坡福利体系下的价值困境