![深度学习全书:公式+推导+代码+TensorFlow全程案例](https://wfqqreader-1252317822.image.myqcloud.com/cover/894/47216894/b_47216894.jpg)
2-2-2 矩阵
矩阵是二维的张量,拥有行(Row)与列(Column),可用于表达一个平面N个点(N×2)、或一个3D空间N个点(N×3),例如:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P32_914864.jpg?sign=1739186118-htmxNhGtgVLcuEJLADCakUf1bcN4OLie-0-8b3dc2c379816df0ad9f34ad93115839)
矩阵加法/减法与向量相似,相同位置的元素作运算即可,但乘法运算通常是指内积,使用@。
以下程序请参考02_02_线性代数_矩阵.ipynb。
1.两个矩阵相加
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P33_914867.jpg?sign=1739186118-HfpqDSM9HZBTaw77jwfY8LyJ1OXD8w3a-0-de6ddde021155a4a6b5b4e86b5578c4f)
程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P33_627388.jpg?sign=1739186118-QqtxFcIrSWLGxqg5Z6NQmXYxP2XOKifC-0-600f172276dcb87fc6ae74f4858dac5a)
2.两个矩阵相乘
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P33_914868.jpg?sign=1739186118-131FoSzpZUyEpfgrOauDhasQsbmyAAdd-0-894a4ec8497ed0163e085dcb2e557d9c)
解题:左边矩阵的第二维须等于右边矩阵的第一维,即(m, k)×(k, n)=(m, n),则有
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P33_914869.jpg?sign=1739186118-uhCznz1x8lEUewudxH9WCPkR7pCEBiJS-0-73c3cbafe8880d5c598722c7d8f2983f)
其中左上角的计算过程为(1,2,3)×(9,7,5)=(1×9)+(2×7)+(3×5)=38,右上角的计算过程为(1,2,3)×(8,6,4)=(1×8)+(2×6)+(3×4)=32,以此类推,如图2.7所示。
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P33_627413.jpg?sign=1739186118-Vfl4xlrkkckvsQq92p5w6MreMBOJuf0A-0-f860d75f5d22f436f67daf2bd746a39e)
图2.7 矩阵相乘
程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_627848.jpg?sign=1739186118-HnINwaPhbhf3tmbEZjlDKCik4iqkyWJK-0-d51f544e54e524184d521ecc6a860ab2)
3.矩阵(A、B)相乘
A×B是否等于B×A?程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_627855.jpg?sign=1739186118-kDJXL9IO3o6UAACgQ8khklrj65X0RzUt-0-f92c38c6c1b58ab7681c518d444bc658)
执行结果:A×B不等于B×A。
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_627862.jpg?sign=1739186118-KgsMsXJ5wGw3LtpkarYZZG0eB4mx59IV-0-1310f1b95b9be4341cda21e876c4ebad)
4.特殊矩阵
矩阵在运算时,除了一般的加减乘除外,还有一些特殊的矩阵,包括转置矩阵(Transpose)、反矩阵(Inverse)、对角矩阵(Diagonal Matrix)、单位矩阵(Identity Matrix)等。
(1)转置矩阵:列与行互换。例如:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_914870.jpg?sign=1739186118-puZXYCtS49Ol9DCbstR77VXa5CzMtjpJ-0-a6c77cb68207550502f11269cabf11a0)
(AT)T = A:进行两次转置,会恢复成原来的矩阵。
对上述矩阵作转置。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_627881.jpg?sign=1739186118-nL06EkwPmug1DSanv9tC4Rx5Lo30QsTw-0-4da03e5682ce19ecff17ba6523d024fa)
也可以使用np.transpose(A)。
(2)反矩阵(A-1):A必须为方阵,即列数与行数须相等,且必须是非奇异方阵(Non-singular),即每一列或行之间不可以相异于其他列或行。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628322.jpg?sign=1739186118-1f6EVaNQ34S9jLZipFsRndHYba0SwLQr-0-e09f921e1bae8fd1bce58fc4c681ac12)
执行结果如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628329.jpg?sign=1739186118-8NJBDkWg3QQyjdZp8ef5fMryTQv1yAmY-0-652d5812612085054d08717688b130d2)
(3)单位矩阵:若A为非奇异(Non-singular)矩阵,则A @ A-1 =单位矩阵(I)。所谓的非奇异矩阵是指任一行不能为其他行的倍数或多行的组合,包括各种四则运算,矩阵的列也须符合相同的规则。
试对下列矩阵验算A @ A-1是否等于单位矩阵(I)。
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_914871.jpg?sign=1739186118-eLU6vXukQiMNp3PU70xOPuSybS6LY5az-0-dd73431e0294b252b19e87bbf33f2d48)
程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628338.jpg?sign=1739186118-VUgRA080ndDTmqomOTmvOKZo0agEUoeB-0-58b324839c79ffc1d3be810e9eab06f1)
执行结果如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628345.jpg?sign=1739186118-cof3KNHC9etfE1AQfnJqUuzHCtWDMnQo-0-fa2f71ea4f063b37d81a34d7aaba3224)
结果为单位矩阵,表示A为非奇异矩阵。
试对下列矩阵验算A @ A-1是否等于单位矩阵(I)。
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_914872.jpg?sign=1739186118-yd8myMxy3Eo6redzHWZ7zIKrnfkEPVXQ-0-cf7098b28203cff5f007fc2fc3b6fa11)
程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628359.jpg?sign=1739186118-RD73RL5Pl9GDjZf8uafXZynvITCs8nNO-0-5e8d9ea61efed949a2ab433fab905ac7)
执行结果如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P36_628796.jpg?sign=1739186118-Oti3YDoAYZLjWbn7WpQfrVWmtr2OQ7FM-0-dc512d6c792fbfd01115877c730bbdc7)
A为奇异(Singular)矩阵,因为
第二列=第一列+ 1
第三列=第一列+ 2
故A @ A-1不等于单位矩阵。