news 2026/9/27 3:11:58

最小二乘问题详解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/9/27 2:01:13

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

💗博主介绍:✌全网粉丝30W,CSDN全栈领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者,计算机毕设实战导师。目前专注于大学生项目实战开发,讲解,毕业答疑辅导✌ 💗主要服务内容:选题定题、开题报告、任务书…

作者头像 李华
网站建设 2026/9/26 19:19:46

NTFSTool:在macOS上实现NTFS磁盘完整读写的终极解决方案

NTFSTool:在macOS上实现NTFS磁盘完整读写的终极解决方案 【免费下载链接】ntfstool A ntfs tool for mac 项目地址: https://gitcode.com/gh_mirrors/nt/ntfstool 还在为Mac电脑无法正常编辑NTFS格式的移动硬盘而困扰吗?作为跨平台数据交换的常见…

作者头像 李华
网站建设 2026/9/27 3:50:41

Qwen3-Reranker-8B:重新定义文本检索效率与精度边界

Qwen3-Reranker-8B:重新定义文本检索效率与精度边界 【免费下载链接】Qwen3-Reranker-8B 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-Reranker-8B 在人工智能技术快速迭代的今天,文本检索作为信息处理的核心环节,其性能…

作者头像 李华
网站建设 2026/9/25 16:31:40

PingFang SC woff2字体:网页中文排版的终极解决方案

PingFang SC woff2字体:网页中文排版的终极解决方案 【免费下载链接】PingFangSC字体压缩版woff2介绍 本仓库提供了流行于数字平台的 PingFang SC 字体的压缩版本,采用 woff2 格式。这一系列字体以其清晰的显示效果和贴近简体中文阅读习惯的设计而广受欢…

作者头像 李华
网站建设 2026/9/26 12:10:06

ModernWMS开源仓库管理系统终极配置与功能详解

ModernWMS开源仓库管理系统终极配置与功能详解 【免费下载链接】ModernWMS The open source simple and complete warehouse management system is derived from our many years of experience in implementing erp projects. We stripped the original commercial system wms …

作者头像 李华
网站建设 2026/9/25 3:37:36

MPV播放器macOS硬件解码色彩异常终极修复指南

MPV播放器macOS硬件解码色彩异常终极修复指南 【免费下载链接】mpv 🎥 Command line video player 项目地址: https://gitcode.com/GitHub_Trending/mp/mpv 在macOS系统上使用MPV播放器进行硬件解码时,色彩异常问题严重影响观影体验。本文提供从问…

作者头像 李华