news 2026/6/10 19:03:50

最小二乘问题详解4:非线性最小二乘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
最小二乘问题详解4:非线性最小二乘

1. 引言

在论述最小二乘问题的时候,很多文章都喜欢用拟合直线来举例,但是在现实中像拟合直线这样的线性最小二乘问题往往不是常态,现实世界中更多是像投影成像这种非线性最小二乘问题。在本文中,我们就讲解一下非线性最小二乘问题。

不过,在继续阅读本文之前,一定要先理解之前的3篇文章,因为线性最小二乘是求解非线性最小二乘问题的基础:

《最小二乘问题详解1:线性最小二乘》

《最小二乘问题详解2:线性最小二乘求解》

《最小二乘问题详解3:线性最小二乘实例》

2. 定义

具体来说,非线性最小二乘的目标就是找到一组参数

θ

,使得非线性模型

f

(

x

;

θ

)

最好地拟合观测数据。非线性最小二乘模型通常使用如下公式来表达:

y

=

f

(

x

;

θ

)

+

ε

其中:

x

R

d

:输入变量(如坐标、时间等)

θ

R

p

:待估计参数向量

f

:

R

d

×

R

p

R

m

:非线性向量值函数

ε

:观测噪声

y

R

m

:观测输出

我们有

n

组数据:

{

(

x

i

,

y

i

)

}

n

i

=

1

同样的,非线性最小二乘的目标是最小化残差平方和:

min

θ

S

(

θ

)

=

min

θ

n

i

=

1

r

i

(

θ

)

2

=

min

θ

r

(

θ

)

2

其中:

r

i

(

θ

)

=

y

i

f

(

x

i

;

θ

)

:第

i

个样本的残差向量

r

(

θ

)

=

[

r

T

1

,

r

T

2

,

,

r

T

n

]

T

:所有残差拼成的长向量,维度

N

=

n

m

那么非线性最小二乘能不能像线性那样直接求解呢?显然是不行的。因为在线性情况下,残差是

r

=

A

θ

b

,目标函数是

A

θ

b

2

,这是一个二次函数,所以有闭式解

(

A

T

A

)

1

A

T

b

。但在非线性情况下,

r

(

θ

)

2

是一个非凸、非二次函数,无法直接求逆,也就无法计算出闭式解。更直观的说,通过非线性函数

f

(

x

;

θ

)

是无法写成类似设计矩阵

A

θ

=

b

这样的线性方程组的。

一种求解的思路是局部线性化(Local Linearization)。虽然

f

(

x

;

θ

)

是非线性的,但在当前估计

θ

k

附近,我们可以用一阶泰勒展开近似模型输出:

f

(

x

i

;

θ

)

f

(

x

i

;

θ

k

)

+

J

i

(

θ

k

)

(

θ

θ

k

)

其中:

J

i

(

θ

k

)

=

f

(

x

i

;

θ

)

θ

T

θ

=

θ

k

R

m

×

p

:第

i

个样本的模型输出对参数的雅可比块。

J

(

θ

k

)

是将所有

J

i

垂直堆叠得到的

N

×

p

矩阵(

N

=

n

m

p

为参数维度)。

代入残差定义

r

i

(

θ

)

=

y

i

f

(

x

i

;

θ

)

,得到残差的线性近似:

r

i

(

θ

)

r

i

(

θ

k

)

J

i

(

θ

k

)

(

θ

θ

k

)

对所有样本拼接成向量形式:

r

(

θ

)

r

(

θ

k

)

J

(

θ

k

)

(

θ

θ

k

)

Δ

θ

=

θ

θ

k

,则:

r

(

θ

)

r

k

J

k

Δ

θ

这是一个关于

Δ

θ

的线性模型,为非线性最小二乘求解奠定了基础。

3. 雅可比矩阵

在进行正式求解之前,我们先理解一下雅可比矩阵(Jacobian Matrix),因为它在非线性最小二乘中起着核心作用。

从泰勒展开的角度看,一元函数的一阶近似使用导数,而多元向量函数的一阶近似则使用雅可比矩阵——它是多元函数所有一阶偏导数组成的矩阵。在非线性最小二乘中,我们关注的是模型输出

f

(

x

i

;

θ

)

对参数

θ

的变化率。

对于第

i

个样本,其模型输出对参数的雅可比块为:

J

i

(

θ

)

=

f

(

x

i

;

θ

)

θ

T

R

m

×

p

m

:模型输出维度(例如,二维图像坐标

(

u

,

v

)

m

=

2

p

:待估参数维度

J

i

(

θ

)

是一个

m

×

p

矩阵,表示模型输出的每个分量对每个参数的偏导数

将所有

n

个样本的雅可比块垂直堆叠,得到整体雅可比矩阵:

J

(

θ

)

=

J

1

(

θ

)

J

2

(

θ

)

J

n

(

θ

)

=

f

(

x

1

;

θ

)

θ

T

f

(

x

2

;

θ

)

θ

T

f

(

x

n

;

θ

)

θ

T

R

N

×

p

其中

N

=

n

m

4. Gauss-Newton

求解非线性最小二乘问题最基础最好理解的就是Gauss-Newton方法,它结合了牛顿法的迭代优化框架(就是高中数学中迭代逼近求解平方根的过程)和高斯的线性化思想,所以将其称为Gauss-Newton方法。它的算法流程如下:

初始化:选一个初始猜测

θ

0

迭代:对

k

=

0

,

1

,

2

,

a. 计算当前残差:

r

k

=

y

f

(

x

;

θ

k

)

b. 计算雅可比矩阵

J

k

=

J

(

θ

k

)

c. 求解线性最小二乘子问题:

min

Δ

θ

r

k

J

k

Δ

θ

2

解为:

Δ

θ

=

(

J

T

k

J

k

)

1

J

T

k

r

k

d. 更新参数:

θ

k

+

1

=

θ

k

+

Δ

θ

终止:当

Δ

θ

很小或目标函数变化很小时停止

Gauss-Newton方法的基本思路是每一步都在当前点附近做线性近似;然后走一步,走的方向是让残差平方和下降最快的方向之一;最终收敛到一个局部最小值。可能这个算法流程可能还是有点抽象,我们将其中一次迭代的过程论述的更清楚一些:

θ

k

处做一阶泰勒展开。对残差函数

r

(

θ

)

θ

k

附近线性化:

r

(

θ

)

r

(

θ

k

)

J

(

θ

k

)

(

θ

θ

k

)

Δ

θ

=

θ

θ

k

,则:

r

(

θ

)

r

k

J

k

Δ

θ

其中:

r

k

=

r

(

θ

k

)

J

k

=

J

(

θ

k

)

构造局部二次近似目标函数。代入原目标:

S

(

θ

)

=

r

(

θ

)

2

r

k

J

k

Δ

θ

2

展开:

S

(

θ

)

r

T

k

r

k

2

r

T

k

J

k

Δ

θ

+

Δ

θ

T

J

T

k

J

k

Δ

θ

这是一个关于

Δ

θ

的二次函数。

最小化这个二次函数。对

Δ

θ

求导并令导数为零:

S

(

Δ

θ

)

=

2

J

T

k

r

k

+

2

J

T

k

J

k

Δ

θ

=

0

得到正规方程(Normal Equation):

J

T

k

J

k

Δ

θ

=

J

T

k

r

k

求解 Gauss-Newton 步长。如果

J

T

k

J

k

可逆,则解为:

Δ

θ

=

(

J

T

k

J

k

)

1

J

T

k

r

k

更新参数

θ

k

+

1

=

θ

k

+

Δ

θ

看到这个过程中的正规方程了吗?这就是我们说的非线性最小二乘求解的基础是线性最小二乘的原因了,非线性最小二乘问题的每次迭代过程就是一个线性最小二乘子问题。

非线性最小二乘与线性最小二乘求解过程的对比如下:

特性 线性最小二乘 非线性最小二乘(Gauss-Newton)

模型

f

(

x

;

θ

)

=

A

θ

f

(

x

;

θ

)

任意非线性

残差

r

=

A

θ

b

r

(

θ

)

=

y

f

(

x

;

θ

)

雅可比

J

=

A

(常数)

J

(

θ

)

=

f

θ

T

(依赖

θ

θ

=

(

A

T

A

)

1

A

T

b

θ

k

+

1

=

θ

k

+

(

J

T

k

J

k

)

1

J

T

k

r

k

是否迭代 否 是

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 19:43:30

2025年软件工程/计算机科学与技术毕业设计选题推荐

android基于Springboot的在线人才招聘系统 高校后勤网上报修系统安卓app 个人健康管理系统app 个人理财APP 基于Andriod的爱心小屋公益机构智慧管理APP 基于Andriod的车辆违章停放执法移动APP 基于Andriod的家庭理财系统的设计与实现 基于Andriod的连锁药店管理系统 基于Andrio…

作者头像 李华
网站建设 2026/6/10 14:51:46

基于SpringBoot+Vue的智慧医疗服务平台的设计与实现

开发环境开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

作者头像 李华
网站建设 2026/6/10 15:10:12

基于SpringBoot+Vue的公益服务平台的设计与实现

开发环境开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

作者头像 李华
网站建设 2026/6/10 0:32:50

基于SpringBoot+Vue的膳食营养健康网站的设计与实现

前言随着社会的不断进步与发展,人们对生活质量要求逐步提升。如果开发一款膳食营养健康网站,可以让用户在最短的时间里享受到最好的服务;而开发本网站,又能够提高网站整体工作水平,简化工作程序,这对管理员…

作者头像 李华
网站建设 2026/6/10 15:08:19

基于SSM+JSP的办公用品管理系统的设计与实现

现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本办公用品管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&#…

作者头像 李华
网站建设 2026/6/10 4:06:16

3步上手waifu-diffusion:零基础AI绘画入门指南

3步上手waifu-diffusion:零基础AI绘画入门指南 【免费下载链接】waifu-diffusion 项目地址: https://ai.gitcode.com/hf_mirrors/hakurei/waifu-diffusion waifu-diffusion是一个基于文本生成动漫风格图像的AI模型,通过高质量动漫图像进行微调训…

作者头像 李华