======Matrix Algebra for Engineers======
//Week 3 Notes//
----
====Vector Spaces====
===Definiation===
**向量空间** //Vector space// 由一系列的向量(//Vector//)和一系列的标量(//Scalar//)组成。向量空间必须是**封闭的**(//closed//),也就是,通过缩放向量(//scalar multiplication//),相加向量(//vector addition//),得到的向量最终也属于该向量空间。比如在一个 $3 \times 1$ 的向量空间中,选取任意一个向量与任意标量相乘,然后再加到任意另外一个向量上,得到的结果必定是一个 $3 \times 1$ 的向量。
===Linear Independence===
//Linear Independence// 的正式定义如下:
>Let $\{v_0,..., v_{n−1}\} ⊂ \mathbb{R}^m$. Then this set of vectors is said to be **linearly independent** if $χ_0v_0 + χ_1v_1 + ··· +χ_{n−1}v_{n−1} = 0$ implies that $χ_0 = ··· = χ_{n−1} = 0$.
==Linear Independence 的含义==
上面的定义实际上讨论的问题是,向量空间中,是否至少存在一个向量,**可以用其他的向量来表示**。而 //Linear Independence// 意味着所有的向量都**无法**用任何其他向量来表示。换句话说,只有在所有向量的系数都为 $0$ 的情况下,向量的和才能为 $0$。如果有可以互相表示的向量,他们就可以通过更改自身的系数来进行相互抵消。
==判断 Linear Independence==
判断 //Linear Independence// 可以通过 //RREF// 来进行判断:
- 首先将向量空间中的向量组成矩阵
- 求该矩阵的 //RREF//
- 如果 //RREF// 是 //Indentiy Matrix//,那么该组向量是线性无关的。
下面的向量空间就是线性无关的:
$$
\left (\begin{pmatrix}
3\\
3\\
2
\end{pmatrix}
\begin{pmatrix}
2\\
1\\
1
\end{pmatrix}
\begin{pmatrix}
1\\
2\\
0
\end{pmatrix}
\right )
\Rightarrow
\begin{pmatrix}
3& 2& 1\\
3& 1& 2\\
2& 1&0
\end{pmatrix}
\Rightarrow
\begin{pmatrix}
1& 0& 0\\
0& 1&0 \\
0& 0 &1
\end{pmatrix}
$$
===Span, Basis and Dimension===
* **Span**(张成空间),指基于给定的向量空间中的几个向量所能**生成**的向量空间
* **Basis**:该向量空间仅由 //Basis// 即可张成(即任意向量空间中任意向量都可以由 //Basis// 得到)。//Basis// set 中的向量必须是**线性无关**的。
* **Dimension**:向量空间中的 //Basis// 的数量(唯一)
常见习题的解法:
* **//什么样的向量组不是向量空间?//**
只需要验证该向量空间是否封闭即可。通常情况下,如果需要适应加法和乘法,那么命题中存在的关系大概率是**相对**关系,而不是**绝对**关系。比如 “向量的第一个分量和第三个分量之和等于 1” 此类的绝对关系,经过缩放后是基本不可能得到与原来向量有相同规则的向量的 (0 可以,缩放无效)。
* **//如何查看一组向量是否线性无关?//**
可以先进行观察是否存在加法 / 乘法的关系。如果不确定,可以写出 RRef 形式,看是否是单位矩阵。
* **//如何求某个向量空间中的 orthonomal basis?//**
这个问题需要分成两步:
* 首先要求出适合条件的 //orthagonal basis// 。
这一步中,我们首先可以随机找一个满足条件的向量;比如所有向量分量和为 0 的向量组,可以选一个:
$$
\begin{pmatrix}
1\\
-1\\
0
\end{pmatrix}
$$
根据这个向量,由 //orthagonal// 的定义,可知其对应向量与其点积为 0;可以求出如下向量:
$$
\begin{pmatrix}
1\\
1\\
-2
\end{pmatrix}
$$
* 其次再对其进行 normalize,也就是对每个分量除以其范数即可。以第二个向量为例,其范数在这里等于 $\sqrt{1^2 + 1^2 + (-2)^2} = \sqrt{6}$,因此标准化后的向量为:
$$
\frac{1}{\sqrt{6}}
\begin{pmatrix}
1\\
1\\
-2
\end{pmatrix}
$$
====Gram-Schmidt process====
//Gram-Schmidt process// 是一种通用的,将非 orthonormal basis 转换为 orthonormal basis 的算法。其主要的步骤分两步:
- 以源 basis 所在向量空间中的某一个 basis 作为基准,构造与其垂直的向量
- 将该向量进行 Normalize,则可得到对应的 orthonormal basis。
===orthogonal basis 的构造===
{{ :math:linear_algebra:matrix_engineers:gs_process_2.svg?400 |}}
如上图,假设初始两个 basis 为 $V_1$ 和 $V_2$:
==选择新的 basis==
首先选择其中一个 basis 作为 orthonormal basis 的基准,这里选择 $V_1$,令新 basis $u_1 = V_1$
==基于选择的 basis 构造 orthagonal basis(geometrically)==
确定了新的基准 basis 后,需要求出与其垂直的向量的表达式。通过观察发现,如果做 $V_2$ 到 $u_1$ 上的投影,那么垂直方向上的向量 $u_2$ 是与 $u_1$ 垂直的。
\\ \\
令 $V_2$ 在 $u_1$ 上的投影向量为 $s_1$,根据向量的加减法,可得:
$$
u_2 = V_2 - s_1
$$
由于 $s_1$ 是 $V_2$ 在 $V_1$ 上的投影向量,因此可以写成:
$$
ks_1 = u_1
$$
因此,只需求出标量(//magnitude//) $k$,即可得到 $s_1$。因为 $u_2$ 与 $u_1$ 正交,因此 $u_2 \cdot u_1 = 0$。将 $u_2 = V_2 - s_1$ 带入该式,有:
\[
\begin{align*}
&(V_2 - u_1) \cdot u_1 = 0 \\
\Rightarrow & (V_2 - ks_1) \cdot u_1 = 0 \\
\Rightarrow & V_2 \cdot u_1 - ku_1\cdot u_1 = 0 \\
\Rightarrow & k = \frac{V_2 \cdot u_1}{u_1 \cdot u_1}
\end{align*}
\]
带入之前的 $u_2$ 表达式,最终可以得到 $u_2$ 如下:
>$$u_2 = V_2 - \frac{(V_2 \cdot u_1)u_1}{u_1 \cdot u_1} $$
==从代数上进行验证==
代数上,点积一般表达为行向量与列向量的相乘形式。因此,上面的公式可以将点积部分进行改写(因为得到的都是常数,因此书写方式不影响结果)
>$$u_2 = V_2 - \frac{(u_1^T \cdot V_2)u_1}{u_1^T \cdot u_1} $$
在代数上,如果 $u_1$ 与 $u_2$ 正交,那么有:
$$
u_1^T \cdot u_2 = 0
$$
根据该性质,我们对本节第一个公式的两边同时乘以 $u_1^T$,有:
\[
\begin{align*}
u_1^Tu_2 & = u_1^TV_2 - \frac{u_1^T(u_1^T \cdot V_2)u_1}{u_1^T \cdot u_1} \\
&=u_1^TV_2 - \frac{(u_1^T \cdot V_2)(u_1^Tu_1)}{u_1^T \cdot u_1} \\
&=u_1^TV_2 - u_1^TV_2 \\
& = 0
\end{align*}
\]
因此,这样的 $u_2$ 表达式可以确保 $u_1$ 和 $u_2$ 是 orthagonal basis。
==多维度上的扩展==
求 orthagonal basis 在多维度的向量上的操作也是相同的;我们只需要将向量按二维空间进行拆分讨论即可。比如处于 $x,y,z$ 的三维向量,如果以 $x$ 为基准求一个新的 orthagonal basis,那么只要分别求 $x,y$ 与 $x,z$ 平面中的 orthagonal basis 即可;也就是就是已知 $u_1$,分别用 $u_1$ 表示 $u_2$ 和 $u_3$。从计算上来看,就是使用基准向量分别减去不同的 $s_1$,即:
\\ \\
{{ :math:linear_algebra:matrix_engineers:1702258856138.jpg?200 |}}
\\ \\
\[
\begin{align*}
u_3 & = V_3 - \frac{(u_1^T \cdot V_3)u_1}{u_1^T \cdot u_1} - \frac{(u_2^T \cdot V_3)u_2}{u_2^T \cdot u_2} \\
\end{align*}
\]
==normalize==
标准化向量的过程套用 norm 公式即可:
$$
u_n = \frac{u_n}{\sqrt{u_n^Tu_n}}
$$
====Fundamental Subspaces of a Matrix====
===Null Space===
矩阵 $A$ 的//Null Space// 指对于矩阵 $A$,满足 $Ax = 0$ 的所有 $x$ 组成的向量空间。//Null Space// 中的向量同样是初等变换下封闭的,即其内部的向量通过乘法和加法得到的向量也在 //Null Space// 中。
==Null Space 的求解过程==
求 //Null Space//,只需要知道它的 basis 就可以了。从代数上来上,我们可以从 $Ax = 0$ 的非特殊解入手(也就是 //free variable//,即取什么值都不会影响 $Ax=0$ 的那一部分未知数)
* 将 $A$ 转化为 //RREF//
* 根据 //RREF// 的结果,找出 $Ax = 0$ 的非特殊解与特殊解(也就是我们说的 //basic variable//)之间的关系。通常,//pivot// 所在位置的未知数是特殊解。因此:
* 找到 //pivot//
* 由 $Ax = 0$,可知 $A$ 中任意一行与 $x$ 的点乘结果均为 0。利用该关系,列出 //basic variable// 与 //free variable// 的关系。
* 按该关系,最终得到的,以 //free variable// 表示的 $x$,其对应的向量即为 //Null space// 的 basis。
==Null Space 的求解例子==
假设有如下矩阵 $A$,其 //Rref// 形式为:
\\
\[
A=
\begin{pmatrix}
1& 1& 1& 0\\
1& 1& 0& 1\\
1& 0& 1& 1
\end{pmatrix}
\Rightarrow
Rref(A)=
\begin{pmatrix}
1& 1& 1& 2\\
0& 1& 0& -1\\
0& 0& 1& -1
\end{pmatrix}
\]
根据 $Ax = 0$ 列式。要使乘法有意义,可知 $x$ 是一个 $4 \times 1$ 的向量。设其分量为 $x_1,x_2,x_3,x_4$,有:
\\
\[
\begin{pmatrix}
1& 0& 0& 2\\
0& 1& 0& -1\\
0& 0& 1& -1
\end{pmatrix}
\begin{pmatrix}
x_1\\
x_2\\
x_3\\
x_4
\end{pmatrix}=0
\]
观察 //Rref(A)// 的 //pviot//,发现 $x_4$ 是唯一的 //free variable//。因此,根据 $Ax = 0$,将 $x_1,x_2,x_3$ 用 $x_4$ 表示:
\\
\[
\begin{cases}
& x_1 + 2x_4 &= 0\\
& x_2 - x_4 &=0\\
& x_3 - x_4 &=0
\end{cases}
\Rightarrow
\begin{cases}
& x_1 = -2x_4\\
& x_2 = x_4 \\
& x_3 = x_4
\end{cases}
\]
最后根据上面的关系,将向量 $x$ 以 $x_4$ 表示:
\\
\[
x=
\begin{pmatrix}
-2x_4\\
x_4\\
x_4\\
x_4
\end{pmatrix}
=
x_4
\begin{pmatrix}
-2\\
1\\
1\\
1
\end{pmatrix}
\]
此时求得的向量即为需要求得 basis。也就是说,$A$ 的 //Null space// 是由上述向量张成的向量空间。
===Null Space 的应用===
//Null Space// 的一个重要应用是求解 //underdetermined system//。我们知道,在一个 system 中,如果关系(row)少于未知数(column),那么这个系统就是 //underdetermened// 的。换句话说,该系统没有特殊解,只有一系列的通用解。
\\ \\
那么 //Null space// 在里面起到什么样的作用呢?先说结论:
>//let $u$ be a general vector in $Null(A)$, let $v$ be any vector that solves $Ax = b$, then//
>$$
x = u + v
$$
>//is the gerneral solution to $Ax = b$//
==x = u + v推导过程==
假设 $x = u + v$,那么:
$$
Ax = A(u+v) = Au + Av
$$
因为 $u$ 属于 $Null(A)$,因此 $Au= 0$。那么:
$$
Ax = Av = b
$$
到此得证。
==实例求解过程==
以下面的 augument matrix 为例。为了求 $x$,我们需要分开求 $u$ 和 $v$。对于 $u$,过程与之前求 basis 的过程一致.先求出其 //Rref//:
\\
\[
\left ( \begin{array}{cccc|c}
-3& 6& -1& 1&-7 \\
1& -2& 2& 3&-1 \\
2& -4& 5& 9&-4
\end{array}
\right )
\Rightarrow
\left ( \begin{array}{cccc|c}
1& -2& 0& -1&-3 \\
0& 0& 1& 2&-2 \\
0& 0& 0& 0&0
\end{array}
\right )
\]
根据 //Rref// 可以求出 //u//。注意,//u// 只需要各个变量之间的关系,因此用不到增广矩阵最后一列:
\\
\[
\begin{pmatrix}
2u_2+u_4\\
u_2\\
-2u_4\\
u_4
\end{pmatrix}
=
u_2\begin{pmatrix}
2\\
1\\
0\\
0
\end{pmatrix}
+
u_4
\begin{pmatrix}
1 \\
0\\
-2\\
1
\end{pmatrix}
\]
之后我们再来求 $v$。与求 $u$ 不同,$v$ 是一定程度上的特殊解,也就是能确定下来的变量都需要确定下来。因此,需要代入增广矩阵的结果部分:
\\
\[
\begin{cases}
v_1-2v_2-v_4&=3 \\
v_3+2v_4&=-2
\end{cases}
\]
由于 $v_2$ 和 $v_4$ 是 //free variable//,因此可以取任何值。我们在这里取 $0$,根据上面的等式即可算出 $v_1$ 和 $v_3$,有:
\\
\[
v=\begin{pmatrix}
3\\
0\\
-2\\
0
\end{pmatrix}
\]
到此,整个结果可以写为:
\\
\[
x=a
\begin{pmatrix}
2\\
1\\
0\\
0
\end{pmatrix}
+b
\begin{pmatrix}
1\\
0\\
-2\\
1
\end{pmatrix}
+\begin{pmatrix}
3\\
0\\
-2\\
0
\end{pmatrix}
\]
其中 $a$,$b$ 代表了 $u_2$, $u_4$ 的解,为任意值。
===Column Space===
//Colmun Space// 是一种将 $Ax$ 以列向量表达出来的方式,比如下面的例子:
\\ \\
{{ :math:linear_algebra:matrix_engineers:column_space.svg?400 |}}
\\
通过这样的整理,不难发现矩阵与列向量的乘法,实际上是矩阵中**各列的线性组合**。通过矩阵 $A$ 各列张成的空间,我们称为矩阵 $A$ 的 //colmun space// ,记作 $C(A)$
==计算 Column Space==
虽然 //Column Space// 由 $A$ 中列向量张成,但有时 $A$ 中的各个向量并不是 linear independent 的。因此,//Column Space// 的结果需要用 //basis// 和**维度**来体现。我们通过如下两步来进行:
- 计算 $A$ 的 //Rref//
- $Rref(A)$ 中拥有 //pivot point// 的列都是线性无关的。因此其对应的 $A$ 中的列,则是张成 //Column space// 的 basis
比如下面的例子:
\\
\[
\begin{pmatrix}
1& 1& 1& 0\\
1& 1& 0& 1\\
1& 0& 1&1
\end{pmatrix}
\Rightarrow
Rref(A)
\begin{pmatrix}
1& 0& 0& 2\\
0& 1& 0& -1\\
0& 0& 1&-1
\end{pmatrix}
\]
\\
将得到的 $Rref(A)$ 对应回 $A$,即可得到张成 $A$ 的 basis:
\\
\\
{{ :math:linear_algebra:matrix_engineers:cal_col_space.svg?200 |}} \\
因此,可知 :
\[
C(A)=span
\left \{ \begin{pmatrix}
1\\
1\\
1
\end{pmatrix}
\begin{pmatrix}
1\\
1\\
0
\end{pmatrix}
\begin{pmatrix}
1\\
0\\
1
\end{pmatrix}
\right \} \]
其空间的维度为 $3$。
===Row Space, Left Null Space and Rank===
==Row space==
与 //column space// 类似,//row space// 是以矩阵 $A$ 中的行向量进行线性组合而张成的空间。因为线性组合以列向量为标准,因此 //row space// 可以被视作矩阵 $A$ 的转置矩阵的 //column space//,记作 $Col(A^T)$
==Left Null Space==
//Left null space// 的概念延伸自 //null space//,指将向量 $x$ 至于 矩阵 $A$ 左边,产生的线性组合结果为 $0$ 的向量所张成的空间,也就是满足 $x^TA = 0$。该等式也可以视作 $x$ 与 $A$ 的转置的相乘,即 $xA^T=0$
==Rank==
* 无论是 //row space// 还是 //column space//,他们的维度是不变的。我们将该维度大小称为矩阵的 //rank//。
* //rank// 同样可以被视作矩阵中线性无关向量(列)的数量。
===Subspaces 的关联性===
假设 $A$ 为 $m \times b$ 的矩阵:
* //null space// 为 $n \times 1$ 的向量空间的 //sub space//,因为 //null space// 是由 $n \times 1$ 的向量 $x$ 进行线性组合得到的。
* //column space// 为 $m \times 1$ 的向量空间的 //sub space//,因为其由 $A$ 中列向量线性组合得到。
* //row space// 为 $n \times 1$ 的向量空间的 //sub space//。将 //row space// 考虑为 $Col(A^T)$ 即可。
* //left null space// 为 $m \times 1$ 的向量空间的 //sub space//,将 //left null space// 考虑为 $A^Tx$ 的 //null space// 即可
==Orthagonal Complements==
//Null space// 与 //Row space// 被称为 //Orthagonal Complements//,因为:
* //null space// 的维度等于 //Non-pivot column// 的数量,//row space// 的维度等于 //pivot column// 的数量,这两者的维度之和等于 $A$ 中列向量的总数
* 任意 //row space// 中向量与 //null space// 中向量**垂直**。因为 $Ax = 0$,因此 $A$ 中每个行向量与对应 $x$ 向量的点积必然为 0.
* 同时满足以上两个条件的两个向量空间,被称为 //Orthagonal Complements//。同理可以推断出 //left null space// 与 //column space// 也互为 //Orthagonal Complements//。
====Orthogonal Projections====
===Orthogonal Projections===
//Orthogonal Projection// 指将一个在较大的向量空间中的向量,投影到该向量空间的某个 sub space 中的操作。具体来讲,假设我们有:
* $n$ 维的向量空间 $V$
* $p$ 维的向量空间 $W$,$W$ 为 $V$ 的 sub space
* $W$ 的 orthonormal basis ${s_1,s_2,..s_p}$
* $v$ 为 $V$ 中的一个向量
那么 //Orthogonal Projection// 可以被定义为:
>$$
v_{proj_w} = (v^Ts_1)s_1 + (v^Ts_2)s_2+....(v^Ts_p)s_p
$$
==扩展视角==
如果将 orthonormal basis 扩展到基于 $V$,而不是 $W$。假设该 Basis 为:${s_1,s_2,..s_p, t_1, t_2, ...t_{n-p}}$,$t$ 为 $V$ 中额外的 basis。因为 $V$ 为 $n$ 维,因此 $t$ 的总数为 $n-p$。同样设 $v$ 为 $V$ 中向量,那么 $v$ 可以表示为:
$$
v = a_1s_1 + a_2s_2... + a_ps_p + b_1t_1+b_2t_2...+b_{n-p}t_{n-p}
$$
其中 $a$ 和 $b$ 为标量。
\\ \\
如果将上面的 $v$ 带入到之前的公式中,那么可以发现,只要 $v$ 中与当前分量不同的项,都会被取消掉。比如 $(v^Ts_1)s_1$,只有在 $v$ 分量为 $a_1s_1$ 时,才会有乘积的结果不为 0。该结果为 $a_1s_1^Ts_1 = a_1$。因为 $s_1$ 与其他项的向量同属一个 orthnormal basis 中,因此只要不是与自身相乘的项均为 $0$,也就是:
$$
(v^Ts_1)s_1 = a_1s_1
$$
那么 $v$ Orthogonal Projection 就可以写成:
$$
v_{proj_w} = a_1s_1+a_2s_2...+a_ps_p
$$
这与之前的公式是等价的。
推论:$v_{proj_w}$ is the **CLOSEST** vector to the $v$
===The Least-squares problem===
统计学里面有一个经典的问题://The least-sqares problem//(linear)。该问题描述的是:给定的一系列点,是否能找到一条直线,使得所有的点到直线距离的平方之和最小?
\\ \\
{{ :math:linear_algebra:matrix_engineers:linear_least_squares.svg?150 |}}
\\ \\
这个问题实际上可以转换为线性代数的问题。以上图为例,假设图中点有 $n$ 个,都是我们的 data。令每一个点的坐标为:
$$
(x_1, y_1), (x_2, y_2)...(x_n,y_n)
$$
假设蓝色直接代表了所有 $x,y$ 的关系,可以设该直线的方程为:
$$
\beta_0 + \beta_1x = y
$$
其中 $\beta_0$ 为直线与 $y$ 轴的交点,$\beta_1$ 为斜率。现在将所有的点都带入方程,可得:
\[
\begin{align*}
y_1=& \beta_0 +\beta_1x_1 \\
y_2=& \beta_0 +\beta_1x_2 \\
...\\
y_n=& \beta_0 +\beta_1x_n&
\end{align*}
\]
很明显,这是一个 linear system。在这个 Linear system 中,$x$, $y$ 都是已知的,而 $\beta_0, \beta_1$ 是未知的。因此可以做下面的变型:
\\ \\
{{ :math:linear_algebra:matrix_engineers:least_problem_axb.svg?200 |}}
\\ \\
则整个问题就转化为了 $Ax=b$ 的问题。
\\ \\
不过,在上述描述的关系中,未知数只有 2 个 $\beta_0, \beta_1$,但相关的等式有 $n$ 个。这种情况被称为 //over determined//;这种情况下,$\beta_0, \beta_1$ 显然是没有解的。
\\ \\
因此,我们退而求次,希望找一条 “最适合” 的直线来表示所有 $x,y$ 的关系。由于 $Ax$ 的结果必定处于 $A$ 的 column space 中(colmun space 代表 $Ax$ 中的列项量的线性组合,也就是所有可能的解,显然 $b$ 不处于该列空间中),因此,我们将 $b$ (也就是所有 $y$ 组成的向量)投射到 $A$ 的列空间中。根据我们之前根据 //Orthogonal Projection// 得出的结论,具体的来说,我们应该将 $b$ 投射到 $b_{proj_{col(A)}}$上(该向量与被投射的向量最近,因此得到的误差最小),也就是求下面的解:
$$
Ax = b_{proj_{col(A)}}
$$
==Normal Equation==
为了求解上述的等式,我们需要对 $Ax=b$ 做一些变形。如果我们将 $b$ 分解为在 $col(A)$ 上的投影 $b_{proj_{col(A)}}$,和另外一个分量,也就是:
\[
\begin{align}
Ax & = b_{proj_{col(A)}} + b -b_{proj_{col(A)}}
\end{align}
\]
由于 $b_{proj_{col(A)}}$ 是在 $col(A)$ 的投影,那么 $ b -b_{proj_{col(A)}}$ 显然垂直于 $col(A)$。而通过基础空间之间的关系可知,$col(A) =row(A^T)$。而 row space 恰好又与对应的 null space 互相垂直(互为 Orthagonal completement),因此:
* $ b -b_{proj_{col(A)}}$ 与 $col(A)$ 垂直,因此与 $row(A^T)$ 垂直
* 也就是说, $b -b_{proj_{col(A)}}$ 属于 $null(A^T)$
现在我们对 $Ax=b$ 的两边同时乘以 $A^T$。由于 $A^Tb_{proj_{col(A)}}$ 属于 $null(A^T)$,因此该分量与 $A^T$ 的乘积为 $0$。由此可以得到以下的推论:
\\ \\
\[
\begin{align*}
A^TAx & = A^Tb_{proj_{col(A)}} + A^T(b -b_{proj_{col(A)}})\\
&=A^Tb_{proj_{col(A)}}
\end{align*}
\]
记作:
>$$
A^TAx=A^Tb
$$
这个公式被称为 //Normal Equation//,是计算 Best fit line 的重要手段。
==Projection matrix==
当 $col(A)$ 中的向量是线性无关的时候,$A^TA$ 的结果是一个方阵,是可逆的。因此,对 //Normal Equation// 可以做出进一步的变形:
\\
\[
\begin{align*}
&A^TAx = A^Tb \\
\Rightarrow &x = (A^TA)^{-1}A^Tb \\
\Rightarrow &Ax = {\color{Red} A(A^TA)^{-1}A^T} b = b_{proj_{Col(A)}}
\end{align*}
\]
标红的部分被称为 //Projection matrix//。该矩阵将 $b$ 投影到 $Col(A)$ 上。
==利用 normal equation 计算 best fit line==
//假设有数据点:$(1,1), (2,3),(3,2)$,求过这几点的 best fit line。//\\ \\
首先,根据数据点,以 $y = \beta_0 + \beta_1x$ 为模板,建立 linear system。通过 linear system 确定 $A$:
\[
\begin{pmatrix}
1&1 \\
1& 2\\
1&3
\end{pmatrix}
\begin{pmatrix}
\beta_0\\
\beta_1
\end{pmatrix}
=
\begin{pmatrix}
1\\
3\\
2
\end{pmatrix}
\]
将 $A$ 带入 normal equation:
\[
\begin{pmatrix*}
1& 1& 1\\
1& 2&3
\end{pmatrix*}
\begin{pmatrix*}
1&1 \\
1& 2\\
1&3
\end{pmatrix*}
\begin{pmatrix*}
\beta_0\\
\beta_1
\end{pmatrix*}
=
\begin{pmatrix*}
1& 1& 1\\
1& 2&3
\end{pmatrix*}
\begin{pmatrix*}
1\\
3\\
2
\end{pmatrix*}
\]
\\
计算后得到关于 $\beta_0$ 和 $\beta_1$ 的 linear system。此时的未知数与等式数量相同,因此可以求解:
\\
\[
\begin{pmatrix*}
3 &6 \\
6 &14
\end{pmatrix*}
\begin{pmatrix*}
\beta_0\\
\beta_1
\end{pmatrix*}
=
\begin{pmatrix*}
6\\
13
\end{pmatrix*}
\]
\\ 解得 $\beta_0 = 1$,$\beta_1 = 1/2$,因此得到的直线方程为 $y = 1 + 1/2 * x$