最优化学习笔记(十八)——拟牛顿法(4)DFP算法
秩2算法可以保证在任意第kk步迭代下, 只要一维搜索是精确的,近似矩阵Hk\boldsymbol{H}_k就是正定的。
DFP算法
- 令k=0k=0,选择初始点x(0)\boldsymbol{x}^{(0)},任意选择一个堆成正定实矩阵H0\boldsymbol{H}_0。
- 如果g(k)=0\boldsymbol{g}^{(k)} = \boldsymbol{0}, 停止迭代; 否则,令d(k)=−Hkg(k)\boldsymbol{d}^{(k)} =-\boldsymbol{H}_k\boldsymbol{g}^{(k)}
- 计算
αk=argminα≥0f(x(k)+αd(k))x(k+1)=x(k)+αkd(k)
\alpha_k = \arg \min_{\alpha \ge 0} f(\boldsymbol{x}^{(k)} + \alpha\boldsymbol{d}^{(k)} ) \\ \boldsymbol{x}^{(k+1)} = \boldsymbol{x}^{(k)} + \alpha_k\boldsymbol{d}^{(k)}
4.计算Δx(k)=αkd(k)Δg(k)=g(k+1)−g(k)Hk+1=Hk+Δx(k)Δx(k)TΔx(k)TΔg(k)+[HkΔg(k)][HkΔg(k)]TΔg(k)THkΔg(k)\Delta\boldsymbol{x}^{(k)} = \alpha_k\boldsymbol{d}^{(k)} \\ \Delta\boldsymbol{g}^{(k)} = \boldsymbol{g}^{(k+1)} - \boldsymbol{g}^{(k)}\\ \boldsymbol{H}_{k+1} = \boldsymbol{H}_k + \frac{\Delta\boldsymbol{x}^{(k)}\Delta\boldsymbol{x}^{(k)T}}{\Delta\boldsymbol{x}^{(k)T}\Delta\boldsymbol{g}^{(k)} } +\frac{[\boldsymbol{H}_k \Delta\boldsymbol{g}^{(k)}][\boldsymbol{H}_k \Delta\boldsymbol{g}^{(k)}]^T}{\Delta\boldsymbol{g}^{(k)T}\boldsymbol{H}_k \Delta\boldsymbol{g}^{(k)}}
5.令 k==k+1k==k+1, 回到第二步。
定理18.1 利用DFP算法求解二次型问题时,Hessian矩阵为Q=QT,有Hk+1Δg(i)=Δx(i),0≤i≤k\boldsymbol{Q} = \boldsymbol{Q}^T, 有\boldsymbol{H}_{k+1}\Delta\boldsymbol{g}^{(i)}=\Delta\boldsymbol{x}^{(i)}, 0 \le i \le k成立。
需要说明的是DFP算法是一种共轭方法。
定理18.2 假定g(k)≠0\boldsymbol{g}^{(k)} \ne \boldsymbol{0},在DFP算法中,只要矩阵Hk\boldsymbol{H}_{k}是正定的, Hk+1\boldsymbol{H}_{k+1}就一定是正定的。
DFP算法能够使得Hk\boldsymbol{H}_{k}是正定的,因此它由于秩1算法,但是,处理一些规模较大的非二次型问题时,DFP算法会被“卡住”,迭代无法继续展开,原因是Hk\boldsymbol{H}_{k}矩阵接近称为奇异矩阵了,后续的BFGS算法可以解决这一问题。
最优化学习笔记(十八)——拟牛顿法(4)DFP算法相关推荐
- 最优化学习笔记(十九)——拟牛顿法(5)BFGS算法
一.BFGS算法的更新公式 为了推导BFGS算法,需要用到对偶或者互补的概念,前边已经讨论过hessian矩阵逆矩阵的近似矩阵需要满足以下条件: Hk+1Δg(i)=Δx(i)0≤i≤k \bolds ...
- 最优化学习笔记(十六)——拟牛顿法(2)
Hessian矩阵逆矩阵的近似 一.拟牛顿法的基本思路 令H0,H1,H2,-\boldsymbol{H_0,H_1, H_2}, \dots表示Hessian矩阵逆矩阵F(x(k))−1\bolds ...
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置...
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置 Download JetBrains Python IDE :: PyCharm http://ww ...
- windows内核开发学习笔记十八:IRP 处理的标准模式
windows内核开发学习笔记十八:IRP 处理的标准模式 在 Windows 内核中的请求基本上是通过 I/O Request Packet 完成的. I/O manager ---> Dis ...
- Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件
Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件 插件是由PolyWorks加载的动态链接库(DLL文件),然后查询Polyworks模块,以确定它们具有哪些功能,提供给 ...
- 学习笔记(十八):MoRe-Fi用深度学习网络从非线性信号中恢复呼吸波形
<MoRe-Fi: Motion-robust and Fine-grained Respiration Monitoring via Deep-Learning UWB Radar>学习 ...
- 【D3D11游戏编程】学习笔记十八:模板缓冲区的使用、镜子的实现
(注:[D3D11游戏编程]学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 模板缓冲区(Stencil Buffe ...
- three.js学习笔记(十八)——调整材质
介绍 到现在为止,我们都在创建新的着色器材质,但是如果我们想要修改一个Three.js内置的材质呢?或许我们对MeshStandardMaterial的处理结果感到满意,但是希望往里边添加顶点动画. ...
- 【theano-windows】学习笔记十八——混合蒙特卡洛采样
#前言 继续之前的Theano学习,本次主要学习混合蒙特卡洛(Hybrid Monte-Carlo Sampling)采样算法. 国际惯例,参考网址 Hybrid Monte-Carlo Sampli ...
最新文章
- PHP中try{}catch{}是异常处理.
- dojo gridx修改表头
- 卫星导航精密单点定位(PPP)技术
- 为PHP安装Memcached扩展连接Memcached
- 计算机的登入灯出操作系统,为什么计算机不能像电灯一样瞬时打开?
- ubuntu升级python_Ubuntu 升级python3为更高版本【已实测】
- Java学习、简单代码编译
- python中文版软件下载-Python IDLE(Python集成开发环境)v3.7中文版
- 【转载】快速掌握一个语言最常用的50%
- 电子商务概论(农)之章节课后题
- 经济类图书推荐--转自水木
- ubuntu如何杀进程_ubuntu kill进程
- 【sphinx】中文声学模型训练
- 国外服务器使用CDN加速怎么样
- 乙女心,养的第一株多肉小植物
- PPT文件如何解决不能打印的问题
- Simulink文件命名问题
- 山东 计算机专业,山东省内计算机专业大学排名?
- R语言学习day2丨三大法宝:判断、循环、函数
- 反编译工具Virtuous Ten Studio使用
热门文章
- 给定4个数字组合的C语言算法,leetcode 454. 四数相加 II c语言
- cwntos linux kde桌面,Centos如何安装KDE的桌面
- 【OpenCV 例程200篇】19. 图像的圆形遮罩
- Python数模笔记-StatsModels 统计回归(3)模型数据的准备
- mysql 数据类型怎么用,myMySQL数据库怎么更改表中某字段的数据类型? MySQL数据库使用教程...
- 机械制造工艺基础_机械制造工艺基础知识,錾削与锯削加工工艺
- 360浏览器登录_浏览器发展历史介绍及当今主流浏览器的详细对比
- mybatis 控制台打印执行的SQL语句
- 数据类型总结(干货)
- Java Lambda表达