机器学习数学基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3.1 逆矩阵

以2.2.3节中图2-2-6所示的向量旋转变换为例,矩阵是向量逆时针旋转到的旋转变换,那么,如果从顺时针转到的旋转变换是什么呢?这个变换相对于而言,是逆变换。

的逆变换,反之亦然。这两个矩阵具有如下特点:

当然,并非所有的线性映射都能如同上面演示的那样,从像通过逆变换到原像。例如2.2.2节中的(2.2.5)式的线性映射,它将三维向量空间的向量映射到了二维向量空间,又如:

其中是三维空间的一个平面,是二维空间的一条线段,如图2-3-1所示,对于这种线性映射,就无法逆回去了,或者即便逆回去,也不是唯一解了。那么,矩阵就不能乘以某个矩阵之后得到一个单位矩阵。

图2-3-1

比较,能够实现逆向变换的矩阵是方阵。这个结论可以推广到的矩阵中,即:

定义 的方阵,如果存在矩阵,使得:

其中是单位矩阵,我们就说矩阵可逆的(或称“非奇异的”,Invertible),称矩阵逆矩阵(Inverse Matrix),记作:

由逆矩阵的定义可知,一个矩阵如果是可逆的,那么它首先要是一个方阵。在我们所学过的各种矩阵中,单位矩阵毫无疑问都是方阵,并且,所以单位矩阵的逆矩阵还是单位矩阵。

如果把单位矩阵经过一次初等行变换之后,会得到初等矩阵,显然行变换是可逆的,所以初等矩阵也是可逆的。例如对实施初等行变换后得到初等矩阵,如果要计算它的逆矩阵,则只要将它变换回单位矩阵,同形状的单位矩阵也同时变换:

在上面的矩阵中,竖线左侧是初等矩阵,右侧是同形状的单位矩阵。如此排列,主要目的是变换方便。这样的矩阵,称为增广矩阵。如果将左侧的初等矩阵变换为单位矩阵,右侧的单位矩阵做同样的变换,那么所得到的矩阵,就是的可逆矩阵。实施变换得:

所以,

对于任何可逆矩阵,要计算它的逆矩阵,都可以用类似上面的方法。但是,这里要特别说明,用手工方式进行计算,不是本书的重点,致力于机器学习的读者,更要熟练使用Python语言生态系统中的NumPy、Pandas等各种库、模块来解决各种计算问题(参阅:《跟老齐学Python:数据分析》(电子工业出版社))。

下面以显示器上对颜色的表示为例,说明逆矩阵的应用和计算方法。通常可以用三个相对独立的变量来描述颜色,这就构成了一个向量空间,我们称之为颜色空间,比如:

● RGB:通过Red、Green、Blue三原色来描述颜色的颜色空间。在网页的CSS中设置颜色的时候,常用十六进制的6个数字,如 #336699表示一种颜色,这里的6个数字被分为三组,即(33,66,99),分别对应红(R)、绿(G)、蓝(B)三种颜色。每种颜色的成分可以用从0到255(十进制)的数表示,0是最低级,255是最高级。此外,还可以用诸如rgb(255,0,0)或rgb(100%,0%,0%)(这两者都表示红色)的形式表示颜色。

● YIQ:是NTSC制式的模拟彩色电视所使用的颜色空间,Y表示图像的亮度,IQ是色调的两个分量,I代表从橙色到青色的颜色变化,Q代表从紫色到黄绿色的颜色变化。

● YUV:是PAL制式的模拟彩色电视所使用的颜色空间,我国的模拟彩色电视机即为PAL制式。Y代表亮度,UV代表色差,构成彩色的两个分量。YUV颜色空间将Y、U、V分离,如果只有Y分量而没有U、V分量,那么表示的图像就是黑白灰度图像,从而让黑白电视机也能接收彩色电视机的信号。

不同的颜色空间从不同角度描述了颜色,也有不同的特点和用途。比如RGB颜色空间适用于显示色彩,不适用于获取图像,因为三个分量容易受到亮度的影响,特别是在自然环境下,而YUV则对外界干扰有一定的鲁棒性。

正如不同向量空间可以变换,颜色空间都可以表示为向量,它们之间也可以线性映射。下面所表示的就是从RGB变换为YUV的方式:

反过来,通过逆矩阵,可以计算从YUV变换为RGB的关系:

即:

那么,这个逆矩阵是如何计算出来的?刚才已经说了,手工计算逆矩阵不是本书的重点,以下用代码实现:

这里所创建的二维数组表示RGB变换为YUV的矩阵,利用NumPy提供的函数inv()计算其逆矩阵。

对计算结果取3位小数,与前述显示相同。

用手工计算逆矩阵比较烦琐,还是用inv()简单,不过读者要理解逆矩阵的基本含义。

其实,我们很少具体计算某个矩阵的逆矩阵,但是逆矩阵在进行理论推导的时候会经常用到,特别是它的一些运算性质,罗列如下,请读者了解:

性质 矩阵的可逆矩阵,是非零数:

● 

● 

● 

● 

● 

● 若计算,将其表示为

● 的各列线性无关

● 是可逆矩阵

● 当且仅当时,可逆

这里所列出的可逆矩阵的性质,有的内容要在后续介绍,比如是什么,看下一节。