最小二乘法的算法原理

发布于:2025-03-18 ⋅ 阅读:(21) ⋅ 点赞:(0)

最小二乘法的算法原理、推导及应用举例


一、算法原理

最小二乘法(Least Squares Method)是一种数学优化技术,核心思想是通过最小化预测值与真实值之间的残差平方和,找到模型参数的最优解。其核心目标可表示为:
min ⁡ β ∑ i = 1 n ( y i − y ^ i ) 2 \min_{\beta} \sum_{i=1}^n (y_i - \hat{y}_i)^2 βmini=1n(yiy^i)2
其中:

  • ( y i ) ( y_i ) (yi) 为观测值, ( y ^ i = f ( x i ; β ) ) ( \hat{y}_i = f(x_i; \beta) ) (y^i=f(xi;β)) 为模型预测值。
  • ( β ) ( \beta ) (β) 为待估计的参数。

二、线性最小二乘法的推导

线性回归模型为例,假设模型为:
y = X β + ϵ y = X\beta + \epsilon y=+ϵ
其中:

  • ( X ) ( X ) (X) ( n × ( m + 1 ) ) ( n \times (m+1) ) (n×(m+1)) 的设计矩阵(包含截距项)。
  • ( β ) ( \beta ) (β) ( ( m + 1 ) × 1 ) ( (m+1) \times 1) ((m+1)×1) 的参数向量。
  • ( ϵ ) ( \epsilon ) (ϵ) 是误差项。

目标函数为残差平方和:
S = ( y − X β ) T ( y − X β ) S = (y - X\beta)^T (y - X\beta) S=(y)T(y)

推导步骤

  1. 展开目标函数:
    S = y T y − 2 β T X T y + β T X T X β S = y^T y - 2 \beta^T X^T y + \beta^T X^T X \beta S=yTy2βTXTy+βTXT
  2. 对 ( \beta ) 求导并令导数为零:
    ∂ S ∂ β = − 2 X T y + 2 X T X β = 0 \frac{\partial S}{\partial \beta} = -2 X^T y + 2 X^T X \beta = 0 βS=2XTy+2XT=0
  3. 解得正规方程(Normal Equation):
    X T X β = X T y X^T X \beta = X^T y XT=XTy
  4. ( X T X ) ( X^T X ) (XTX) 可逆,则参数解为:
    β = ( X T X ) − 1 X T y \beta = (X^T X)^{-1} X^T y β=(XTX)1XTy

三、几何解释

最小二乘法的几何意义是:将观测值 ( y ) 投影到设计矩阵 ( X ) 的列空间,使得残差向量 ( ϵ = y − X β ) ( \epsilon = y - X\beta ) (ϵ=y) 垂直于该空间。
投影矩阵 ( P = X ( X T X ) − 1 X T ) ( P = X(X^T X)^{-1} X^T ) (P=X(XTX)1XT),预测值为:
y ^ = P y \hat{y} = P y y^=Py


四、应用举例
1. 线性回归(房价预测)
  • 问题:根据房屋面积 ( x ) 预测价格 ( y )。

  • 模型 ( y = β 0 + β 1 x ) ( y = \beta_0 + \beta_1 x ) (y=β0+β1x)

  • 数据

    面积(m²) 价格(万元)
    50 300
    80 480
    100 550
  • 矩阵形式
    X = [ 1 50 1 80 1 100 ] , y = [ 300 480 550 ] X = \begin{bmatrix} 1 & 50 \\ 1 & 80 \\ 1 & 100 \\ \end{bmatrix}, \quad y = \begin{bmatrix} 300 \\ 480 \\ 550 \\ \end{bmatrix} X= 1115080100 ,y= 300480550


  • β = ( X T X ) − 1 X T y ≈ [ 100 4.5 ] \beta = (X^T X)^{-1} X^T y \approx \begin{bmatrix} 100 \\ 4.5 \end{bmatrix} β=(XTX)1XTy[1004.5]
    最终模型: ( y ^ = 100 + 4.5 x ) ( \hat{y} = 100 + 4.5x ) (y^=100+4.5x)


2. 多项式拟合(曲线拟合)
  • 问题:用二次多项式拟合实验数据 ( ( x i , y i ) ) ( (x_i, y_i) ) ((xi,yi))
  • 模型 ( y = β 0 + β 1 x + β 2 x 2 ) ( y = \beta_0 + \beta_1 x + \beta_2 x^2 ) (y=β0+β1x+β2x2)
  • 设计矩阵
    X = [ 1 x 1 x 1 2 1 x 2 x 2 2 ⋮ ⋮ ⋮ ] X = \begin{bmatrix} 1 & x_1 & x_1^2 \\ 1 & x_2 & x_2^2 \\ \vdots & \vdots & \vdots \\ \end{bmatrix} X= 11x1x2x12x22
  • :通过 ( β = ( X T X ) − 1 X T y ) ( \beta = (X^T X)^{-1} X^T y ) (β=(XTX)1XTy) 计算系数。

3. 信号处理(滤波器设计)
  • 问题:设计滤波器系数,使输出信号尽可能接近目标信号。
  • 模型 ( y = H β ) ( y = H \beta ) (y=Hβ),其中 ( H ) 为输入信号的卷积矩阵。
  • :利用最小二乘法优化滤波器系数 ( β ) ( \beta ) (β)

五、优缺点
  • 优点
    • 闭式解存在时计算高效。
    • 在误差服从高斯分布时,解为最大似然估计。
  • 缺点
    • 对异常值敏感(平方误差放大离群点影响)。
    • 需保证 ( X T X ) ( X^T X ) (XTX) 可逆(可通过正则化解决)。

六、扩展:非线性最小二乘

对于非线性模型(如 ( y = e β x ) ( y = e^{\beta x} ) (y=eβx)),需使用迭代方法(如高斯-牛顿法Levenberg-Marquardt算法)求解,后面章节进行讲解。