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则:

g(k+1)−g(k)=Q(x(k+1)−x(k))

\boldsymbol{g}^{(k+1)} - \boldsymbol{g}^{(k)} = \boldsymbol{Q}(\boldsymbol{x}^{(k+1)}- \boldsymbol{x}^{(k)})

Δg(k)=g(k+1)−g(k)Δx(k)=x(k+1)−x(k)

\Delta\boldsymbol{g}^{(k)} = \boldsymbol{g}^{(k+1)} - \boldsymbol{g}^{(k)} \\ \Delta\boldsymbol{x}^{(k)} = \boldsymbol{x}^{(k+1)}- \boldsymbol{x}^{(k)}
可得

Δg(k)=QΔx(k)

\Delta\boldsymbol{g}^{(k)} = \boldsymbol{Q}\Delta\boldsymbol{x}^{(k)}
记对称正定实矩阵 H0\boldsymbol{H_0}作为近似矩阵的初始矩阵,在给定的 kk下,矩阵Q−1\boldsymbol{Q}^{-1}应该满足:

Q−1Δg(i)=Δx(i),0≤i≤k

\boldsymbol{Q}^{-1}\Delta\boldsymbol{g}^{(i)} = \Delta\boldsymbol{x}^{(i)} , \quad 0 \le i \le k
因此,近似矩阵 Hk+1\boldsymbol{H_{k+1}}应该满足

Hk+1Δg(i)=Δx(i),0≤i≤k

\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}应该满足条件:

HnΔg(0)=Δx(0)HnΔg(1)=Δx(1)⋮HnΔg(n−1)=Δx(n−1)

\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)} \\
将其改写为

Hn[Δg(0),Δg(1),…,Δg(n−1)]=[Δx(0),Δx(1),…,Δ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}能够满足:

Q[Δx(0),Δx(1),…,Δx(n−1)]=[Δg(0),Δg(1),…,Δg(n−1)]

\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)}]

Q−1[Δg(0),Δg(1),…,Δg(n−1)]=[Δx(0),Δx(1),…,Δx(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次迭代之后唯一确定, 即

Q−1=Hn=[Δx(0),Δx(1),…,Δx(n−1)][Δg(0),Δg(1),…,Δg(n−1)]−1

\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次迭代内完成求解。

二、 拟牛顿法的的迭代公式

拟牛顿法的的迭代公式为:

d(k)=−Hkg(k)αk=argmina≥0f(x(k)+αd(k))x(k+1)=x(k)+αkd(k)

\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是对称矩阵。
    目标函数为二次型函数时,它们必须满足

Hk+1Δg(i)=Δx(i),0≤i≤k

\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 , 有:

Hk+1Δg(i)=Δx(i),0≤i≤k

\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)相关推荐

  1. 最优化学习笔记(十九)——拟牛顿法(5)BFGS算法

    一.BFGS算法的更新公式 为了推导BFGS算法,需要用到对偶或者互补的概念,前边已经讨论过hessian矩阵逆矩阵的近似矩阵需要满足以下条件: Hk+1Δg(i)=Δx(i)0≤i≤k \bolds ...

  2. 最优化学习笔记(十八)——拟牛顿法(4)DFP算法

    秩2算法可以保证在任意第kk步迭代下, 只要一维搜索是精确的,近似矩阵Hk\boldsymbol{H}_k就是正定的. DFP算法 令k=0k=0,选择初始点x(0)\boldsymbol{x}^{( ...

  3. 电脑安装python3.74_python3.4学习笔记(十六) windows下面安装easy_install和pip教程

    python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...

  4. Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发

    Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发 Polyworks支持C#二次开发,用对应的SDK文档试着做一下开发样例. 新建一个C#项目,在解决方案中右键添加引用 ...

  5. Mr.J-- jQuery学习笔记(十六)--展开和收起动画折叠菜单的实现

    之前写过动画的隐藏与显示:Mr.J-- jQuery学习笔记(十四)--动画显示隐藏 动画隐藏与显示的一个小demo--对联广告:Mr.J-- jQuery学习笔记(十五)--实现页面的对联广告 与动 ...

  6. C语言结构体变量和结构体数组-学习笔记(十六)

    一.结构体变量 1.结构体概念 将不同类型的数据组合成一个有机的整体即为结构体.结构体由许多组织在一起的数据项组成,这些数据项不需要属于同一类型. 2.结构体类型及结构体变量定义 (1)结构体类型声明 ...

  7. 【theano-windows】学习笔记十六——深度信念网络DBN

    前言 前面学习了受限玻尔兹曼机(RBM)的理论和搭建方法, 如果稍微了解过的人, 肯定知道利用RBM可以堆叠构成深度信念网络(deep belief network, DBN)和深度玻尔兹曼机(dee ...

  8. MonoRail学习笔记十六:AJax在MonoRail中的使用

    AJax几乎成了web2.0的一个代表,Java和Asp.net中都提供了一些AJax操作的控件.在MonoRail中也同样提供了AJax操作的共通类:AJaxHelper AJaxHelper可以指 ...

  9. JavaScript权威设计--CSS(简要学习笔记十六)

    1.Document的一些特殊属性 document.lastModified document.URL document.title document.referrer document.domai ...

最新文章

  1. FOPEN FUNCTION
  2. 协同办公工具解决了什么问题?
  3. 常考数据结构与算法:平衡二叉树
  4. 简单程序计算无穷级数e^x
  5. jQuery学习笔记系列(二)
  6. Flowable 数据库表结构 ACT_HI_TASKINST
  7. [资料]PHP中的__set __get使用
  8. 三个点在同一个半圆的概率_圆中四鸭属于一个半圆的概率
  9. CDMA2000中的Walsh码,PN码,短码序列的初相位偏置(PN OFFSET)之間的差別與關係(1)
  10. 专业英语(电子、通信)单词集
  11. Java家庭收支记账程序
  12. 直播讲座:时序数据库 Apache IoTDB 的核心技术与应用
  13. 【Python百日进阶-Web开发-Feffery】Day418 - fac实例:dash+fac登录-Sqlite数据库
  14. 编写一个程序,提示用户输入以兆位每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小。程序中应计算文件的下载时间。
  15. 服务器网络监控系统方案
  16. 蒙特卡洛方法到底有什么用(转)
  17. 决定个人成败的关键---自我管理能力
  18. 安卓车机能升级鸿蒙吗,华为鸿蒙系统能否应用到车机系统
  19. 《江南style》影射的经济style
  20. 计算机化系统管理及验证ppt,完整计算机化系统验证.ppt

热门文章

  1. 【OpenCV 例程200篇】66. 图像滤波之低通/高通/带阻/带通
  2. 安卓 多条通知_安卓11第一版发布:原生滚动截屏、屏幕录像、抄国内ROM这么多...
  3. python列表导出_python list格式数据excel导出方法
  4. TensorFlow12CIFAR-CNN实现
  5. 【Python】ffmpeg模块处理视频、音频信息
  6. 【性能测试】性能测试的基础理论
  7. 记一次面试腾讯的奇葩经历
  8. 一些很有意思的JS现象
  9. anaconda下安装新包一直报错(‘parse() got an unexpected keyword argument 'transport_encoding'’)...
  10. JAVA中equals()方法的重要性