最小二乘法(基本原理+代码解析)

最小二乘法(基本原理+代码解析)前言 在工程应用中 经常会遇到目标函数是若干个函数平方和的最优化问题 这类问题称为最小二乘问题 本章节讲述无约束规划中的最小二乘法 线性最小二乘法 当 是线性函数时 即 如果令 则 原问题可以表示为

大家好,我是讯享网,很高兴认识大家。

前言:

在工程应用中,经常会遇到目标函数是若干个函数平方和的最优化问题。

min S(x)=\sum_{i=1}^{m}f_{i}^{2}(x),x\in R^{n},m> n
讯享网

这类问题称为最小二乘问题。

本章节讲述无约束规划中的最小二乘法。


线性最小二乘法:

当 f_{i}(x) 是线性函数时,即 f_{i}(x)=\sum_{j=1}^{n}a_{ij}x_{j}-b_{j},i=1,2,...,m ,如果令 A=\begin{pmatrix} a_{11} & a_{12} &... &a_{1n} \\ a_{21}& a_{22} & ... & a_{2n} \\ a_{31}& a_{32} & ... &a_{3n} \\ a_{41}& a_{42} &... & a_{4n} \end{pmatrix}b=\begin{pmatrix} b_{1}\\ b_{2} \\ ... \\ b_{m} \end{pmatrix}f(x)=(f_{1}(x),f_{2}(x),...,f_{m}(x))^{T}

S(x)=f(x)^{T}f(x)=(Ax-b)^{T}(Ax-b)=\left | \left | Ax-b \right | \right |^{2}

原问题可以表示为: minS(x)=\left | \left | Ax-b \right | \right |^{2}

求解该方程就变成了寻找一个向量 x ,使得 \left | \left | Ax-b \right | \right |^{2} 达到最小。

如果向量 x^{*} 能够使得 \left | \left | Ax-b \right | \right |^{2} 达到最小,即对与所有 x\in R^{n} 都有:

\left | \left | Ax-b \right | \right |^{2}\geq \left | \left | Ax^{*}-b \right | \right |

则称 x^{*} 为 Ax=b 的最小二乘解。当方程组 Ax=b 有解时,其解自然是一个最小二乘解;若 Ax=b 无解,则只能寻求其最小二乘解,即能够使得 Ax 和 b 之间差值的范数达到最小的向量。

下面给出两个引理:


引理1:

矩阵 A\in R^{m*n} ,m\geq n,当且仅当 rank A^{T}A=n (即方阵 A^{T}A 非奇异)时,rank A=n

引理2:

能够最小化 \left | \left | Ax-b \right | \right |^{2} 的向量 x^{*} 具有唯一性。可以通过求解方程组 A^{T}Ax=A^{T}b 得到,即 x^{*}=(A^{T}A)^{-1}A^{T}b


例题分析:

例题:求线性最小二乘问题: min\left | \left | Ax-b \right | \right |^{2} 的最优解

其中 A=\begin{pmatrix} 3 &1 \\2 &-3 \\ -1 &4 \end{pmatrix}b=\bigl(\begin{smallmatrix} 2\\-3 \\-1 \end{smallmatrix}\bigr)

解:可以直接通过公式 x^{*}=(A^{T}A)^{-1}A^{T}b 判断是否有解,

A^{T}A=\bigl(\begin{smallmatrix} 14 & -7\\ -7 &26 \end{smallmatrix}\bigr),(A^{T}A)^{T}=\frac{1}{350}\bigl(\begin{smallmatrix} 26 & 7\\ 7 &14 \end{smallmatrix}\bigr)

\bar{x}=\frac{1}{350}\bigl(\begin{smallmatrix} 26 & 7\\ 7 &14 \end{smallmatrix}\bigr)\bigl(\begin{smallmatrix} 3 &2 &-1 \\1 &-3 & 4 \end{smallmatrix}\bigr)\bigl(\begin{smallmatrix} 2\\-3 \\-1 \end{smallmatrix}\bigr)=\binom{\frac{3}{14}}{\frac{3}{10}}

又因为min\left | \left | Ax-b \right | \right |^{2}=\left | \left | A\bar{x}-b \right | \right |^{2}\neq 0

所以:方程组\left\{\begin{matrix} 3x_{1}+x_{2}=2\\ 2x_{1}-3x_{2}=-3 \\ -x_{1}+4x_{2}=-1 \end{matrix}\right. 无解


非线性最小二乘法(LM算法):

基本思想是把函数线性化,用线性最小二乘问题的解去逼近非线性最小二乘问题的解。

它通过同时利用高斯牛顿方法和梯度下降方法来解决非线性最小二乘问题。其核心思想是在每次迭

代中,根据当前参数估计计算目标函数的梯度和海森矩阵,并使用这些信息来更新模型参数。

算法步骤:

步骤1:选取初始点 x_{0},给定初始值 \alpha _{0},放大因子 \beta > 1,允许误差 \varepsilon > 0

步骤2:求出 f(x_{0}),S(x_{0}),k=0

步骤3:求出雅克比矩阵 \bigtriangledown f(x_{k})

雅克比矩阵
小讯
上一篇 2025-02-16 18:50
下一篇 2025-01-27 18:58

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/20181.html