《动手学深度学习》——线性代数

数学

矩阵

矩阵是一个按照长方阵列排列的复数或实数集合。向量将标量从零阶推广到一阶,矩阵将向量从一阶推广到二阶。

数学中,通常用粗体、大写字母来表示(例如,XYZ

数学表示法使用读书笔记:矩阵_对称矩阵 来表示矩阵读书笔记:矩阵_标量_02,其由读书笔记:矩阵_转置_03行和读书笔记:矩阵_对称矩阵_04列的实值标量组成。我们可以将任意矩阵读书笔记:矩阵_对称矩阵视 为一个表格,其中每个元素aij属于第i行第j列:

读书笔记:矩阵_对称矩阵_06

对于任意 读书笔记:矩阵_对称矩阵读书笔记:矩阵_标量_02的形状是读书笔记:矩阵_转置_09读书笔记:矩阵_对称矩阵_10

访问元素

我们可以通过行索引读书笔记:矩阵_对称矩阵_11和列索引读书笔记:矩阵_标量_12来访问矩阵中的标量元素aij,例如读书笔记:矩阵_转置_13。为了表示起来简单,

只有在必要时才会将逗号插入到单独的索引中,例如读书笔记:矩阵_标量_14

运算

转置(transpose)

当我们交换矩阵的行和列时,结果称为矩阵的转置(transpose)。

通常用读书笔记:矩阵_对称矩阵_15来表示矩阵的转置,如果读书笔记:矩阵_标量_16, 则对于任意i和j,都有读书笔记:矩阵_标量_17

哈达玛积(Hadamard积)

两个矩阵的按元素乘法称为Hadamard积(Hadamard product)(数学符号⊙)。

读书笔记:矩阵_转置_18

矩阵向量积


矩阵乘积

读书笔记:矩阵_对称矩阵_19

读书笔记:矩阵_对称矩阵_20

读书笔记:矩阵_转置_21

特殊矩阵

方阵

当矩阵具有相同数量的行和列时,其形状将变为正方形;因此,它被称为方阵(square matrix)

对称矩阵(symmetric matrix)

作为方阵的一种特殊类型,对称矩阵。A等于其转置:读书笔记:矩阵_标量_22


编程

矩阵在代码中表示为具有两个轴的张量。

矩阵

A = torch.arange(20).reshape(5, 4)
B = torch.tensor([[1, 2, 3], [2, 0, 4], [3, 4, 5]])
A, B

输出

(tensor([[ 0,  1,  2,  3],
         [ 4,  5,  6,  7],
         [ 8,  9, 10, 11],
         [12, 13, 14, 15],
         [16, 17, 18, 19]]),
 tensor([[1, 2, 3],
         [2, 0, 4],
         [3, 4, 5]]))

转置

B.T

输出

tensor([[1, 2, 3],
        [2, 0, 4],
        [3, 4, 5]])