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