重温线性代数(3)——正交、投影

        线性代数是数学中的基础,也是十分重要的数学工具。在接触机器学习之后,我逐渐认识到了线性代数的重要性,矩阵运算,优化求解,都离不开线性代数的知识。同时,我也发现了自己数学基础的严重不足,急需好好重学一遍线性代数,为之后的学习打好基础。因此,“重温线性代数”这个系列就诞生了。或许大家会觉得这个系列的内容稍微基础了点,但学习就是如此,一遍又一遍,脚踏实地,温故知新,每次学习都会有新的收获。

        离开了大学的课堂,但还好现在有琳琅满目的网络公开课课程。我选择学习的是网上颇受赞赏的MIT "Introdution to Linear Algebra"课程,由Gilbert Strang主讲。参考书目为Strang编写的《Introduction to Linear Algebra》4th edition。目前为止,我觉得这门课给我提供了不少新的有趣的思路,是我之前学习线性代数的时候没有思考过的,值得一学。

————————————————————————————————————————————————————————————————

         本文涉及的内容是课程视频中的14至17课,对应书本中的第四章 Orthogonality。顾名思义,本章主要讲的是“正交性”,而正交性的作用会体现在“投影”(Projection)当中,而投影的作用则是为了解决线性方程组 Ax=b 无解情况下的问题。加上本章的学习,我们就对 Ax=b 有了全面的认识。本文分以下三点进行介绍:

  1. 正交性:包括向量的正交、子空间的正交;
  2. 投影:从1维、3维投影出发,寻求Ax=b无解情况下的解法,即最小二乘法;
  3. 矩阵的正交化:Gram-Schmidt 方法。
         本章内容看似不太困难,但我学习的时候也感觉有点犯晕。如有疏漏,望指教。

         以下逐一道来。

1、正交性

  • 向量正交:如果两个向量的内积为零,则两个向量正交,即

  • 子空间正交:给定两个子空间S、T,若S中的所有向量与T中的所有向量都正交,则称子空间S和T正交。

  • 正交补(Orthogonal complement):子空间V的正交补是一个包含了所有与V正交的向量的子空间,记作

        这一小节的核心是要说明上一章提到的4个基本子空间的正交关系:

        矩阵A的零空间是其行空间的正交补,即   (in ) 。

        矩阵A的左零空间是其列空间的正交补,即  (in )。

        首先我们来说明正交性:为什么。

        由于是矩阵A的零空间,我们有 Ax=0,即:


         可见x与行向量的内积都是0,因此它与所有行向量的线性组合都是正交的,得证。

        另一方面,通过第三章的学习,我们知道 。这个重要的等式告诉我们零空间与行空间不仅是正交的,更是相互的正交补,即行空间包含了所有正交于零空间的向量,反之亦然。

        我们可以通过反证法轻松得到这个结论。若存在某一向量v正交于零空间而不存在于现有的行空间。则我们可以把它作为新的一行加到矩阵A中,则行空间会增大,破坏了等式r+(n-r)=n。反过来,假设存在某一向量w正交与行空间而不存在于零空间。但由于正交性我们可得Aw=0,即w必定存在于零空间中,与假设不符。

        大家是否还记得上文中给出的关于4个基本子空间的 "Big picture“ ?行空间与零空间只相交于一点,其实就是想说明它们之间正交补的关系,它们两个子空间的交集只有零向量。

        最后,由于行空间和零空间相互的正交补性质,我们可以将n维向量 x 分解为两个分量:行空间分量  和零空间分量 。将矩阵A与向量x相乘的 Ax,其实现的是以下两个映射:

  • 将零空间分量映射为m维的零向量:
  • 将行空间分量映射到列空间当中:
        另外,列空间与行空间的向量存在一一对应关系,即所有列空间的向量b都是来自一个且仅为一个的行空间中的向量。上述分解和映射关系可以通过下图反应出来:




2、投影

        首先,我们来回答一个问题:什么是投影?

        一个向量b在一个子空间S的投影,就是要在这个子空间中找到一个向量p使其最接近于向量b。它们之间的误差为 e = b-p,因此我们需要找到一个向量p使e的距离最小。这时上一小节介绍的正交性就派上用场了,因为我们知道当向量e正交于S的时候,它的距离是最小的。

        很好,让我们再来回答一个问题:为什么要用到投影?

        在前面的章节中,我们求解Ax=b时都是假设方程组是有解的。然而,我们常常会遇到方程组无解的情况。这种情况通常会发生在矩阵A的行数大于列数时,即方程的数量大于未知数的数量,而且测量中有噪声存在(所以才使向量b不在列空间中)。这时,我们可以寻求一个最优解,其方法便是将向量b投影到矩阵A的列空间中,并用该投影向量p代替b求解原方程组,即说明这是个最优解,或说是近似解。

        以下来介绍如何得到一个向量的投影。

2.1、一维下的投影



        如上图,由误差向量e与向量a正交,因此我们有:这里可以看做一个比例系数。

        通过化简我们得到 ,因此:


         又因为:


         我们得到: 。令P为投影矩阵,即,则可以得到一维情况下的投影矩阵为:


2.2、多维下的投影

重温线性代数(3)——正交、投影_第1张图片

         如上图,误差向量e应该正交于子空间S,因此它于S的n个基向量都是正交的:


        用矩阵形式表示即是:
        整理可得:

        因此:

        由于 ,我们得到:

        同样,我们可以得到多维情况下的投影矩阵P:


          

        现在,我们可以来总结一下投影矩阵的性质:

        1、对称性:      2、不变性(投影的投影还是投影本身):

        这两个性质都可以用投影矩阵的公式来证明,在此不再赘述。

2.3、再看Ax=b

        当向量b不在矩阵A的列空间中时,我们将其投影为列空间中的投影向量p。由于误差向量e与p相互正交且b=p+e,所以其实是将向量b分解为p和e两个正交分量。由于列空间与左零空间相互为正交补,因此误差向量e位于左零空间当中。(其实从式子  也可以看出)另外,将b投影为p的投影矩阵为P,则相对的,将b投影为e的投影矩阵为 (I-P)。而投影向量p由于位于列空间中,所以方程组是可解的,其解即为最优解。上述关系可以由下图说明:


重温线性代数(3)——正交、投影_第2张图片

        通俗而言,当我们原方程组Ax=b无解时,我们可以两边同时左乘然后求解。

        最后,我们还有一个遗留问题:什么时候是可逆的呢?

        实际上,当矩阵A的列向量线性独立时,就是可逆的,即 r=n。

3、正交化

        先来看几个概念:
  • 正交单位向量:满足相互正交且长度为1的一组向量
  • 正交矩阵:列向量为正交单位向量的矩阵,通常指方阵。
        正交矩阵有一个性质:

              当Q为方阵时,我们还可以得到:

        使用正交矩阵的好处是:可以使前小节所出现的公式更为简洁!

        比如投影矩阵:

        再比如: 中的矩阵A替换为正交矩阵Q则有:


        了解了正交矩阵的好处后,我们学习利用Gram-Schimidt方法使矩阵的列向量正交单位化。

        假设矩阵中有列向量a, b, c,我们希望的到正交的列向量A, B, C。我们可以以向量a为基准,即A=a。然后使其他向量与其正交。

        首先是向量B。由2.1小节一维投影中可得,向量e正交于向量a,因此:

        然后使向量C。由于其必须同时与A、B正交,因此:


        以此类推可以得到任意个相互正交的向量。

        最后,将这些向量进行归一化操作即可得到正交单位向量:

         

4、总结

        至此,我们对Ax=b的学习就告一段落了。随着学习的深入,我对Ax——这个矩阵乘以向量的简单式子有了更深的认识。Lv. 1,我们把Ax单纯地看作数字的运算,这也是我在”重温线性代数“之前的认识;Lv. 2,我们把Ax看作矩阵A中列向量的线性组合,组合系数就是向量x中的值;Lv. 3,我们认识到Ax其实代表了矩阵A的列空间;而今天 Lv. 4,我们认识到向量x可以分解成行空间分量和零空间分量,其与矩阵A相乘的结果分别是映射到了列空间中和零向量中。

        另外,我们也通过正交性更加清楚了4个基本子空间之间的关系,通过投影解决了Ax=b无解的问题。这种解法最重要的应用就是最小二乘法(Least squares)。本文没有提及该方法,但其实两者间有着巨大的联系,简而言之,上文推导出的式子 ,便是著名的normal equation。关于最小二乘的介绍网上太多,在此就不再赘述了。

你可能感兴趣的:(数学,数学,线性代数)