本篇为MIT公开课——线性代数 笔记。

回顾

投影矩阵

\[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\)

python 投影矩阵求世界坐标_python 投影矩阵求世界坐标

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

我们可以把 \(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\)

python 投影矩阵求世界坐标_最小化_02


将直线上的点记为 \(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°。

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