Positive definiteness in Quasi-Newton Methods

目录

第8章 拟牛顿法中的正定性

       续上一篇博客初学牛顿法,对牛顿法当中的一些疑问进行简单粗浅的分析及总结。下文中的拟牛顿算法都指DFP算法,BFPG算法和DFP算法的原理是一样的,所以正定性的推导过程差不多,在此不做过多赘述了。

8.1 问题及解决

  • 问题细化:
           拟牛顿法利用矩阵 G k G_k Gk来近似牛顿法中的海森矩阵或其逆矩阵,牛顿法中的海森矩阵要求正定,如何保证拟牛顿法中的替换矩阵 G k G_k Gk始终为正定?
  • 解决办法:
  1. 一般设定替换矩阵的初始矩阵为单位矩阵,满足正定要求;

  2. 利用式子 G k + 1 = G k + Δ G k G_{k+1}=G_k+\Delta G_k Gk+1=Gk+ΔGk G G G进行迭代更新;

  3. 由于 G k + 1 G_{k+1} Gk+1是海森矩阵的近似,因此它满足式子 s k = G k + 1 y k s_k=G_{k+1}y_k sk=Gk+1yk且它是正定的;

  4. 在第三步中已经默认了 G K + 1 G_{K+1} GK+1为正定,因此拟牛顿法中保证替换矩阵正定的问题转换为如下:

    G k G_k Gk的改变量 Δ G k \Delta G_k ΔGk,从而保证 G k G_k Gk始终满足式子 s k = G k + 1 y k s_k=G_{k+1}y_k sk=Gk+1yk,其中 s k = x k + 1 − x k s_k=x_{k+1}-x_k sk=xk+1xk y k = g k + 1 − g k y_k=g_{k+1}-g_k yk=gk+1gk

  5. 接下来利用“待定法”,我们不知道 Δ G k \Delta G_k ΔGk到底是什么,但我们可以先将其待定为 Δ G k = α u u T + β v v T \Delta G_k=\alpha uu^T+\beta vv^T ΔGk=αuuT+βvvT,其中 u u u v v v都是n维向量(n行1列);

    个人理解:假设 Δ D k = α u u T + β v v T \Delta D_k=\alpha uu^T+\beta vv^T ΔDk=αuuT+βvvT的原因是矩阵加法必须满足两个矩阵行数列数相等。y式子 s k = G k + 1 y k s_k=G_{k+1} y_k sk=Gk+1yk易知 G k G_k Gk应该是一个n阶方阵,所以 Δ D k \Delta D_k ΔDk一定是一个n阶矩阵,通过上面的假设可以很容易保证 G k G_k Gk是n阶矩阵并且还是对称矩阵,在计算求解方面更加方便。

  6. Δ G k \Delta G_k ΔGk的表达式代入拟牛顿条件中,从而逆推出 Δ G k \Delta G_k ΔGk的值;

    拟牛顿条件改变为
    (1.1) s k = G k y k + α u u T y k + β v v T y k = G k y k + u ( α u T y k ) + v ( β v T y k ) \begin{aligned} s_k &= G_k y_k+\alpha uu^Ty_k+\beta vv^Ty_k\\ &= G_k y_k+ u(\alpha u^Ty_k)+v(\beta v^Ty_k) \end{aligned}\tag{1.1} sk=Gkyk+αuuTyk+βvvTyk=Gkyk+u(αuTyk)+v(βvTyk)(1.1)
    易知, α u T y k \alpha u^Ty_k αuTyk β v T y k \beta v^Ty_k βvTyk是两个数,因此我们不妨作简单赋值
    (1.2) α u T y k = 1 , β v T y k = − 1 \alpha u^Ty_k=1, \beta v^Ty_k=-1 \tag{1.2} αuTyk=1,βvTyk=1(1.2)
    可以得,
    (1.3) α = 1 u T y k , β = − 1 v T y k \alpha=\frac{1}{u^Ty_k}, \beta=\frac{-1}{v^Ty_k}\tag{1.3} α=uTyk1,β=vTyk1(1.3)
    将式子(1.2)代入式子(1.1),
    s k − G k y k = u − v \begin{aligned} s_k-G_k y_k=u-v \end{aligned} skGkyk=uv
    得,
    u = s k , v = G k y k u=s_k,v=G_k y_k u=sk,v=Gkyk
    此时可以求得 Δ D k \Delta D_k ΔDk的值如下,
    Δ G k = s k T s k s k T y k − G k y k T y k G k y k T G k y k \Delta G_k=\frac{s_k^T s_k}{s_k^T y_k}-\frac{G_k y_k^T y_k G_k}{y_k^T G_k y_k} ΔGk=skTykskTskykTGkykGkykTykGk

  7. 只要保证矩阵的改变量为 Δ G k = s k T s k s k T y k − G k y k T y k G k y k T G k y k \Delta G_k=\frac{s_k^T s_k}{s_k^T y_k}-\frac{G_k y_k^T y_k G_k}{y_k^T G_k y_k} ΔGk=skTykskTskykTGkykGkykTykGk就可以保证海森矩阵的替换矩阵始终为正定,推导完毕。

8.2 参考

[1] 皮果提.牛顿法与拟牛顿法学习笔记(二)拟牛顿条件
[2] liuwu265.拟牛顿法 分析与推导
[3] 皮果提.牛顿法与拟牛顿法学习笔记(三)DFP 算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值