问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

一文让你彻底搞懂最小二乘法(超详细推导)

创作时间:
作者:
@小白创作中心

一文让你彻底搞懂最小二乘法(超详细推导)

引用
CSDN
1.
https://blog.csdn.net/2401_85599406/article/details/139942562

最小二乘法是一种广泛应用于数据拟合和回归分析中的数学方法。本文将从矩阵表示的角度出发,详细推导最小二乘法的解析解,并通过几何意义进一步解释其原理。

最小二乘法的矩阵表示

假设我们有一组数据点,每个数据点包含一个输入特征向量和一个输出值。用矩阵表示,可以写作:

$$
\mathbf{h}=\mathbf{X} \theta
$$

其中:

  • $\mathbf{h}$ 是 $m \times 1$ 的向量,代表模型的理论值
  • $\theta$ 是 $n \times 1$ 的向量,包含模型的参数
  • $\mathbf{X}$ 是 $m \times n$ 的矩阵,包含所有样本的特征
  • $m$ 代表样本的个数
  • $n$ 代表样本的特征数

我们的目标是找到一个 $\theta$,使得模型的预测值 $\mathbf{h}$ 尽可能接近实际观测值 $\mathbf{Y}$。为此,我们定义损失函数:

$$
J(\theta)=|\mathbf{h}-\mathbf{Y}|^2 =|\mathbf{X}\theta-\mathbf{Y}|^2= (\mathbf{X} \theta-\mathbf{Y})^{T}(\mathbf{X} \theta-\mathbf{Y})
$$

其中 $\mathbf{Y}$ 是样本的输出向量,维度为 $m \times 1$。

最小二乘法的解析解

为了找到使损失函数最小的 $\theta$,我们需要对损失函数求导并令其等于0。这里需要用到一些矩阵求导的公式:

$$
\frac{\partial x^{T} a}{\partial x}=\frac{\partial a^{T} x}{\partial x}=a
$$

$$
\frac{\partial x^{T} A x}{\partial x}=A x+A^{T} x
$$

如果矩阵 $A$ 是对称的,则有:

$$
A x+A^{T} x=2 A x
$$

对目标函数化简:

$$
J(\theta)=\theta^{T} X^{T} X \theta-\theta^{T} X{T}Y-Y{T} X\theta+Y^{T} Y
$$

求导并令其等于0:

$$
\frac{\partial}{\partial \theta} J(\theta)=2X^{T} X \theta-2X^TY=0
$$

解得:

$$
\theta=\left(X{T}X\right){-1} X^{T}Y
$$

经过推导,我们得到了 $\theta$ 的解析解。这意味着只要给定了数据,我们就可以直接计算出最优的参数 $\theta$。

最小二乘法的几何意义

为了更直观地理解最小二乘法,我们可以从几何角度来解释。首先,我们需要理解矩阵乘法的几何意义。对于方程组 $Ax$,可以看作是 $x$ 对矩阵 $A$ 的列向量的线性组合。

例如,考虑以下方程组:

$$
\begin{cases}
1 \times x_{1}+x_{2}=3 \
-1 \times x_{1}+x_{2}=1
\end{cases}
\Leftrightarrow
\begin{bmatrix}
1 & 1 \
-1 & 1
\end{bmatrix}
\begin{bmatrix}
x_{1} \
x_{2}
\end{bmatrix}

\begin{bmatrix}
3 \
1
\end{bmatrix}
\Leftrightarrow A \times x=b
$$

这可以看作是:

$$
\begin{bmatrix}
1 \
-1
\end{bmatrix} \times x_{1}+
\begin{bmatrix}
1 \
1
\end{bmatrix} \times x_{2}=
\begin{bmatrix}
3 \
1
\end{bmatrix}
\Leftrightarrow a_{1} \times x_{1}+a_{2} \times x_{2}=b
$$

在坐标轴上,向量 $b$ 实际上是向量 $a_1$ 与 $a_2$ 的线性组合,因为它们都在同一个平面上,所以这个方程组是有解的。

然而,在实际应用中,由于存在观测误差,我们往往会进行过量观测。例如,如果我们想要拟合一个一次方程 $y=kx+b$,但观测了三个点(0,2),(1,2),(2,3),那么方程组就会变成:

$$
\begin{cases}
1 \times x_{1}+x_{2}=2 \
0 \times x_{1}+x_{2}=2 \
2 \times x_{1}+x_{2}=3
\end{cases}
\Leftrightarrow
\begin{bmatrix}
1 & 1 \
0 & 1 \
2 & 1
\end{bmatrix}
\begin{bmatrix}
x_{1} \
x_{2}
\end{bmatrix}

\begin{bmatrix}
2 \
2 \
3
\end{bmatrix}
\Leftrightarrow A \times x=b
$$

表示成线性组合的方式:

$$
\begin{bmatrix}
1 \
0 \
2
\end{bmatrix} \times x_{1}+
\begin{bmatrix}
1 \
1 \
1
\end{bmatrix} \times x_{2}=
\begin{bmatrix}
2 \
2 \
3
\end{bmatrix}
\Leftrightarrow a_{1} \times x_{1}+a_{2} \times x_{2}=b
$$

从图中可以看出,无论 $a_1$ 和 $a_2$ 怎么线性组合都不可能得到 $b$,因为 $a_1$ 和 $a_2$ 的线性组合只能落在它们组成的子空间 $S$ 中。

因此,我们退而求其次,在 $S$ 上找一个和 $b$ 最接近的向量 $p$。将 $b$ 投影到平面 $S$ 上得到的向量 $p$ 就是和 $b$ 最接近的向量。

换句话说,方程组 $Ax=b$ 虽然无解,但我们可以找到 $A$ 的列空间中与 $b$ 最接近的向量 $p$,即 $b$ 在 $A$ 的列空间中的投影。通过求解 $Ax=p$,我们得到原方程的最小二乘解。

由几何意义可知,垂线 $e=b-p=b-Ax$ 正交于平面 $S$,即 $a_1^T e=0, a_2^T e=0$。写成矩阵形式:

$$
A^{T} e=A{T}(b-Ax)=A{T} b-A^{T} Ax=0
$$

解得:

$$
x=\left(A^{T} A\right)^{-1} A^{T} b
$$

可以看到,这个结果与矩阵法推导的结果一致。最小二乘法的几何意义就是求解 $b$ 在 $A$ 的列空间中的投影。

总结

最小二乘法通过矩阵运算和几何解释,为我们提供了一种系统化的方法来解决数据拟合问题。理解最小二乘法不仅有助于掌握其数学原理,还能帮助我们在实际应用中更好地运用这一方法。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号