当前位置: 首页 > news >正文

最小二乘问题详解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

是否迭代 否 是

http://www.cnnetsun.cn/news/17439.html

相关文章:

  • 2025年软件工程/计算机科学与技术专业毕业设计选题推荐
  • NTFSTool:在macOS上实现NTFS磁盘完整读写的终极解决方案
  • Qwen3-Reranker-8B:重新定义文本检索效率与精度边界
  • PingFang SC woff2字体:网页中文排版的终极解决方案
  • ModernWMS开源仓库管理系统终极配置与功能详解
  • MPV播放器macOS硬件解码色彩异常终极修复指南
  • Flink自定义函数实战:从入门到精通的完整开发手册
  • 哔哩哔哩漫画下载器技术指南
  • 目标检测数据集 - 穿着服饰检测数据集下载
  • Windows系统终极清理工具:快速免费释放C盘空间
  • Spring AOP场景3——接口防抖(附带源码)
  • 黑客技术水深!普通人不要随便碰
  • AI建议的C++基础入门顺序
  • 35、使用 Ansible 部署脚本化服务器环境
  • 13、文件操作与命令全解析
  • 第32课 PCB布局的常用操作命令介绍
  • 终极修复指南:彻底解决Atmosphere固件2168-0002启动错误
  • 第一章——办公自动化之Word报告自动生成:解放双手,高效创作
  • 压电材料的d33(纵向压电应变常数)测试流程及影响因素
  • 中烟创新连续两年被认定为国家级科技型中小企业
  • s4cmd完整指南:终极高性能Amazon S3命令行工具
  • 开题报告不是“过关文档”,而是“学术项目启动书”——Paperzz AI开题报告功能深度拆解:从选题模糊到框架清晰,它如何把你的“研究冲动”翻译成“可执行的科研计划”?
  • 1996-2025年政府采购合同公告明细数据
  • 分布式应用框架Microsoft Orleans - 2、动手实践:构建你的第一个Microsoft Orleans应用程序
  • MAC电脑如何开发淘晶驰串口屏
  • Java 中 new 一个对象的过程是怎么样的?
  • 从规则引擎到大模型:文档生成技术的十年进化与现在的最佳实践
  • AI客户端终极指南:多平台支持与工作区管理快速上手
  • 安全审查--跨站请求伪造--Fetch Metadata防护模式
  • uni-app x封装request,统一API接口请求