查看“︁非线性最小二乘法”︁的源代码
←
非线性最小二乘法
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{回归侧栏}} '''非线性最小二乘法'''是[[非线性]]形式的[[最小二乘法]],用包含{{Mvar|n}}个未知参数的非线性模型拟合{{Mvar|m}}个观测值(<math>m\ge n</math>),可用于某些形式的[[非线性回归]]。该方法的基础是使用线性模型近似并通过连续迭代来优化参数。它与线性最小二乘法既有相同之处、也有一些显著差异。 == 理论 == 考虑一组<math>(x_1, y_1), (x_2, y_2), \dots, (x_m, y_m)</math>共<math>m</math>个数据点以及曲线(模型函数)<math>\hat{y} = f(x, \boldsymbol \beta)</math>。该曲线同时取决于{{Mvar|x}}与<math>\boldsymbol \beta = (\beta_1, \beta_2, \dots, \beta_n)</math>共{{Mvar|n}}个参数(满足<math>m\ge n</math>)。目标是找到在最小二乘意义上与数据点拟合最好的曲线所对应的参数<math>\boldsymbol \beta</math>,即最小化平方和 <math display="block">S = \sum_{i=1}^{m} r_i^2,</math> 其中[[残差]]{{Math|''r<sub>i</sub>''}}的定义为 <math display="block">r_i = y_i - f(x_i, \boldsymbol \beta),\qquad (i=1, 2,\dots, m). </math> {{Mvar|S}}取[[最小值]]时的[[梯度]]为零。由于模型包含{{Mvar|n}}个参数,因此可得到{{Mvar|n}}个梯度方程: <math display="block"> \frac{\partial S}{\partial \beta_j} = 2 \sum_i r_i\frac{\partial r_i}{\partial \beta_j} = 0 \quad (j=1,\ldots,n).</math> 在非线性系统中,偏导数<math display="inline">\frac{\partial r_i}{\partial \beta_j} </math>同时是自变量{{Mvar|x}}和参数<math>\boldsymbol \beta</math>的函数,因此这些梯度方程通常没有封闭解。因而必须为参数选择初始值用以迭代求解。迭代表达式为 <math display="block"> \beta_j \approx \beta_j^{k+1} =\beta^k_j+\Delta \beta_j.</math> 其中,{{Mvar|k}}是迭代次数,<math>\Delta \boldsymbol \beta</math>则是偏移向量。每次迭代时,使用关于<math> \boldsymbol \beta^k</math>的一阶[[泰勒级数]]展开以线性化模型: <math display="block"> f(x_i,\boldsymbol \beta)\approx f(x_i,\boldsymbol \beta^k) +\sum_j \frac{\partial f(x_i,\boldsymbol \beta^k)}{\partial \beta_j} \left(\beta_j -\beta^{k}_j \right) = f(x_i,\boldsymbol \beta^k) +\sum_j J_{ij} \,\Delta\beta_j. </math> [[雅可比矩阵]]{{Math|'''J'''}}是常数、自变量与参数的函数,因此每次迭代时的{{Math|'''J'''}}并不固定。对线性化模型而言, <math display="block">\frac{\partial r_i}{\partial \beta_j} = -J_{ij},</math> 残差的表达式则为 <math display="block">\Delta y_i = y_i- f(x_i,\boldsymbol \beta^k),</math> <math display="block">r_i = y_i - f(x_i, \boldsymbol \beta) = \left(y_i- f(x_i,\boldsymbol \beta^k)\right)+ \left(f(x_i,\boldsymbol \beta^k) - f(x_i, \boldsymbol \beta)\right)\approx\Delta y_i- \sum_{s=1}^{n} J_{is} \Delta \beta_s .</math> 将上述表达式代入梯度方程,可以得到 <math display="block">-2\sum_{i=1}^{m} J_{ij} \left( \Delta y_i - \sum_{s=1}^{n} J_{is}\ \Delta \beta_s \right) = 0,</math> 以上方程可化简为{{Mvar|n}}个联立的线性方程,称为'''正规方程'''(normal equations): <math display="block">\sum_{i=1}^{m} \sum_{s=1}^{n} J_{ij}J_{is}\ \Delta \beta_s=\sum_{i=1}^{m} J_{ij}\ \Delta y_i \qquad (j=1,\dots,n).</math> 正规方程可用矩阵表示法写成 <math display="block">\left(\mathbf{J}^\mathsf{T}\mathbf{J}\right) \Delta \boldsymbol \beta = \mathbf{J}^\mathsf{T}\ \Delta \mathbf{y}.</math> 上述方程是使用{{le|高斯-牛顿算法|Gauss–Newton algorithm}}求解非线性最小二乘问题的的基础。 需要注意的是雅可比矩阵定义中导数的符号约定。某些文献中的{{Math|'''J'''}}可能与此处的定义相差一个负号。 === 权重扩展 === 不同数据点(观测结果)的可靠性并不一定相同,此时可使用加权平方和 <math display="block">S = \sum_{i=1}^m W_{ii} r_i^2.</math> 权重矩阵{{Math|'''W'''}}是一个[[对角矩阵]],理想情况下每个权重系数应等于观测误差[[方差]]的倒数。<ref>此处假定所有观测点是相互独立的。如果观测点之间[[相关 (概率论)|相关]]时,加权平方和可表示为 <math display="block">S = \sum_k \sum_j r_k W_{kj} r_j.</math> 此时权重矩阵的理想值应为观测误差[[协方差矩阵]]的逆。</ref>此时,正规方程可扩展为 <math display="block">\left(\mathbf{J}^\mathsf{T}\mathbf{WJ}\right) \Delta \boldsymbol \beta = \mathbf{J}^\mathsf{T}\mathbf{W}\ \Delta \mathbf{y}.</math> == 参见 == * [[曲线拟合]] * [[灰箱模型]] * [[非线性规划]] * [[非线性回归]] * [[最优化]] * [[莱文伯格-马夸特方法]] == 注释 == {{reflist}} == 参考文献 == *{{cite book |first=C. T. |last=Kelley |title=Iterative Methods for Optimization |series=SIAM Frontiers in Applied Mathematics |volume=no 18 |year=1999 |isbn=0-89871-433-8 |url=https://archive.siam.org/books/textbooks/fr18_book.pdf |access-date=2023-03-05 |archive-date=2023-03-29 |archive-url=https://web.archive.org/web/20230329132024/https://archive.siam.org/books/textbooks/fr18_book.pdf |dead-url=no }} *{{cite book |first=T. |last=Strutz |title=Data Fitting and Uncertainty : A Practical Introduction to Weighted Least Squares and Beyond |edition=2nd |publisher=Springer Vieweg |year=2016 |isbn=978-3-658-11455-8 }} [[Category:回归分析]] [[Category:數學最佳化]]
该页面使用的模板:
Template:Cite book
(
查看源代码
)
Template:Le
(
查看源代码
)
Template:Math
(
查看源代码
)
Template:Mvar
(
查看源代码
)
Template:Reflist
(
查看源代码
)
Template:回归侧栏
(
查看源代码
)
返回
非线性最小二乘法
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息