超定方程组无解
\(m>n\) 时 \(\mathbf{b}\notin C(A)\),精确解不存在,转而最小化误差。
18.06 · 第 15 课
超定方程组 \(A\mathbf{x}=\mathbf{b}\)(方程个数 > 未知数个数)通常无解。最小二乘法(least squares)找 \(\hat{\mathbf{x}}\) 使 \(\|A\mathbf{x}-\mathbf{b}\|^2\) 最小——几何上就是把 \(\mathbf{b}\) 投影到列空间,应用上就是线性回归。
设 \(A\) 是 \(m\times n\) 矩阵且 \(m>n\)(方程多于未知数)。方程 \(A\mathbf{x}=\mathbf{b}\) 有解当且仅当 \(\mathbf{b}\in C(A)\)。一般 \(\mathbf{b}\) 不在列空间中,所以精确解不存在。
例子:用一条直线 \(b=C+Dt\) 拟合三个数据点 \((t_1,b_1),(t_2,b_2),(t_3,b_3)\)。方程组
\[\begin{bmatrix}1&t_1\\1&t_2\\1&t_3\end{bmatrix}\begin{bmatrix}C\\D\end{bmatrix}=\begin{bmatrix}b_1\\b_2\\b_3\end{bmatrix}\]通常无解,因为三点一般不在一条直线上。
最小二乘 = 最小化误差平方和。既然不能使误差为零,就找使 \(\|A\mathbf{x}-\mathbf{b}\|^2\) 最小的 \(\hat{\mathbf{x}}\)。这是统计学、数据科学和工程中最常用的拟合方法。
最小化 \(f(\mathbf{x})=\|A\mathbf{x}-\mathbf{b}\|^2\)。展开:
\[f(\mathbf{x}) = (A\mathbf{x}-\mathbf{b})^T(A\mathbf{x}-\mathbf{b}) = \mathbf{x}^TA^TA\mathbf{x} - 2\mathbf{b}^TA\mathbf{x} + \mathbf{b}^T\mathbf{b}.\]对 \(\mathbf{x}\) 求梯度并令为零:
\[\nabla f = 2A^TA\mathbf{x} - 2A^T\mathbf{b} = \mathbf{0}.\]得到法方程(normal equations):
\[A^T A\,\hat{\mathbf{x}} = A^T \mathbf{b}.\]这与第 14 课投影的法方程完全相同!几何解释:\(A\hat{\mathbf{x}}=\mathbf{p}\) 是 \(\mathbf{b}\) 在列空间上的投影,误差 \(\mathbf{e}=\mathbf{b}-A\hat{\mathbf{x}}\in N(A^T)\)。
最小二乘解的三种等价表述:
投影矩阵 \(P=A(A^TA)^{-1}A^T\) 把 \(\mathbf{b}\) 映到 \(\mathbf{p}=P\mathbf{b}\),误差 \(\mathbf{b}-\mathbf{p}=(I-P)\mathbf{b}\) 与列空间正交。
条件数问题。解法方程涉及 \(A^TA\),其条件数是 \(A\) 条件数的平方。数值计算中常用 QR 分解或 SVD 代替直接解法方程。
用直线 \(b=C+Dt\) 拟合三个点 \((1,1),(2,2),(3,2)\):
\[A = \begin{bmatrix}1&1\\1&2\\1&3\end{bmatrix},\quad \mathbf{b}=\begin{bmatrix}1\\2\\2\end{bmatrix}.\]计算
\[A^TA = \begin{bmatrix}3&6\\6&14\end{bmatrix},\qquad A^T\mathbf{b} = \begin{bmatrix}5\\11\end{bmatrix}.\]法方程 \(A^TA\hat{\mathbf{x}}=A^T\mathbf{b}\) 即
\[\begin{cases} 3C + 6D = 5,\\ 6C + 14D = 11. \end{cases}\]解得 \(C=\dfrac{2}{3},\ D=\dfrac{1}{2}\)。最佳拟合直线为 \(b=\dfrac{2}{3}+\dfrac{1}{2}t\)。
投影 \(\mathbf{p}=A\hat{\mathbf{x}}=\begin{bmatrix}7/6\\5/3\\13/6\end{bmatrix}\),误差 \(\mathbf{e}=\mathbf{b}-\mathbf{p}=\begin{bmatrix}-1/6\\1/3\\-1/6\end{bmatrix}\),验证 \(A^T\mathbf{e}=\mathbf{0}\):
\[A^T\mathbf{e} = \begin{bmatrix}1&1&1\\1&2&3\end{bmatrix}\begin{bmatrix}-1/6\\1/3\\-1/6\end{bmatrix} = \begin{bmatrix}0\\0\end{bmatrix}.\]问题 1:超定方程组 \(A\mathbf{x}=\mathbf{b}\)(\(m>n\))通常无解的原因是什么?
问题 2:最小二乘法方程是哪个?
问题 3:最小二乘解 \(\hat{\mathbf{x}}\) 的几何意义是什么?
问题 4:最小二乘误差 \(\mathbf{e}=\mathbf{b}-A\hat{\mathbf{x}}\) 属于哪个子空间?
\(m>n\) 时 \(\mathbf{b}\notin C(A)\),精确解不存在,转而最小化误差。
\(A^TA\hat{\mathbf{x}}=A^T\mathbf{b}\)——最小二乘与投影共享同一个方程。
\(A\hat{\mathbf{x}}\) 是 \(\mathbf{b}\) 在列空间上的投影,误差与列空间正交。
数据拟合、参数估计、信号处理——最小二乘法无处不在。
lecture_slides/lecture_16.pdflecture_summaries/lecture_2_1_summary.pdf