MIT线性代数笔记一 行图像和列图像

曾经

  若干年前,有一个年轻的男老师给我们讲线性代数。他讲课的声音比较小,坐到后面接近听不清的状态。在模糊的印象中,第一节课就讲如何通过行列式求解方程组(克莱姆法则)。再到后来的矩阵的各种运算(加法、乘法、求逆、转置)、初等行变换,直到最后的特征值和特征向量的求解。一路以来,除了运算就是运算,但却并不知道为什么要这样算。当时就提出一个小疑问,难度线性代数学的就是各种运算规则嘛?可惜的是,并没有深究下去。

现在

  十一年(2018年大一)过去了。新年的第一个愿望就是能把李宏毅老师的《机器学习》(http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML19.html)课程认真学一遍。在学到线性回归这一小节的时候,为了把理论知识掌握的更加扎实,所以进行了公式推导。在公式推导的过程中,应用到了矩阵的求导公式。为了搞懂这一知识点,自己做出了学习计划:线性代数(MIT的Gilbent Strang老师,课程链接为https://www.bilibili.com/video/av34573725/?p=1)->矩阵论(其中矩阵论推荐哈工大的严质彬老师的课程,链接为https://www.bilibili.com/video/av11355346/?p=1)。为了更好的消化课程内容,所以对每节课的内容进行总结,写成博客。

第一讲 行图像和列图像

线性方程的几何图像
  线性代数的一个重要问题是求解n元一次方程组。例如下面的二元方程组:
{2xy=0x+2y=3 \left\{ \begin{array} { r } { 2 x - y = 0 } \\ { -x + 2y = 3 } \end{array} \right.
用矩阵表示如下所示:
[2112][xy]=[03] \left[ \begin{array} { c c } { 2 } & { - 1 } \\ { - 1 } & { 2 } \end{array} \right] \left[ \begin{array} { l } { x } \\ { y } \end{array} \right] = \left[ \begin{array} { l } { 0 } \\ { 3 } \end{array} \right]
其中A=[2112]\bold {A}=\left[ \begin{array} { c c } { 2 } & { - 1 } \\ { - 1 } & { 2 } \end{array} \right] 称为是系数矩阵x=[xy]未知数向量\bold {x}=\left[ \begin{array} { l } { x } \\ { y } \end{array} \right],等号右侧的向量记为b。可得Ax=b\bold{Ax} = \bold{b}

行图像

MIT线性代数笔记一 行图像和列图像
  行图像和解析几何的结果是一致的,即每个方程的图像为一条直线。绘制出两个方程组对应的直线,两条直线交点即为方程组的解 x=1, y=2。
  注:上图是使用wolframalpha绘制的结果,具体链接为(https://www.wolframalpha.com/input/?i=2x-y+%3D+0+and+-x%2B2y%3D3)。

列图像

  在列图像中,我们将系数矩阵按列划分,即把矩阵分解成若干个列向量的形式,则求解原方程可转化为为寻找列向量的线性组合来构成向量 b
x[21]+y[12]=[03] x \left[ \begin{array} { c c } { 2 } \\ { - 1 } \end{array} \right] + y \left[ \begin{array} { l } { -1 } \\ { \quad 2 } \end{array} \right] = \left[ \begin{array} { l } { 0 } \\ { 3 } \end{array} \right]

  向量的线性组合是课程的重要概念之一。其中线性组合指的是向量的加法和向量的数乘。其中向量的加法需满足平行四边法则或者三角形法则,向量的数乘指的是向量的伸缩(其中系数大于1则进行伸展,小于1则进行收缩)。多说一句,基向量的线性组合能够表示整个空间。

  从几何上讲,我们是寻找满足如下要求的 x 和 y,使得两者分别数乘对应的列向量之后相加得到向量 [03]\left[ \begin{array} { l } { 0 } \\ { 3 } \end{array} \right]

如果只是二元方程,可能还看不出来列图像的优势,如果是多元方程,就显而易见了。
{x+2y+3z=62x+5y+2z=46x3y+z=2 \left \{ \begin{array} { r } { x + 2y +3z = 6 } \\ { 2x + 5y +2z = 4 } \\ {6x-3y+z=2} \end{array} \right.
  对于方程组Ax=b\bold {Ax} = \bold {b}而言,如果改变等号右侧 向量b\bold {b} 的数值,那么对于行图像而言三个平面都改变了,而对于列图像而言,三个向量并没有发生变化,只是需要寻找一个新的组合。

  那么问题来了,对于任意的 b\bold {b},方程 Ax=b\bold {Ax} = \bold {b} 都有解?(这里的任意其实指的是所有)。
  从列图像上看,问题转化为“列向量的线性组合是否覆盖整个线性空间?”(为什么是线性空间,因为我们求的是n元一次方程组)。
  反例:若三个向量在同一平面内——比如“列 3”恰好等于“列 1”减“列 2”,而若 b 不在该平面内,则三个列向量无论怎么组合也得不到平面外的向量 b。此时矩阵 A 为奇异阵或称不可逆矩阵。在矩阵 A 不可逆条件下,不是所有的 b 都能令方程Ax=b\bold {Ax} = \bold {b}有解。
  对 n 维而言,n 个列向量如果相互独立——“线性无关”,则方程组有解。否则这 n 个列向量起不到 n 个的作用,其线性组合无法充满 n 维空间(线性相关),方程组未必有解。
  从行图像的角度来看,三元方程组是否有解意味着什么?当方程所代表三个平面相交于一点时方程有唯一解;三个平面中至少两个平行则方程无解;平面的两两交线互相平行方程也无解;三个平面交于一条直线则方程有无穷多解。那问题来了,高维空间很难绘制,交点就更无从谈起了。所以我们通过把行图像转换为列图像,从而降低了问题的复杂度。
  个人总结:方程组可以表示为矩阵和向量的乘法。如果按照行的角度去分析矩阵,则得到的是每个方程。但如果按照列的角度去分析矩阵,得到的是每个列向量的线性组合。一个融合了两种角度却并不矛盾的事物(矩阵)真心是一个创举!