最优化学习笔记(十六)——拟牛顿法(2)
Hessian矩阵逆矩阵的近似
一、拟牛顿法的基本思路
令H0,H1,H2,…\boldsymbol{H_0,H_1, H_2}, \dots表示Hessian矩阵逆矩阵F(x(k))−1\boldsymbol{F}(\boldsymbol{x}^{(k)})^{-1}的一系列近似矩阵。我们要讨论的是这些近似矩阵应该满足的条件,这是拟牛顿法的基础。首先,假定目标函数ff的Hessian矩阵F(x)\boldsymbol{F(x)}是常数矩阵,与x\boldsymbol{x}无关,即目标函数是二次型函数,F(x)=Q,Q=QT\boldsymbol{F(x) = Q, Q=Q}^T则:
\boldsymbol{g}^{(k+1)} - \boldsymbol{g}^{(k)} = \boldsymbol{Q}(\boldsymbol{x}^{(k+1)}- \boldsymbol{x}^{(k)})
令
\Delta\boldsymbol{g}^{(k)} = \boldsymbol{g}^{(k+1)} - \boldsymbol{g}^{(k)} \\ \Delta\boldsymbol{x}^{(k)} = \boldsymbol{x}^{(k+1)}- \boldsymbol{x}^{(k)}
可得
\Delta\boldsymbol{g}^{(k)} = \boldsymbol{Q}\Delta\boldsymbol{x}^{(k)}
记对称正定实矩阵 H0\boldsymbol{H_0}作为近似矩阵的初始矩阵,在给定的 kk下,矩阵Q−1\boldsymbol{Q}^{-1}应该满足:
\boldsymbol{Q}^{-1}\Delta\boldsymbol{g}^{(i)} = \Delta\boldsymbol{x}^{(i)} , \quad 0 \le i \le k
因此,近似矩阵 Hk+1\boldsymbol{H_{k+1}}应该满足
\boldsymbol{H}_{k+1}\Delta\boldsymbol{g}^{(i)} = \Delta\boldsymbol{x}^{(i)} , \quad 0 \le i \le k
如果共展开 nn次迭代,则共产生nn个迭代方向 Δx(0),Δx(1),…,Δx(n−1)\Delta\boldsymbol{x}^{(0)}, \Delta\boldsymbol{x}^{(1)}, \dots, \Delta\boldsymbol{x}^{(n-1)}。由此可得 Hn\boldsymbol{H}_{n}应该满足条件:
\boldsymbol{H}_{n} \Delta\boldsymbol{g}^{(0)} = \Delta\boldsymbol{x}^{(0)} \\ \boldsymbol{H}_{n} \Delta\boldsymbol{g}^{(1)} = \Delta\boldsymbol{x}^{(1)} \\ \vdots \\ \boldsymbol{H}_{n} \Delta\boldsymbol{g}^{(n-1)} = \Delta\boldsymbol{x}^{(n-1)} \\
将其改写为
\boldsymbol{H}_{n} [\Delta\boldsymbol{g}^{(0)}, \Delta\boldsymbol{g}^{(1)}, \dots, \Delta\boldsymbol{g}^{(n-1)}]= [\Delta\boldsymbol{x}^{(0)}, \Delta\boldsymbol{x}^{(1)}, \dots, \Delta\boldsymbol{x}^{(n-1)}]
矩阵 Q\boldsymbol{Q}能够满足:
\boldsymbol{Q} [\Delta\boldsymbol{x}^{(0)}, \Delta\boldsymbol{x}^{(1)}, \dots, \Delta\boldsymbol{x}^{(n-1)}]= [\Delta\boldsymbol{g}^{(0)}, \Delta\boldsymbol{g}^{(1)}, \dots, \Delta\boldsymbol{g}^{(n-1)}]
和
\boldsymbol{Q}^{-1} [\Delta\boldsymbol{g}^{(0)}, \Delta\boldsymbol{g}^{(1)}, \dots, \Delta\boldsymbol{g}^{(n-1)}]= [\Delta\boldsymbol{x}^{(0)}, \Delta\boldsymbol{x}^{(1)}, \dots, \Delta\boldsymbol{x}^{(n-1)}]
这说明, 如果 [Δg(0),Δg(1),…,Δg(n−1)][\Delta\boldsymbol{g}^{(0)}, \Delta\boldsymbol{g}^{(1)}, \dots, \Delta\boldsymbol{g}^{(n-1)}]非奇异,那么矩阵 Q−1\boldsymbol{Q}^{-1} 能够在 nn次迭代之后唯一确定, 即
\boldsymbol{Q}^{-1} = \boldsymbol{H}_{n} = [\Delta\boldsymbol{x}^{(0)}, \Delta\boldsymbol{x}^{(1)}, \dots, \Delta\boldsymbol{x}^{(n-1)}][\Delta\boldsymbol{g}^{(0)}, \Delta\boldsymbol{g}^{(1)}, \dots, \Delta\boldsymbol{g}^{(n-1)}]^{-1}
由此,可得如果 Hn \boldsymbol{H}_{n}能够使得方程 HnΔg(i)=Δx(i),0≤i≤n−1 \boldsymbol{H}_{n}\Delta\boldsymbol{g}^{(i)} = \Delta\boldsymbol{x}^{(i)} , \quad 0 \le i \le n-1 成立, 那么利用迭代公式 x(k+1)=x(k)−αkHkgk,αk=argmina≥0f(x(k)−αHkgk)\boldsymbol{x}^{(k+1)}=\boldsymbol{x}^{(k)} - \alpha_k \boldsymbol{H}_{k} \boldsymbol{g}_{k}, \alpha_k = \arg \min_{a \ge 0}f(\boldsymbol{x}^{(k)} - \alpha \boldsymbol{H}_{k} \boldsymbol{g}_{k})求解 nn维二次优化问题,可得x(n+1)=x(n)−αnHngn\boldsymbol{x}^{(n+1)}=\boldsymbol{x}^{(n)} - \alpha_n \boldsymbol{H}_{n} \boldsymbol{g}_{n},这与牛顿法的迭代公式是一致的, 说明能够在 n+1n+1次迭代内完成求解。
二、 拟牛顿法的的迭代公式
拟牛顿法的的迭代公式为:
\boldsymbol{d}^{(k)} = - \boldsymbol{H}_{k}\boldsymbol{g}^{(k)} \\ \alpha_k = \arg \min_{a \ge 0}f(\boldsymbol{x}^{(k)} + \alpha \boldsymbol{d}^{(k)}) \\ \boldsymbol{x}^{(k+1)}=\boldsymbol{x}^{(k)} + \alpha_k\boldsymbol{d}^{(k)}
其中, H0,H1,H2,…\boldsymbol{H_0,H_1, H_2}, \dots是对称矩阵。
目标函数为二次型函数时,它们必须满足
\boldsymbol{H}_{k+1}\Delta\boldsymbol{g}^{(i)} = \Delta\boldsymbol{x}^{(i)} , \quad 0 \le i \le k
其中, Δx(i)=x(i+1)−x(i)=αid(k),Δg(i)=g(i+1)−g(i)=QΔx(i)\Delta\boldsymbol{x}^{(i)} = \boldsymbol{x}^{(i+1)}- \boldsymbol{x}^{(i)} = \alpha_i \boldsymbol{d}^{(k)}, \Delta\boldsymbol{g}^{(i)} = \boldsymbol{g}^{(i+1)}- \boldsymbol{g}^{(i)} =\boldsymbol{Q}\Delta\boldsymbol{x}^{(i)}
实际上,拟牛顿法也是一种共轭方法。
三、定理
将拟牛顿法应用到二次型问题中, Hessian矩阵为Q=QT\boldsymbol{Q} = \boldsymbol{Q}^T, 对于0≤k≤n−10 \le k \le n-1 , 有:
\boldsymbol{H}_{k+1}\Delta\boldsymbol{g}^{(i)} = \Delta\boldsymbol{x}^{(i)} , \quad 0 \le i \le k 其中Hk+1=HTk+1\boldsymbol{H}_{k+1} = \boldsymbol{H}_{k+1}^T。如果αi≠0,0≤i≤k\alpha_i \ne 0, 0 \le i \le k , 那么d(0),d(1),⋯,d(k+1)\boldsymbol{d}^{(0)},\boldsymbol{d}^{(1)},\dots,\boldsymbol{d}^{(k+1)}是Q\boldsymbol{Q}共轭的。
由以上定理可知,对于nn维二次型问题,拟牛顿法最多经过nn部迭代即可求出最优解。注意,矩阵Hk\boldsymbol{H}_{k}并不能唯一确定,这就给计算矩阵Hk\boldsymbol{H}_{k}的自由发挥空间。
最优化学习笔记(十六)——拟牛顿法(2)相关推荐
- 最优化学习笔记(十九)——拟牛顿法(5)BFGS算法
一.BFGS算法的更新公式 为了推导BFGS算法,需要用到对偶或者互补的概念,前边已经讨论过hessian矩阵逆矩阵的近似矩阵需要满足以下条件: Hk+1Δg(i)=Δx(i)0≤i≤k \bolds ...
- 最优化学习笔记(十八)——拟牛顿法(4)DFP算法
秩2算法可以保证在任意第kk步迭代下, 只要一维搜索是精确的,近似矩阵Hk\boldsymbol{H}_k就是正定的. DFP算法 令k=0k=0,选择初始点x(0)\boldsymbol{x}^{( ...
- 电脑安装python3.74_python3.4学习笔记(十六) windows下面安装easy_install和pip教程
python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...
- Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发
Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发 Polyworks支持C#二次开发,用对应的SDK文档试着做一下开发样例. 新建一个C#项目,在解决方案中右键添加引用 ...
- Mr.J-- jQuery学习笔记(十六)--展开和收起动画折叠菜单的实现
之前写过动画的隐藏与显示:Mr.J-- jQuery学习笔记(十四)--动画显示隐藏 动画隐藏与显示的一个小demo--对联广告:Mr.J-- jQuery学习笔记(十五)--实现页面的对联广告 与动 ...
- C语言结构体变量和结构体数组-学习笔记(十六)
一.结构体变量 1.结构体概念 将不同类型的数据组合成一个有机的整体即为结构体.结构体由许多组织在一起的数据项组成,这些数据项不需要属于同一类型. 2.结构体类型及结构体变量定义 (1)结构体类型声明 ...
- 【theano-windows】学习笔记十六——深度信念网络DBN
前言 前面学习了受限玻尔兹曼机(RBM)的理论和搭建方法, 如果稍微了解过的人, 肯定知道利用RBM可以堆叠构成深度信念网络(deep belief network, DBN)和深度玻尔兹曼机(dee ...
- MonoRail学习笔记十六:AJax在MonoRail中的使用
AJax几乎成了web2.0的一个代表,Java和Asp.net中都提供了一些AJax操作的控件.在MonoRail中也同样提供了AJax操作的共通类:AJaxHelper AJaxHelper可以指 ...
- JavaScript权威设计--CSS(简要学习笔记十六)
1.Document的一些特殊属性 document.lastModified document.URL document.title document.referrer document.domai ...
最新文章
- FOPEN FUNCTION
- 协同办公工具解决了什么问题?
- 常考数据结构与算法:平衡二叉树
- 简单程序计算无穷级数e^x
- jQuery学习笔记系列(二)
- Flowable 数据库表结构 ACT_HI_TASKINST
- [资料]PHP中的__set __get使用
- 三个点在同一个半圆的概率_圆中四鸭属于一个半圆的概率
- CDMA2000中的Walsh码,PN码,短码序列的初相位偏置(PN OFFSET)之間的差別與關係(1)
- 专业英语(电子、通信)单词集
- Java家庭收支记账程序
- 直播讲座:时序数据库 Apache IoTDB 的核心技术与应用
- 【Python百日进阶-Web开发-Feffery】Day418 - fac实例:dash+fac登录-Sqlite数据库
- 编写一个程序,提示用户输入以兆位每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小。程序中应计算文件的下载时间。
- 服务器网络监控系统方案
- 蒙特卡洛方法到底有什么用(转)
- 决定个人成败的关键---自我管理能力
- 安卓车机能升级鸿蒙吗,华为鸿蒙系统能否应用到车机系统
- 《江南style》影射的经济style
- 计算机化系统管理及验证ppt,完整计算机化系统验证.ppt
热门文章
- 【OpenCV 例程200篇】66. 图像滤波之低通/高通/带阻/带通
- 安卓 多条通知_安卓11第一版发布:原生滚动截屏、屏幕录像、抄国内ROM这么多...
- python列表导出_python list格式数据excel导出方法
- TensorFlow12CIFAR-CNN实现
- 【Python】ffmpeg模块处理视频、音频信息
- 【性能测试】性能测试的基础理论
- 记一次面试腾讯的奇葩经历
- 一些很有意思的JS现象
- anaconda下安装新包一直报错(‘parse() got an unexpected keyword argument 'transport_encoding'’)...
- JAVA中equals()方法的重要性