最优化理论·非线性最小二乘

本文介绍非线性最小二乘问题的基本概念及其解决方法。重点讲解如何通过泰勒展开进行函数近似,进而转化为线性最小二乘问题求解。并详细解释了Gauss-Newton方法及LM算法的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最优化理论·非线性最小二乘

标签(空格分隔): 数学

非线性最小二乘问题是椭圆拟合中最易遇到的优化问题,本文主要对非线性二乘的基本分析做简单介绍

1. 什么是最小二乘问题

目标函数能够写为m个函数平方和的优化问题
在这里插入图片描述

其中,每个函数fi(x)f_i(x)fi(x)都是待优化向量xxx的函数。

2.非线性最小二乘问题

  • fi(x)f_i(x)fi(x)是关于xxx的非线性函数时,即为非线性优化问题
  • 此时,需要利用Taylor一阶展开近似fi(x)f_i(x)fi(x)

2.1 fi(x)f_i(x)fi(x)的一阶近似

  • x(k)x^{(k)}x(k)是解xxx的第k次近似,在此处将fi(x)f_i(x)fi(x)进行一阶展开,并令一阶展开值为φi(x)\varphi_i(x)φi(x)
    在这里插入图片描述

  • 对上式进行整理,得到
    在这里插入图片描述
    在这里插入图片描述

  • 可以看到,一阶近似φi(x)\varphi_i(x)φi(x)是关于待优化向量xxx的线性函数:

    • 在这里插入图片描述
      fi(x)f_i(x)fi(x)的梯度【fi(x)f_i(x)fi(x)对向量x求导】在x(k)x^{(k)}x(k)处的取值
    • 在这里插入图片描述
      fi(x)f_i(x)fi(x)x(k)x^{(k)}x(k)处的取值

2.2 F(x)的近似

在得到fi(x)f_i(x)fi(x)的一阶近似后,便可以计算得到F(x)的一阶近似,该一阶近似为Φ(x)\Phi(x)Φ(x)
在这里插入图片描述
在这里插入图片描述

2.3 分析Φ(x)\Phi(x)Φ(x)的具体形式

  • 将平方和形式写为行向量、列向量乘积形式
    Φ(x)=[φ1(x),φ2(x),⋯ φm(x)]⋅[φ1(x)φ2(x)…φm(x)]\Phi(x) = \left [ \varphi_1(x),\varphi_2(x),\cdots\,\varphi_m(x) \right ] \cdot \begin{bmatrix} \varphi_1(x)\\ \varphi_2(x)\\ \dots\\ \varphi_m(x) \end{bmatrix} Φ(x)=[φ1(x),φ2(x),φm(x)]φ1(x)φ2(x)φm(x)

  • φi(x)\varphi_i(x)φi(x)的具体形式代入
    [φ1(x)φ1(x)…φ1(x)]=[ ▽f1(x(k))T⋅x−[▽f1(x(k))T−f1(x(k))] ▽f2(x(k))T⋅x−[▽f2(x(k))T−f2(x(k))]… ▽fm(x(k))T⋅x−[▽fm(x(k))T−fm(x(k))]] \begin{bmatrix} \varphi_1(x)\\ \varphi_1(x)\\ \dots\\ \varphi_1(x) \end{bmatrix} = \begin{bmatrix} \ \bigtriangledown f_1(x^{(k)})^T \cdot x-\left [ \bigtriangledown f_1(x^{(k)})^T -f_1(x^{(k)})\right ]\\ \ \bigtriangledown f_2(x^{(k)})^T \cdot x-\left [ \bigtriangledown f_2(x^{(k)})^T -f_2(x^{(k)})\right ]\\ \dots\\ \ \bigtriangledown f_m(x^{(k)})^T \cdot x-\left [ \bigtriangledown f_m(x^{(k)})^T -f_m(x^{(k)})\right ]\\ \end{bmatrix} φ1(x)φ1(x)φ1(x)= f1(x(k))Tx[f1(x(k))Tf1(x(k))] f2(x(k))Tx[f2(x(k))Tf2(x(k))] fm(x(k))Tx[fm(x(k))Tfm(x(k))]

  • 继续整理得到
    [φ1(x)φ2(x)…φm(x)]=[ ▽f1(x(k))T ▽f2(x(k))T… ▽fm(x(k))T]⋅x−[ ▽f1(x(k))T ▽f2(x(k))T… ▽fm(x(k))T]⋅x(k)+[ f1(x(k)) f2(x(k))… fm(x(k))] \begin{bmatrix} \varphi_1(x)\\ \varphi_2(x)\\ \dots\\ \varphi_m(x) \end{bmatrix}= \begin{bmatrix} \ \bigtriangledown f_1(x^{(k)})^T \\ \ \bigtriangledown f_2(x^{(k)})^T \\ \dots\\ \ \bigtriangledown f_m(x^{(k)})^T \\ \end{bmatrix} \cdot x -\begin{bmatrix} \ \bigtriangledown f_1(x^{(k)})^T \\ \ \bigtriangledown f_2(x^{(k)})^T \\ \dots\\ \ \bigtriangledown f_m(x^{(k)})^T \\ \end{bmatrix} \cdot x^{(k)}+ \begin{bmatrix} \ f_1(x^{(k)})\\ \ f_2(x^{(k)})\\ \dots\\ \ f_m(x^{(k)})\\ \end{bmatrix} φ1(x)φ2(x)φm(x)= f1(x(k))T f2(x(k))T fm(x(k))Tx f1(x(k))T f2(x(k))T fm(x(k))Tx(k)+ f1(x(k)) f2(x(k)) fm(x(k))

  • 引入AkA_kAkbbb!!!!!!
    在这里插入图片描述

在这里插入图片描述

其中:在这里插入图片描述

  • 则有
    [φ1(x)φ1(x)…φ1(x)]=Ak⋅x−b \begin{bmatrix} \varphi_1(x)\\ \varphi_1(x)\\ \dots\\ \varphi_1(x) \end{bmatrix}= A_k \cdot x - b φ1(x)φ1(x)φ1(x)=Akxb

  • 那么,目标函数F(x)F(x)F(x)的一阶近似Φ(x)\Phi(x)Φ(x)的简洁形式为
    Φ(x)=(Akx−b)T⋅(Akx−b) \Phi(x) = (A_kx-b)^T \cdot (A_kx-b) Φ(x)=(Akxb)T(Akxb)
    它为标准的线性最小二乘问题

2.4 转化为线性最小二乘后的分析

Φ(x)=(Akx−b)T⋅(Akx−b) \Phi(x) = (A_kx-b)^T \cdot (A_kx-b) Φ(x)=(Akxb)T(Akxb)

  • 一阶近似得到的优化问题就是线性最小二乘问题,可以利用最小二乘问题求解,直接求解梯度为0的点,即目标函数在x(k)x^{(k)}x(k)处的最小值点应该满足如下线性方程的解
    在这里插入图片描述

  • AKA_KAK为列满秩时,以上方程的解如下
    在这里插入图片描述

这里注意,利用上述方法求得的最优解为目标函数在x(k)x^{(k)}x(k)处的一阶近似最小值,不能作为全局最优解,只能说明在局部向最优解点又进一步走近了,记为x(k+1)x^{(k+1)}x(k+1)

在这里插入图片描述

2.5 对x(k+1)x^{(k+1)}x(k+1)更新等式进一步分析化简

在这里插入图片描述

即有:

在这里插入图片描述

  • HkH_kHk是目标函数F(x)F(x)F(x)的一阶近似函数Φ(x)\Phi(x)Φ(x)的Hessian矩阵,即可以说是目标函数F(x)F(x)F(x)的近似Hessian矩阵
  • AkA_kAk是目标函数F(x)F(x)F(x)的梯度矩阵

注意:按照这里的推导,可以通过一步步迭代计算xxx的最优值,这种方法可以称之为Gaussian-Newton方法,但仔细观察发现,当近似Hessian阵奇异或者近似奇异时,以上算法无法使用!也就引出了著名的LM算法


评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值