![机器学习数学基础](https://wfqqreader-1252317822.image.myqcloud.com/cover/482/43738482/b_43738482.jpg)
2.3.1 逆矩阵
以2.2.3节中图2-2-6所示的向量旋转变换为例,矩阵是向量
逆时针旋转到
的旋转变换,那么,如果从
顺时针转到
的旋转变换是什么呢?这个变换相对于
而言,是逆变换。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_444.jpg?sign=1739216883-HnqYNQG3yzXoJ3yVLXQztxjPKL06ILTx-0-0998a4bcb3dfa7627c5687f8015692fb)
是
的逆变换,反之亦然。这两个矩阵具有如下特点:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_447.jpg?sign=1739216883-RuW0mVEE3JWMFCuyskMcPTIBVsC9YYgr-0-ee1d68b5a9e2c472ffb5537b8bfe9a74)
当然,并非所有的线性映射都能如同上面演示的那样,从像通过逆变换到原像。例如2.2.2节中的(2.2.5)式的线性映射,它将三维向量空间的向量映射到了二维向量空间,又如:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_449.jpg?sign=1739216883-CJe92P7yVdyqrQ8vVkPVevCd2xLEDhj4-0-cf185b5f2d6fbfaa90e27a04c51c4d16)
其中是三维空间的一个平面,
是二维空间的一条线段,如图2-3-1所示,对于这种线性映射,就无法逆回去了,或者即便逆回去,也不是唯一解了。那么,矩阵
就不能乘以某个矩阵之后得到一个单位矩阵。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_453.jpg?sign=1739216883-pNHS5OjSD2Fa6MufgK1QYZHMYwyiPYUg-0-e865dd0dc9768592e57d50d689987723)
图2-3-1
比较和
,能够实现逆向变换的矩阵
是方阵。这个结论可以推广到
的矩阵中,即:
定义 设是
的方阵,如果存在矩阵
,使得:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_461.jpg?sign=1739216883-baVxWURrieP22hE0dxQ6TKOZ6qxvaZVl-0-4d548d2374f88b1aedf21a2ac823fa06)
其中是单位矩阵,我们就说矩阵
是可逆的(或称“非奇异的”,Invertible),称矩阵
为
的逆矩阵(Inverse Matrix),记作:
。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_467.jpg?sign=1739216883-WQ8rADjtGzzjgdT7pnzBmAnwmdUlxAdU-0-e0ae3f3809cb1626edfb20bc4e207e3e)
由逆矩阵的定义可知,一个矩阵如果是可逆的,那么它首先要是一个方阵。在我们所学过的各种矩阵中,单位矩阵毫无疑问都是方阵,并且,所以单位矩阵的逆矩阵还是单位矩阵。
如果把单位矩阵经过一次初等行变换之后,会得到初等矩阵,显然行变换是可逆的,所以初等矩阵也是可逆的。例如对实施初等行变换
后得到初等矩阵
,如果要计算它的逆矩阵,则只要将它变换回单位矩阵,同形状的单位矩阵也同时变换:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_472.jpg?sign=1739216883-6xvbVVlTeBpgUReseIee0QB0QvaQp6hN-0-13bad000f5bf054f8c8a5c72f9432a1a)
在上面的矩阵中,竖线左侧是初等矩阵,右侧是同形状的单位矩阵。如此排列,主要目的是变换方便。这样的矩阵,称为增广矩阵。如果将左侧的初等矩阵变换为单位矩阵,右侧的单位矩阵做同样的变换,那么所得到的矩阵,就是
的可逆矩阵。实施变换
得:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_476.jpg?sign=1739216883-RfRwz3FePgaFeVJH9e80KXhzNaTAiLtu-0-85e788261cc1e733f79ac5e5e81df0ef)
所以,。
对于任何可逆矩阵,要计算它的逆矩阵,都可以用类似上面的方法。但是,这里要特别说明,用手工方式进行计算,不是本书的重点,致力于机器学习的读者,更要熟练使用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表示图像的亮度,I、Q是色调的两个分量,I代表从橙色到青色的颜色变化,Q代表从紫色到黄绿色的颜色变化。
● YUV:是PAL制式的模拟彩色电视所使用的颜色空间,我国的模拟彩色电视机即为PAL制式。Y代表亮度,U、V代表色差,构成彩色的两个分量。YUV颜色空间将Y、U、V分离,如果只有Y分量而没有U、V分量,那么表示的图像就是黑白灰度图像,从而让黑白电视机也能接收彩色电视机的信号。
不同的颜色空间从不同角度描述了颜色,也有不同的特点和用途。比如RGB颜色空间适用于显示色彩,不适用于获取图像,因为三个分量容易受到亮度的影响,特别是在自然环境下,而YUV则对外界干扰有一定的鲁棒性。
正如不同向量空间可以变换,颜色空间都可以表示为向量,它们之间也可以线性映射。下面所表示的就是从RGB变换为YUV的方式:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_478.jpg?sign=1739216883-m7fkYWVSr69yIWpPCxwWe8Y3VwHPIjYh-0-644aae9100e315b749422be3c6b0eb62)
反过来,通过逆矩阵,可以计算从YUV变换为RGB的关系:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_479.jpg?sign=1739216883-dNpQR6G4tW1NgFie26zdXoU7ILvmxYK0-0-f6ee6c785e157a720769a506ad12fc13)
即:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_480.jpg?sign=1739216883-Cj56pQsZeW6EitA6uc7P4I8s8EYRQGiB-0-a8deeeb8f4b3a961140432104e2ab2b4)
那么,这个逆矩阵是如何计算出来的?刚才已经说了,手工计算逆矩阵不是本书的重点,以下用代码实现:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_481.jpg?sign=1739216883-BLKepAcR8RkdSafoKkD104pJSIjpv40X-0-be92c9b8efed60dc4a467066123b2aa2)
这里所创建的二维数组表示RGB变换为YUV的矩阵,利用NumPy提供的函数inv()计算其逆矩阵。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_482.jpg?sign=1739216883-PmhVoFr1nzr18G730YmUPqoYiTY3cvl9-0-04cd2cf289e34b602617438ba37656c1)
对计算结果取3位小数,与前述显示相同。
用手工计算逆矩阵比较烦琐,还是用inv()简单,不过读者要理解逆矩阵的基本含义。
其实,我们很少具体计算某个矩阵的逆矩阵,但是逆矩阵在进行理论推导的时候会经常用到,特别是它的一些运算性质,罗列如下,请读者了解:
性质 矩阵是
的可逆矩阵,
是非零数:
●
●
●
●
●
● 若计算,将其表示为
:
● 的各列线性无关
● 是可逆矩阵
● 当且仅当时,
可逆
这里所列出的可逆矩阵的性质,有的内容要在后续介绍,比如是什么,看下一节。