文章目录

  • 1 什么是“最小二乘”
  • 2 求解最小化问题的一般性算法
  • 3 需要注意的问题
  • 4 模型未知时的曲线拟合问题
    • 4.1 例1
    • 4.2 例2
    • 4.3 例3
  • 5 模型已知时的曲线拟合问题
    • 5.1 常数拟合
    • 5.2 直线拟合
    • 5.3 余弦函数拟合
  • 6 拟合非线性模型函数
    • 6.1 误差曲面的近似
    • 6.2 Gauss-Newton方法
    • 6.3 梯度下降方法
    • 6.4 Levenberg-Marquardt方法
  • 7 参考书籍

1 什么是“最小二乘”

要想确定N个未知参数,就得至少有N个线性独立的方程。其中:1、如果方程个数低于未知数个数,就称该问题为“欠定问题”;2、如果线性独立的方程个数大于未知数个数,则称该问题为“超定问题”。

最小二乘方法处理第二类问题(即超定问题)

由于实验观测值yi会受到随机误差εi的影响,即有:

因此,最好能够建立尽可能多的方程(包含多对yi和xi),从而获得更好、更可靠的统计结果,以更加准确地估计参数a

假设得到一组观测值yi及其相应的条件xi数据拟合的目标就是要利用最小二乘方法,将观测值与基于模型函数计算出的数值之间的残差平方和最小化,其优化模型为:

数据拟合问题对应于一个最小化问题

χ2的数值取决于所选择的模型函数f(xi|a)以及观测值yi中的随机误差εi。除了已经引入的变量以外,式(2.2)中还包含权值wi,每个权值应能反映相应观测值的可靠性。测量结果yi的不确定度越大,其权值wi就应该越低。比如,如果某个观测值看起来像是个异常值,那么其权值就应该非常接近或者等于零。但在大多数情况下,观测值的可靠性是无法预先获得的,所以有必要对权值进行估计。当对观测值进行加权时,一般称其为广义最小二乘方法或者是加权最小二乘方法,与之相反的是,如果每个观测值的权值都相等(即wi=w=常数),就称其为常规最小二乘方法

不同的参数向量a对于χ2的影响可以通过误差曲面来直观显现。求解χ2的最小值过程就是在误差曲面上寻求其全局最小值点。如果模型参数的个数超过两个,就将其对应的误差曲面称为误差超曲面。

非线性模型函数可以利用梯度下降法来求解,该方法通常要从某个起始点出发,通过迭代逐步到达全局最小值点。此时需要参数a的一个初始值,并且该值最好尽可能接近全局最小值点。


2 求解最小化问题的一般性算法

线性问题可以看成是非线性问题的一个子集,能够从多方面简化最小二乘拟合的求解过程。

还需要一个包含全部残差的列向量,残差是指观测值yi与利用当前参数计算出的模型函数值之差,如下式所示:

在计算刚开始的时候需要给出参数a的初始值。另外,对角加权矩阵W:

矩阵W是求解最小化问题的第3个组成部分(可选择也可不选)。该矩阵包含了对每个观测数据所赋予的权值,权值反映了观测值对于确定模型参数的重要性或是其自身的可靠性。如果所有观测值都具有相同影响,就可以将该矩阵设为单位矩阵,否则就应该选择合理的权值。

(本节,即第2节的余下内容只列出公式,不讲细节原理。在后面的【6.2 Gauss-Newton方法】一节中会给出详细推导过程)

综合上面各个要素可以计算下式:

此外,通过限制迭代次数的上限值可以避免陷入无限循环。

该正规矩阵显然是关于其主对角线对称的。


3 需要注意的问题

上述非线性最小二乘问题的求解过程仍然存在一些问题值得警惕。

1、第一个问题是如何合理给出参数a的初始值。显然,初始值应该尽可能接近全局最小值点,从而避免陷入局部极小值点,并且初始值需要使得迭代过程具有快速收敛性。为了实现这一目标,不妨利用一个能反映模型参数和观测值之间的简化关系式,即通过一些近似假设得到参数a的粗略估计,又或者是,在参数空间中利用网格搜索得到一个有希望的初始值

2、参数的取值范围是第二个值得考虑的问题。如果参数的取值范围是已知的,就应该利用这一先验知识以监督迭代过程,从而避免其徒劳地收敛到非常大的值,又或者是收敛到无限小的值。可以修正误差(超)曲面的梯度,以使迭代过程不会进入到临界(错误)区域。

3、第三个潜在问题涉及到矩阵求逆运算。矩阵N=JTWJ中非常大的数值在其逆矩阵N-1中会变得很小。在很多应用中需要衡量该数值,以使其能与观测数据在同一量级上进行综合,否则的话,计算机的有限数值精度会产生难以预期的影响。


4 模型未知时的曲线拟合问题

理想的数据拟合条件下,实验条件与观测结果之间的函数关系是已知的最小二乘拟合的目标就是要确定模型函数中的未知参数

然而,在很多实际场景中,这个函数关系式可能是未知的,也就是说模型函数的解析形式无法获知

下面举出三个例子。

4.1 例1


针对5个采样信号,其条件值xi和采样值yi如下所示:

下图描绘了其拟合结果:

在上图中,模型函数的多项式阶数从0(M=1)增加至4(M=5)。零阶多项式用于确定观测值的均值,一阶多项式用于拟合直线,其他类推。从图中可以清楚发现,曲线越接近数据点,模型参数的个数就越多,但此时观测数据点之间的泛化性能就会不可靠。比如,当M=5时,模型函数会在前两个采样点之间发生振荡,这看起来不像是一个很充分的拟合。如果M相对于N的值过大,就称为“过拟合”

仅仅将初等函数的叠加作为模型函数无法取得很好的预测性能

4.2 例2

4.3 例3


5 模型已知时的曲线拟合问题

下面将针对几个模型函数给出一些计算实例,以使得各种模型的物理含义和功能更加清晰。

5.1 常数拟合

5.2 直线拟合

直线拟合问题的参数个数从一个增加至两个,相应的模型函数为:

5.3 余弦函数拟合

注意:在阅读完前面5.1、5.2两小节之后,读者对于最小二乘问题的求解过程应该可以明晰,因此下面仅给出雅可比矩阵


6 拟合非线性模型函数

6.1 误差曲面的近似

最小二乘方法可以看成是更一般性的最大似然方法的一个特例。




其中:

由于P|a需要最大化,因此参数向量a的最优值应该使得χ2(a)取最小值。式(6.4)新增的系数“1/2”是为了便于后续处理,其对于拟合过程和最终结果并没有实质影响。系数1/σ2i起到加权的作用,并且依据每个观测值的可靠性或重要性来分配权值。

上面的数学推导是在观测误差服从正态(高斯)分布的假设条件下进行的。在单次测量可以获得多个观测值的情况下,需要利用观测向量y代替标量y,相应地,式(6.3)中的概率应该根据多维高斯概率密度函数来计算。

只要模型函数关于其中一个模型参数是非线性的,那么拟合该函数就需要迭代运算。向量a中包含的M个参数可以扩展成一个M维空间,该空间中的每一个点由χ2的大小来刻画,空间中所有点形成的实体称为超曲面。拟合算法是从某个初始值出发,试图寻求χ2(a)的全局最小值点。

下面分析如何利用该近似表达式确定超曲面上的迭代路径,即如何在当前迭代值的基础上寻求更优的参数值

6.2 Gauss-Newton方法

Gauss-Newton方法是一种在一维或者多维参数空间中寻求极小值点的方法。

当利用最小二乘方法进行数据拟合时,需要将观测值和模型函数之间的误差平方和最小化,即寻求超曲面χ2(a)上的极小值点。这可以通过目标函数的二阶泰勒级数展开来实现。


式(6.14)中的变量则需要被替换。

首先,问题的自变量为a,于是有:

式(6.15)中的H称为Hessian矩阵,其中的元素为:

该矩阵中的元素可以利用导数乘法规则(uv)’=u’v+uv’来推导,根据式(6.17),可得:


观察g和H中的元素(见式(6.17)和式(6.19)),可得:

J,r和W分别为:


请注意下面的内容

矩阵Q包含了模型函数f(x|a)的二阶导数项,而该项在很多教科书中是被忽略的。有两个原因:

1、第一个原因是,对于线性问题,该项就等于0。

2、第二个原因是,式(6.20)中的乘法项yi-f(xi|a)可以近似看成是实验条件xi下的观测误差,只要参数向量a接近真实值,该误差就会或正或负,如果乘法项yi-f(xi|a)与f(xi|a)的二阶导数不相关,那么当对i进行累加求和时,这些项就会相互抵消。

若将矩阵Q忽略可得:

上述最小化过程称为Gauss-Newton方法,其主要优势在于能够快速收敛到邻近的极小值点。但是,能否成功收敛到极小值点取决于目标函数的曲率。若不做出一些针对性的处理,该算法可能会陷入鞍点,或者沿错误方向进行迭代。

不用担心,6.3节会提出梯度下降法。

6.3 梯度下降方法

尽管Gauss-Newton方法十分有效,但是当参数向量a=(a1,a2,…,aj,…,aM)T的初始值不能充分接近真实值时,该方法有可能达不到期望的极小值点。因为此时利用有限阶泰勒级数近似会对优化过程产生不利影响,比如,导致太大的参数调整步长或者是错误的迭代方向

在这种情况下,更适合采用梯度下降方法,以保证严格沿“下坡”方向迭代。

于是:

上式(6.24)利用梯度向量的范数做归一化,因子参数γ决定了步长幅度,而向量g则仅仅控制迭代方向。

如果参数空间中的当前迭代值与最终的解相差甚远,梯度下降方法还是相当稳健的,只是有时难以估计γ的数值,通常它的值要保持相对较小。然而,当迭代过程接近目标函数的极小值点时,梯度下降方法就将会变得不太有利。如果没有对||g||做归一化(见式(6.24)),收敛过程将会变得十分缓慢,因为在这个区域内的梯度会很小。另一方面,鞍点也是阻止梯度下降方法成功收敛的另一不利因素。当按照式(6.24)归一化时,如果迭代已经越过极小值点,并且算法出现振荡现象,就必须要降低γ的数值

上面一段就是为什么在极小值点附近使用Gauss-Newton方法代替梯度下降方法的原因。

6.4 Levenberg-Marquardt方法

Levenberg-Marquardt方法综合利用了梯度下降方法和Gauss-Newton方法两者的优势,它引入了一个阻尼因子。利用阻尼因子可将式(6.22)修改为如下形式:

阻尼因子μ取正数,以确保Δa是个下降方向。当μ取值较大时,所引入的项“μⅠ”将起主导作用,此时的解近似为:

上式与式(6.25)的梯度下降方法相对应

反之,非常小的μ值则会使迭代过程与Gauss-Newton方法相似,这有助于最终收敛到全局极小值点


7 参考书籍

书名: 《数据拟合与不确定度 加权最小二乘及其推广的实用指南》
作者: (德)汤露·舒茨(Tilo Strutz)


END

完全解读:用最小二乘法求模型参数相关推荐

  1. 最小二乘法求模型最优解

    目录 前言 两者不同分析 误差函数 参考链接 前言 勒让德和高斯发现最小二乘法是从不同的角度入手的:一个是为解线性方程组,一个是寻找误差函数:一个用的是整体思维,考虑方程组的均衡性,一个用的是逆向思维 ...

  2. 求ar模型参数matlab,AR模型的参数估计

    AR模型的参数估计 一.AR模型概述 AR模型属于随机信号参数模型的一种.在AR模型中,随机信号x(n)由本身的若干次过去值x(n−k)和当前的激励值w(n)线性组合产生. x ( n ) = w ( ...

  3. Tensorflow学习教程------模型参数和网络结构保存且载入,输入一张手写数字图片判断是几...

    首先是模型参数和网络结构的保存 #coding:utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist impor ...

  4. 新安江遗传算法c语言,基于遗传算法的新安江模型参数优化率定(四)

    4.3.1新安江三水源模型 //新安江三水源模型.hios #include 算法 #include 函数 #include 优化 #include spa const intVariableNum ...

  5. 直播 | AMP:针对模型参数施加对抗扰动的高效神经网络正则化算法

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  6. 对抗训练硬核分析:对抗样本与模型参数的关系

    ©PaperWeekly 原创 · 作者|孙裕道 学校|北京邮电大学博士生 研究方向|GAN图像生成.情绪对抗样本生成 引言 对抗训练是防御对抗样本一种有效的方法,但是对于它有效性的边界,一直都是很模 ...

  7. 关于模型训练的时候所需要的GPU显存的计算以及模型参数,计算量的计算

    对于模型参数以及模型计算的时候计算量的计算我懂的,但是对于所需要的显存计算,我一脸懵逼. 幸亏看到了一篇较好的文章参考这篇文章(按照这个模型中的方法来计算) 然后基于我目前的一个模型,我计算了下- 写 ...

  8. 基于遗传算法的新安江模型参数优化率定(四)

    4.3  C++程序代码 4.3.1  新安江三水源模型 //新安江三水源模型.h #include <fstream> #include <iostream> #includ ...

  9. 机器学习--模型参数优化及scoring可选参数

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 优化的相关的知识内容可以参考 https://blog.csdn.net/luanpeng825485697/article/deta ...

最新文章

  1. 通过grub硬盘安装centos7
  2. boost::mpl::min和boost::mpl::max相关的测试程序
  3. OSS音频编程概述(DSP部分)
  4. mysql查找某连续字段中断的编号
  5. html 开发资料 英文,HTML 中的框架(国外英文资料).doc
  6. hadoop05---进程线程
  7. mysql c库 示例_选择MySQL数据库进行连接的简单示例
  8. 【Tensorflow、Keras】关于Reshape层小结(部分问题未解决)
  9. 001.DIV 标签添加滚动条
  10. (简易版)c语言人机对战五子棋
  11. Docker私有化部署RSSHub全记录
  12. 豆瓣fm android,豆瓣FM for Android
  13. DP转HDMI方案|DP转HDMI自带SPI|AG6311设计电路|AG6311MDQ设计参考原理图
  14. Arcgis空间分布方向性分析
  15. NOIP2017模拟赛(4) 总结
  16. 基于SpringBoot+VUE(PC端+小程序端)的智能在线考试系统毕业设计
  17. 2021年知识付费创业新方向该如何掌舵?
  18. 负对数似然(negative log-likelihood)
  19. [GBase 8s 教程]GBase 8s 分页语法
  20. 腾讯内部兵法:做产品和运营必须深参这5大人性弱点

热门文章

  1. 陈欧口述:如何凭“四大质疑”将企业做上市
  2. Stata数据处理:FRED数据导入问题的解决方案
  3. android充电信息代码,【代码】android 关机充电
  4. DataQL The content of elements must consist of well-formed character data or markup. 问题
  5. Android实现新闻浏览功能
  6. 小学数学考试系统java_C语言项目小学生数学考试系统参考
  7. nginx iis 502 错误处理
  8. Java 中Map四种取值方式
  9. 供应链金融区块链应用
  10. 尚品汇VUE项目实战知识点总结