最小二乘法的算法原理、推导及应用举例
一、算法原理
最小二乘法(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=1∑n(yi−y^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 ) (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−Xβ)T(y−Xβ)
推导步骤:
- 展开目标函数:
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=yTy−2βTXTy+βTXTXβ - 对 ( \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+2XTXβ=0 - 解得正规方程(Normal Equation):
X T X β = X T y X^T X \beta = X^T y XTXβ=XTy - 若 ( 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−Xβ) 垂直于该空间。
投影矩阵 ( 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= 11⋮x1x2⋮x12x22⋮ - 解:通过 ( β = ( 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算法)求解,后面章节进行讲解。