机器学习训练算法九(高斯牛顿法)

13 篇文章 0 订阅
11 篇文章 2 订阅

连续函数的最优化方法-高斯牛顿法

1、介绍

高斯牛顿法针对最小二乘问题,采用一定的方法对牛顿法中的黑塞矩阵进行近似,从而简化了计算量(注意:只有最小二乘问题才能使用高斯牛顿法)。
F ( X ) = 1 2 ∥ L ( X ) ∥ 2 ( 公 式 34 ) F(X)= \frac{1}{2} \begin{Vmatrix} L(X) \end{Vmatrix}^2 \qquad (公式34) F(X)21L(X)2(34)
min ⁡ X F ( X ) ( 公 式 35 ) \underset{X}{\min}F(X) \qquad (公式35) XminF(X)(35)

2、数学原理

高斯牛顿法与牛顿法不同之处在于,不对目标函数 F ( X ) F(X) F(X)进行泰勒展开,而是对残差函数 L ( X ) L(X) L(X) X = X k X=X_k X=Xk处进行不含皮亚诺余项一阶泰勒展开,可推得:
G ( Δ X k ) = d e f F ( X k + Δ X k ) ≈ 1 2 ∥ L ( X k ) + J ( X k ) ⏟ L T Δ X k ∥ 2 ( 公 式 36 ) G(\Delta X_k)\stackrel{\mathrm{def}}{=} F(X_k+\Delta X_k)\approx \frac{1}{2} \begin{Vmatrix} \\ L(X_k)+\underbrace{J(X_k)}_{L}{^T} \Delta X_k \end{Vmatrix}^2 \qquad (公式36) G(ΔXk)=defF(Xk+ΔXk)21L(Xk)+L J(Xk)TΔXk2(36)
公式36中 J ( X k ) ⏟ L \underbrace{J(X_k)}_{L} L J(Xk)函数 L ( X k ) L(X_k) L(Xk)的雅可比矩阵。
该表达式中 F ( X k + Δ X k ) F(X_k+\Delta X_k) F(Xk+ΔXk) L ( X k ) L(X_k) L(Xk)是一个常数, J ( X k ) ⏟ L T \underbrace{J(X_k)}_{L}{^T} L J(Xk)T是一个常数矩阵, Δ X k \Delta X_k ΔXk是一个变量矩阵,即函数 G ( Δ X k ) G(\Delta X_k) G(ΔXk)是以 Δ X k \Delta X_k ΔXk为自变量的二次函数。综上所述,当函数 G ( Δ X k ) G(\Delta X_k) G(ΔXk)的一阶导数为0的时候,函数 G ( Δ X k ) G(\Delta X_k) G(ΔXk)取得极值,可推得:
G Δ X k ′ ( Δ X k ) = 0 ( 公 式 37 ) G'_{\Delta X_k}(\Delta X_k)=0 \qquad (公式37) GΔXk(ΔXk)=0(37)
由公式 36 和公式 37 可推得:
0 = L ( X k ) J ( X k ) ⏟ L + J ( X k ) ⏟ L J ( X k ) ⏟ L T Δ X k ( 公 式 38 ) 0= L(X_k) \underbrace{J(X_k)}_{L} + \underbrace{J(X_k)}_{L} \underbrace{J(X_k)}_{L}{^T} \Delta X_k \qquad (公式38) 0=L(Xk)L J(Xk)+L J(Xk)L J(Xk)TΔXk(38)
即:
0 = ∑ i = 1 m ( L i ( X k ) J ( X k ) ⏟ L i + J ( X k ) ⏟ L i J ( X k ) ⏟ L i T Δ X k ) ( 公 式 39 ) 0= \sum_{i=1}^m ( L_i(X_k) \underbrace{J(X_k)}_{L_i} + \underbrace{J(X_k)}_{L_i} \underbrace{J(X_k)}_{L_i}{^T} \Delta X_k ) \qquad (公式39) 0=i=1m(Li(Xk)Li J(Xk)+Li J(Xk)Li J(Xk)TΔXk)(39)
设:由公式38结合公式26结构形式,可近似推得函数 F ( X ) F(X) F(X)的黑塞矩阵 H ( X k ) ⏟ F \underbrace{H(X_k)}_{F} F H(Xk)和雅克比矩阵 J ( X k ) ⏟ F \underbrace{J(X_k)}_{F} F J(Xk)
H ( X k ) ⏟ F ≈ d e f J ( X k ) ⏟ L J ( X k ) ⏟ L T ( 公 式 40 ) \underbrace{H(X_k)}_{F} \stackrel{\mathrm{def}}{\approx} \underbrace{J(X_k)}_{L} \underbrace{J(X_k)}_{L}{^T} \qquad (公式40) F H(Xk)defL J(Xk)L J(Xk)T(40)
J ( X k ) ⏟ F ≈ d e f L ( X k ) J ( X k ) ⏟ L ( 公 式 41 ) \underbrace{J(X_k)}_{F} \stackrel{\mathrm{def}}{\approx} L(X_k) \underbrace{J(X_k)}_{L} \qquad (公式41) F J(Xk)defL(Xk)L J(Xk)(41)
由公式 38、公式 40、公式 41 可推得:
Δ X k = − H ( X k ) ⏟ F − 1 J ( X k ) ⏟ F ( 公 式 42 ) \Delta X_k=- {\underbrace{H(X_k)}_{F}}^{-1} \underbrace{J(X_k)}_{F} \qquad (公式42) ΔXk=F H(Xk)1F J(Xk)(42)
由公式 42 可推得目标函数 F ( X ) F(X) F(X)的最优化迭代公式:
X k + 1 = d e f X k − H ( X k ) ⏟ F − 1 J ( X k ) ⏟ F ( 公 式 43 ) X_{k+1}\stackrel{\mathrm{def}}{=} X_{k} -{\underbrace{H(X_k)}_{F}}^{-1} \underbrace{J(X_k)}_{F} \qquad (公式43) Xk+1=defXkF H(Xk)1F J(Xk)(43)

3、Matlab程序

链接地址

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值