![深度学习全书:公式+推导+代码+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=1739394424-6SLKGWi51yjDEFqxMwjtMaIykZsDvJOU-0-2c7e309b4ab0339b4f2887e90ddf2c63)
矩阵加法/减法与向量相似,相同位置的元素作运算即可,但乘法运算通常是指内积,使用@。
以下程序请参考02_02_线性代数_矩阵.ipynb。
1.两个矩阵相加
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P33_914867.jpg?sign=1739394424-U12yXSrE9lXPq0AqdvGjMnO5oISmxb33-0-80e961ec92a5573a8e7555cc07c39054)
程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P33_627388.jpg?sign=1739394424-9mzp72tBdEW5Gn0FB8Ifpuxe2yTsEnNf-0-d1b038e9a660a5ba4125a9f9f6b39a7e)
2.两个矩阵相乘
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P33_914868.jpg?sign=1739394424-K5WQfFJcaNYJ4UCLsd9CLPSI3DGmUbVj-0-06fef38326c30e9cd92a40e0127920f8)
解题:左边矩阵的第二维须等于右边矩阵的第一维,即(m, k)×(k, n)=(m, n),则有
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P33_914869.jpg?sign=1739394424-xbCA3OXPe9Q04Bv5BKjQQ3UZPfF0Pnbf-0-5f7740a5d08250f4ff51835dfe89d634)
其中左上角的计算过程为(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=1739394424-XpEPFjoDugLa8s6o2t5bGhdZlZJdjYHt-0-83099891363df8a7f762bb5a1db741e9)
图2.7 矩阵相乘
程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_627848.jpg?sign=1739394424-MFmfa66BbD7axORQTa6anBcZz2N7EpJZ-0-0f9f4b308e2dc6173b49da6a5026771d)
3.矩阵(A、B)相乘
A×B是否等于B×A?程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_627855.jpg?sign=1739394424-9LbEr40TQ4aOzgr0EuUdlRClRJC4SOqS-0-ea6adb2ce381d92d53fb6bc9c4530a1b)
执行结果:A×B不等于B×A。
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_627862.jpg?sign=1739394424-pusel6eNqs9SoRE5sUTTGlOUVjtQIwd4-0-8274be9a52289b0db5da0c128c1c77e9)
4.特殊矩阵
矩阵在运算时,除了一般的加减乘除外,还有一些特殊的矩阵,包括转置矩阵(Transpose)、反矩阵(Inverse)、对角矩阵(Diagonal Matrix)、单位矩阵(Identity Matrix)等。
(1)转置矩阵:列与行互换。例如:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_914870.jpg?sign=1739394424-sdBZ0FNumQo8PcQUudF02VoUzsTVh7VR-0-6a0e21e4b10d69e761400e2401f153de)
(AT)T = A:进行两次转置,会恢复成原来的矩阵。
对上述矩阵作转置。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P34_627881.jpg?sign=1739394424-i77sV0HfcsHmN586DwnjOFZA6yhu3Dj9-0-8b719f259cfb068eea65f386de0cd1f3)
也可以使用np.transpose(A)。
(2)反矩阵(A-1):A必须为方阵,即列数与行数须相等,且必须是非奇异方阵(Non-singular),即每一列或行之间不可以相异于其他列或行。程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628322.jpg?sign=1739394424-0Gvtphr5HS2xoyLyKLe94sn9shJqZdbT-0-6f9338d804510118e968451f003b1559)
执行结果如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628329.jpg?sign=1739394424-oCl14Akz24wyVmC8dhB43IRKCYUQiQ3s-0-57fcc2af89870e353490a0777fe2bdf8)
(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=1739394424-zeoMhrJyjkJe2vMWv5txJpkQYoAyBelF-0-0114953dc619b644ab1dc68862eeb484)
程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628338.jpg?sign=1739394424-JpHQz7aG1zSdvp3CCEHwCxORZj9MvxqB-0-c4c4e850f259aca5bd92137106e0dbab)
执行结果如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628345.jpg?sign=1739394424-vrEwKoK7qGbkU91zxFEgNO3UNmokSVed-0-50d283ce87fb1992ccd0cf49eeec9979)
结果为单位矩阵,表示A为非奇异矩阵。
试对下列矩阵验算A @ A-1是否等于单位矩阵(I)。
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_914872.jpg?sign=1739394424-5TX3j0eNhVNxZoQ2mHmm9ZVPrwg3FgcA-0-d40a54c15ccb6397c94a821e28e1c517)
程序代码如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P35_628359.jpg?sign=1739394424-bTANZ2q2583SjdyFCx7Z3BeR8MF3bIJv-0-5c94b90dacfe8b1931426a95ebcbc114)
执行结果如下:
![](https://epubservercos.yuewen.com/E1A109/26581885501428906/epubprivate/OEBPS/Images/Figure-P36_628796.jpg?sign=1739394424-NgGQU6DRuBFiwY29QWHGZgDMJQNuSbjD-0-6034bcbd5acd515435513a42f3703a8e)
A为奇异(Singular)矩阵,因为
第二列=第一列+ 1
第三列=第一列+ 2
故A @ A-1不等于单位矩阵。