最小二乘法求解二元线性回归问题
最小二乘法求解二元线性回归问题
最小二乘法是机器学习和数据分析中常用的一种线性回归方法。本文通过一个具体的二元线性回归问题,详细介绍了如何使用矩阵最小二乘法求解拟合直线。
假设,二维平面中有三个坐标(1,1)、(2,2)、(3,2),很显然该三个坐标点不是共线的,如何拟合出一条直线使其为最优直线。
如上图所示,根据三个点,求拟合直线 $$ y = C + Dt $$
将三点的坐标分别带入,可得到如下形式:
$$
\begin{cases}
C + D = 1\
C + 2D = 2\
C + 3D = 2\
\end{cases} \tag{1}
$$
显然方程组无解,因为三点不共线。
令:
$$
A = \left[ \begin{matrix}
1 & 1 \
1 & 2 \
1 & 3
\end{matrix} \right], \quad
b = \left[ \begin{matrix}
1 \
2 \
2
\end{matrix} \right]
$$
则(1)式可表示为:
$$
Ax=b\tag{2}
$$
令(1,p1)、(2,p2)、(3、p3)分别是拟合直线 y = C + Dt 上的与b 对应的三个坐标,其中
$$
P=\left[ \begin{matrix}
p1 \
p2 \
p3
\end{matrix} \right]
$$
说明:p 是投影的缩写,这里表示b 在拟合直线上的投影点。那么 P 与 b 之间的差值即为误差 e,整个计算过程是为了求出直线,使得 e 最小。
由于 P 中的点均在拟合直线上,所以下列方程有解:
$$
A\hat{x}=P\tag{3}
$$
说明:P 向量是 b 向量在 Col(A) 空间的投影。Col(A) 即 A 矩阵的列空间。
有投影矩阵的性质可得,
$$
(b - A\hat{x}) \perp a_1,(b - A\hat{x}) \perp a_2
$$
即
$$
A^T(b - A\hat{x}) = 0
$$
可得
$$
A^T A\hat{x}=A^T b \tag4
$$
计算:
$$
A^T A = \left[ \begin{matrix}
1 & 1 & 1 \
1 & 2 & 3 \
\end{matrix} \right]
\left[ \begin{matrix}
1 & 1 \
1 & 2 \
1 & 3
\end{matrix} \right] =
\left[ \begin{matrix}
3 & 6 \
6 & 14
\end{matrix} \right]
$$
$$
A^T b = \left[ \begin{matrix}
1 & 1 & 1 \
1 & 2 & 3 \
\end{matrix} \right]
\left[ \begin{matrix}
1 \
2 \
2
\end{matrix} \right] =
\left[ \begin{matrix}
5 \
11
\end{matrix} \right]
$$
由此得方程组:
$$
\begin{cases}
3C + 6D = 5\
6C + 14D = 11
\end{cases} \tag{5}
$$
解得:
$$
C = \frac{1}{3}, D = \frac{1}{2}
$$
即最后求得的拟合直线方程为:
$$
y = \frac{1}{3} + \frac{1}{2} t \tag6
$$
求解过程中的误差
$$
e = p - b
$$
则误差的最小二乘表示为:
$$
min(l) = (C + D - 1)^2 + (C + 2D - 2)^2 + (C + 3D - 2)^2
$$
利用求导函数等于0 的方式,同样可以求得
$$
C = \frac{1}{3}, D = \frac{1}{2}
$$
补充说明
A 的各列线性无关,才使得A^T A 可逆,这是最小二乘法成立的大前提。
至此,结束。
追加题目:
t = 1 ; y = 4
t = 2 ; y = 5
t = 3 ; y = 8
如何将上述三个点,拟合到过原点(0,0)的直线上?