![机器学习数学基础](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=1738781132-nbWBqA8kJYzBg9BXTDm0epFg4hV0z2TA-0-08b01294a44f72ee4f75a1d655b2c108)
是
的逆变换,反之亦然。这两个矩阵具有如下特点:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_447.jpg?sign=1738781132-Ka2D57ToDlCopER820SYS3IWXMVvgKC7-0-7d2b71e5232c488426fc3bf3faed9d77)
当然,并非所有的线性映射都能如同上面演示的那样,从像通过逆变换到原像。例如2.2.2节中的(2.2.5)式的线性映射,它将三维向量空间的向量映射到了二维向量空间,又如:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_449.jpg?sign=1738781132-90fPSaoceK76VvR3dcUNU6eKeQORYhBs-0-a391e96f3396db4315e95f1234cdad93)
其中是三维空间的一个平面,
是二维空间的一条线段,如图2-3-1所示,对于这种线性映射,就无法逆回去了,或者即便逆回去,也不是唯一解了。那么,矩阵
就不能乘以某个矩阵之后得到一个单位矩阵。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_453.jpg?sign=1738781132-8Xjg61y4ugKXnpYtFwOfpUKgLRGsj5PB-0-632a9c31fec656388ecac24789c3126e)
图2-3-1
比较和
,能够实现逆向变换的矩阵
是方阵。这个结论可以推广到
的矩阵中,即:
定义 设是
的方阵,如果存在矩阵
,使得:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_461.jpg?sign=1738781132-hcMvD0wExW8wJsXxKwOFZlWn2u8UwUBZ-0-3e1c46f1ed27d68dbff78f1287d23b58)
其中是单位矩阵,我们就说矩阵
是可逆的(或称“非奇异的”,Invertible),称矩阵
为
的逆矩阵(Inverse Matrix),记作:
。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_467.jpg?sign=1738781132-r0CgUPguBIP77dprSwFnYJf1K5AB4o9M-0-7f21e27073610b0be3d273c1e15ee5ea)
由逆矩阵的定义可知,一个矩阵如果是可逆的,那么它首先要是一个方阵。在我们所学过的各种矩阵中,单位矩阵毫无疑问都是方阵,并且,所以单位矩阵的逆矩阵还是单位矩阵。
如果把单位矩阵经过一次初等行变换之后,会得到初等矩阵,显然行变换是可逆的,所以初等矩阵也是可逆的。例如对实施初等行变换
后得到初等矩阵
,如果要计算它的逆矩阵,则只要将它变换回单位矩阵,同形状的单位矩阵也同时变换:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_472.jpg?sign=1738781132-h5zqu0vPasJYXijiu04oPfqZTSopp62P-0-a5e0e7dc4de24945889575da49238694)
在上面的矩阵中,竖线左侧是初等矩阵,右侧是同形状的单位矩阵。如此排列,主要目的是变换方便。这样的矩阵,称为增广矩阵。如果将左侧的初等矩阵变换为单位矩阵,右侧的单位矩阵做同样的变换,那么所得到的矩阵,就是
的可逆矩阵。实施变换
得:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_476.jpg?sign=1738781132-mGFt6mJTJQIAl8yV6Fdvtwt614w2WW8n-0-651ae4a1b5cf8b9ae00edb65ded068f6)
所以,。
对于任何可逆矩阵,要计算它的逆矩阵,都可以用类似上面的方法。但是,这里要特别说明,用手工方式进行计算,不是本书的重点,致力于机器学习的读者,更要熟练使用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=1738781132-97qrcAoqyAu45xZKHj0VB8f1ULcZrS66-0-ec075e1c6064091a1f83d8b73a795068)
反过来,通过逆矩阵,可以计算从YUV变换为RGB的关系:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_479.jpg?sign=1738781132-YakBGMRMIAFKJ2aaD4xLZEHuuykTXdtD-0-a1478296f37336a857266425093d6295)
即:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_480.jpg?sign=1738781132-4wAoL4kE8Jp98YEkWmMgoufiOGCiV88s-0-c9fea11febac2c4f1a35844c6964dca7)
那么,这个逆矩阵是如何计算出来的?刚才已经说了,手工计算逆矩阵不是本书的重点,以下用代码实现:
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_481.jpg?sign=1738781132-xzqaZIDv7Uoa4z6lkuv13RtOj6ZxeOzJ-0-b827cc2fbb7bd83485ca791bd0715c15)
这里所创建的二维数组表示RGB变换为YUV的矩阵,利用NumPy提供的函数inv()计算其逆矩阵。
![](https://epubservercos.yuewen.com/39156C/23020656909779806/epubprivate/OEBPS/Images/txt002_482.jpg?sign=1738781132-3tfSbGGJ7oUIdaG8Dla30DDH3dVEMyy8-0-e02ad0f4696a33b3a795a9916599518a)
对计算结果取3位小数,与前述显示相同。
用手工计算逆矩阵比较烦琐,还是用inv()简单,不过读者要理解逆矩阵的基本含义。
其实,我们很少具体计算某个矩阵的逆矩阵,但是逆矩阵在进行理论推导的时候会经常用到,特别是它的一些运算性质,罗列如下,请读者了解:
性质 矩阵是
的可逆矩阵,
是非零数:
●
●
●
●
●
● 若计算,将其表示为
:
● 的各列线性无关
● 是可逆矩阵
● 当且仅当时,
可逆
这里所列出的可逆矩阵的性质,有的内容要在后续介绍,比如是什么,看下一节。