线性代数16.投影矩阵和最小二乘

回顾

投影矩阵

\[p=A(A^TA)^{-1}A^T \]

投影矩阵的作用是将向量 \(b\) 投影到她在列空间中的最近点。

极端例子:

  1. 假设 \(b\) 在列空间中,\(Pb=b\)

    因为列空间中任意向量(列的组合)可以表示为 \(Ax\) ,则 \(A(A^TA)^{-1}(A^TA)x=Ax\),中间构成单位阵

  2. 假设列空间是一个平面,\(b\) 垂直于该列空间,\(Pb=0\),因为\(b\) 在左零空间,\(A^Tb=0\),故 \(A(A^TA)^{-1}(A^Tb)=0\)

只要在知道矩阵 \(A\) ,就能根据公式得到投影矩阵 \(P\)

e的投影矩阵

我们用 \(e=b-p\) 代表误差向量,\(e\) 在左零空间

这个图描述了各向量之间的关系。

我们可以把 \(e\) 也看成一个投影,她的投影矩阵是什么?

\[\begin{align} e&=b-p\\ &=b-Pb\\ &=(I-P)b \end {align} \]

其中,\(I\) 是单位阵,所以 \(e\) 的投影矩阵就是 \(I-P\)

应用

拟合直线

继续上一节课的例子。

现在有3个点,\((1,1)、(2,2)、(3,2)\),我们想要找到一条拟合直线,使得总误差最小。假设直线为 \(b=C+Dt\)

将直线上的点记为 \(p\) ,\(p\) 是代替 \(b\) 的点,也就是我们要求的 \(b\) 在列空间中最近的投影点。将\(b\)\(p\) 的误差记为 \(e\)。下标表示序号。

根据三个点我们可以得到三个方程:

\[C+D=1\\ C+2D=2\\ C+3D=2 \]

从而可以得到 \(Ax=b\) 的矩阵形式:

\[\left( \begin{array}{cc} 1 & 1 \\ 1 & 2 \\ 1 & 3 \\ \end{array} \right).\left( \begin{array}{c} C \\ D \\ \end{array} \right)=\left( \begin{array}{c} 1 \\ 2 \\ 2 \\ \end{array} \right) \]

这个方程联立是无解的,但我们可以求出最接近的解。所以结果会有误差,这个误差就是

\[A\hat x-b=e \]

我们想要最小化 \(e\),意味着 \(e\) 的长度最小。

\[||A\hat x-b||=||e|| \]

直线上的点到实际数据的竖直距离有正有负,为了让误差永远为正,将其平方,(相比取绝对值,平方的好处还在于方便求导)

\[||A\hat x-b||^2=||e||^2 \]

则总的误差为

\[e_1^2+e_2^2+e_3^2 \]

这就是我们要最小化的量。我们将误差的平方和作为测量总误差的标准。

现在求解 \(\hat x\)\(p\)

我们将方程两边同时乘以 \(A^T\),即 \(\hat x\) 的公式为:

\[A^TA\hat x=A^Tb \]

\(A\) 代入,\(\hat x\) 加在 \(A\) 后面作为一列作为增广矩阵计算

\[\left( \begin{array}{ccc} 1 & 1 & 1 \\ 1 & 2 & 3 \\ \end{array} \right).\left( \begin{array}{ccc} 1 & 1 & 1 \\ 1 & 2 & 2 \\ 1 & 3 & 2 \\ \end{array} \right)= \left( \begin{array}{ccc} 3 & 6 & 5 \\ 6 & 14 & 11 \\ \end{array} \right) \]

回代得到方程组

\[3C+6D=5\\ 6C+14D=11 \]

这个方程组称为 "正规方程组"

我们也可以通过微积分的方法得到这个方程组,从总误差最小角度:

\[\begin {align} &e_1^2+e_2^2+e_3^2\\ &=(C+D-1)^2+(C+2D-2)^2+(C+3D-2)^2 \end {align} \]

通过求这个方程的偏导数,即把C、D看作两个变量,误差对C、D分别求偏导数等于0,就能得到方程组。

求解 正规方程组,可得

\[D=1/2\\ C=2/3 \]

所以最优直线为

\[y=\frac{2}{3}+\frac{t}{2} \]

这里我们就解决了求最优直线的问题。

正交性

看看关于这个例子其他的性质。此时,

\(p_1=\frac{7}{6}\) ,\(e_1=-\frac{1}{6}\)

\(p_2=\frac{5}{3}\) ,\(e_2=\frac{1}{3}\)

\(p_3=\frac{13}{6}\) ,\(e_3=-\frac{1}{6}\)

\(b=p+e\) 可得

\[\left( \begin{array}{c} 1 \\ 2 \\ 3 \\ \end{array} \right)=\left( \begin{array}{c} \frac{7}{6} \\ \frac{5}{3} \\ \frac{13}{6} \\ \end{array} \right)+ \left( \begin{array}{c} -\frac{1}{6} \\ \frac{2}{6} \\ -\frac{1}{6} \\ \end{array} \right) \]

\(e\) 不仅垂直于投影向量 \(p\) ,而且垂直于整个列空间。

\(A^TA\)的可逆性

\(A\) 各列线性无关,那么\(A^TA\) 是可逆的。

\(A\) 各列线性无关,是最小二乘法成立的大前提。如果 \(A^TA\) 是不可逆会怎么样?

证明‘

回顾以前判断 \(A\) 不可逆是怎么做的?(第三节)

我们假设存在非零矩阵 \(x\) ,使得 \(Ax=0\),假设 \(A\) 可逆 ,则有 \(A^{-1}Ax=0\) ,但是 \(A^{-1}A=I\) ,矛盾。

所以\(A\) 不可逆。所以证明 \(A\) 可逆,只需要证明在\(Ax=0\) 中, \(x\) 只有零向量即可。

证明\(A^TA\) 是可逆,我们假设 \(A^TAx\) =0 ,只需要证明 \(x\) 只有零向量即可。

方法

两边同时点乘 \(x^T\)

\[\begin {align} x^TA^TAx&=0\\ &=(x^TA^T)(Ax)\\ &=(Ax)^T(Ax) \end {align} \]

如果将 \(Ax\) 看成一个向量 \(y\) ,那么

\[y^Ty=0 \]

\(y^Ty\) 从几何上理解,表示的是 \(y\) 的长度的平方,她大于等于零,所以此时 \(y\) 一定是零向量。

\[Ax=0 \]

根据假设,A各列线性无关,所以其各列可以构成列空间一组基,列空间中任意向量都可以由基通过线性组合的来,要让基乘以 \(x\) 等于0,只有\(x\) 等于零向量。

\[x=0 \]

标准正交向量组

有一种线性无关的情况比较特殊

如果矩阵各列是相互垂直的单位向量,那么各列一定是线性无关的。比如在三维空间中,\(\left( \begin{array}{c} 1 \\ 0 \\ 0 \\ \end{array} \right) ,\left( \begin{array}{c} 0 \\ 1 \\ 0 \\ \end{array} \right) ,\left( \begin{array}{c} 0 \\ 0 \\ 1 \\ \end{array} \right)\)

我们称为 “标准正交向量组”

引入''标准"表示单位向量。"单位"的意思不一定是 \(1\),比如 \(\left( \begin{array}{c} \sin(\theta) \\ \cos(\theta) \\ \end{array} \right) \left( \begin{array}{c} -\sin(\theta) \\ \cos (\theta) \\ \end{array} \right)\),这两个向量夹角也是90°。

下一节课将讲解 标准正交向量组的特点,以及如何使向量组标准正交化。

posted @ 2020-09-13 19:37  懒懒阳光下的午睡  阅读(806)  评论(0编辑  收藏  举报