机器学习中的数学:线性代数之矩阵(能力工场小马哥)

我开始以为矩阵是为了把线性方程组的系数抽取出来,方便方程组化简和求解,后来发现矩阵的用处不止如此,不然就不会写一本书了。

矩阵可以方便的用来表示线性空间,一个简单的二维数阵,就可以表示成n维线性空间。

一个毫无意义的有序数阵,我们赋予它意义,他就可以表示成一个空间。那为什么要这么做呢?这是因为矩阵的运算可以表示线性空间的变换。以向量举例,我们求两个向量相加,可以让(x1,y1)和(x2,y2)相加,而不必真的在图上画出来这个相加后的向量。到三维空间我们就画不出来了,因为二维空间中的向量不能表示三维空间中的向量。同样,n大于3以上维度的空间中的向量我们不但不方便表示,甚至根本实现不了,但是矩阵可以帮助我们表示出来。一个3x3的矩阵,我们把他分成三列,就得到三个三维的列向量,同样4阶方阵中包含了4个4维向量。

--------------------------------------------------------------------------------------------------------------------------------------------
为了直观理解,下面全部用二维向量举例。

  1. 平面内引入直角坐标系之后,二维空间内所有的向量都可以用两个基向量i=(1,0)和j=(0,1)的线性组合来表示,例如a=(4,6),可以表示为a=4i+6j
  2. 但是也可以由i=(2,0)和j=(0,2)两个向量来表示,例如a=2i+3j
  3. 还可以由i=(1,1)和j=(1,-1)来表示,例如a=5i-1j
  4. 或者由i=(1,0)和j=(1,-1)表示,例如a=10i-6j
  5. 在1的基础上,我们还可以将a表示为i=(1,0),j=(0,1),k=(1,1)三个向量的线性组合,也就是a=4i+6j+0k或者a=0i+2j+4k或者a=2i+4j+2k等等等等我举不完了。这其中k=i+j
通过上面的举例我们可以总结出几条。
  1. 由5点到4点,将多余的基向量k去掉,得到最大线性无关向量组
  2. 由4点到3点,将两个基向量的夹角变成直角,实现正交化
  3. 由3点到2点,将构成正交的两个基向量旋转,使其与坐标轴重合,实现对角化
  4. 由2点到1点,通过伸缩将两个基向量的长度变成单位长度,实现规范化

通过上面的几个步骤,我们可以看出,任何一组向量构成的坐标系,都可以通过化简,正交,对角,规范的过程,将任何乱七八糟莫名其妙的坐标系变换成笛卡尔坐标系。那这么做有什么用呢?到这里我开了一下脑洞:
假如说,平面内有两个椭圆,将直角坐标系的原点放在一个椭圆的长轴和短轴交点处,这样就可以得到这个椭圆的标准方程,就是高中课本上那个。由于这两个椭圆的位置相对,这样一来另一个椭圆的位置也就定下来了,可惜很难看,长得很歪,很难用方程表示。这时就可以以这个椭圆为原点再建立一个坐标系,并且在这个坐标系下用标准方程表示出来,这样两个椭圆都有了方程来表示,问题就化简为了两个坐标系之间的关系,这时再用矩阵来运算就好了。可惜这里不能画矩阵,关于矩阵的好多问题都不能解释。

BTW,上面列举的例子都是同维度内的问题,关于升维和降维的问题其实关系到求矩阵的秩,以及线性方程组有解无解多解的问题。
----------------------------------------------------------------------------------------------------------------------------------------

 

联系本文作者交流或者索取相关代码及软件请加入QQ群:小马哥的技术分享 413939157.
欢迎读者留言板留下您的技术见解, 一起讨论, 共同提高, 小马哥随时看到回复.
posted @ 2018-12-30 15:19  能力工场-小马哥  阅读(328)  评论(0编辑  收藏  举报