重温线性代数(1)——线性组合

来源:互联网 发布:养车软件 哪个好 编辑:程序博客网 时间:2024/04/29 14:54

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

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

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

        本文涉及的内容是课程视频的前5课,对应的是书中的前两章Introduction to Vectors 和 Solving Linear Equations。由于这两章的内容最为基础,我不会详细地介绍书的内容(我也没看),只是根据课程视频总结一些有趣的points。

        这一部分让我印象最深的有两点:

  1. 如何看待矩阵相乘AX:AX 可以看作矩阵A中列向量的组合(各列向量的组合权重即为x中各项的值);
  2. 如何看待消元法:消元法可以看作将矩阵A分解为 A = LU。
        以下慢慢道来。

1、线性组合

       我们先来看以下一个简单的包含两个未知数,两个方程的方程组:

       

        该方程组可以通过矩阵表示:AX = b。其中  为系数矩阵,X为包含未知数的向量,b也是一个向量。
        我们可以有两种角度对这个方程组进行几何解释。第一种是按照行的角度来看(Row Picture),即逐个看方程组中的每个方程。对于二元方程组而言,很明显,每一个方程代表着一条直线,而两条直线的角点则是方程组的解。
       值得关注的是另一种解释方式,即以列向量的角度来看(Column Picture)。我们可以将方程组写成以下形式:

        
       
       可以清楚地看到,AX实际上将A中的两列按照x, y的权重进行组合,即AX is a combination of colums of A。因此,求解该方程组,即使在寻找一个合适的权重系数组合,使其组合结果等于右侧向量的值。若用向量图来表示则更加直观:



       线性组合是理解矩阵乘积的新思路,也是课程中老师一直在强调的内容,值得再三回味。

2、置换、转置、逆

       置换(permutation)包括行变换和列变换。对于矩阵思路来说,行变换可以通过对矩阵A左乘一个置换矩阵实现,相对的,列变换可以通过对矩阵A右乘一个置换矩阵实现。置换矩阵P实际上就是一个行(列)重新排列的的单位阵,比如置换矩阵第一行和第三行的置换矩阵为:
         
        置换矩阵有以下有趣的性质:,即

        转置的定义相信大家十分清楚。所谓对称矩阵即是其转置等于其本身的矩阵。大家想想有什么方法可以快速得到一个对称矩阵呢?以下提供一种有趣的方法:矩阵  一定是一个对称矩阵,其证明也非常简单。

        如果有:,我们则说为矩阵A的逆矩阵。矩阵A的逆矩阵不一定存在,以下便是其中一种特殊情况:如果能够找到一个非零向量x使Ax = 0成立,则矩阵A不可逆。利用反证法,我们将等式两边同时左乘即证明该结论。

        求解一个可逆矩阵A的逆矩阵的基本方法是Gauss-Jordan方法,即将矩阵  通过消元法得到 ,则矩阵B则为矩阵A的逆矩阵。证明方法如下:

        设消元矩阵为E,则有

        因此 ,可得

        所以 。   证毕。

        一个小性质:

3、消元法

       消元法是求解线性方程组的基本方法,通过消元得到一个上三角矩阵(对角线一下元素都为零)U,然后通过回代得到各个未知数的解。消元法的具体方法在此不再叙述,但这里我们用矩阵的思想重新解读一下消元法。

       需要注意的是,当使用消元法得到主元为零时(主元即对角线上的元素),消元法将会失效。在某些情况下,我们可以通过行交换消除这种主元为零的情况,这样消元法仍然是有效的。我们先考虑不需要进行行交换,消元法仍然有效的情况。

        消元法实际上就是在作行变换:

        

         然而实际上,我们有一种更加合理的方式对此进行理解,即将A进行分解得:

         

         其中L为下三角矩阵,U为上三角矩阵。结合以上两个式子,我们可以看到L其实是E的逆:。通俗的理解该等式,矩阵A可以通过消元得到的上三角阵U通过消元的逆操作L得到。

         使用L的好处是:消元时的乘数可以直接反映在L当中(multipliers go directly into L),我们举个例子来充分理解上述问题。我们对以下矩阵进行消元:

          

          按照常规方法,我们需要两步:1、用第二行减去3倍的第一行;2、用第三行减去2倍的第二行。得到上三角矩阵:

         

          采用矩阵的思路,我们可得消元矩阵分别为:

                              

         而L矩阵则为:

           

         可见L中只反映了消元乘数3和2,比E更具有合理性。

         对于需要作行交换的情况,上述分解式即变为:,其中P为置换矩阵。

4、小结

        本文的内容的确比较基础,也比较简单,但其中的两个重点还是值得玩味的。将矩阵乘法看作矩阵中向量的线性组合,既有着非常直观的几何意义,也揭露了矩阵运算的实质。而利用矩阵分解的思路解释消元法则能够用矩阵的思路对消元操作进行理解。接下来的一章将开始接触到线性代数的“核心”:向量空间和子空间,相信会有更多的收获和更深刻的理解,值得期待!
0 0