一、数学概念
标量(scalar):一个标量就是单独的一个数。一般用斜体的小写字母表示标量,会明确数的类型。例如, s ∈ R s \in \mathbb{R} s∈R 表示一个实数标量。
向量(vector):一个向量是一列数。一般用粗体的小写字母表示, x ∈ R n \boldsymbol{x} \in \mathbb{R}^{n} x∈Rn 表示该向量属于实数集 R \mathbb{R} R 的 n n n次笛卡尔乘积构成的集合。向量里的数是有序的,例如,向量 x \boldsymbol{x} x 的第一个元素是 x 1 x_{1} x1 。当我们需要明确向量中的元素,我们可以把向量表示为
x = [ x 1 x 2 ⋮ x n ] \boldsymbol{x}=\left[\begin{array}{c} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{array}\right] x=⎣⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎤
向量可以视为空间中的点,每个元素是不同坐标轴上的坐标。
矩阵(matrix):一个矩阵是一个二维数组。一般用粗体的大写字母表示, A ∈ R m × n \boldsymbol{A} \in \mathbb{R}^{m \times n} A∈Rm×n 就表示一个高为 m m m,宽为 n n n的实数矩阵。 A m , n A_{m, n} Am,n表示矩阵中的一个元素, A i , : \boldsymbol{A}_{i,:} Ai,:表示 A \boldsymbol{A} A 的第 i i i 行(row), A : , i \boldsymbol{A}_{:,i} A:,i表示 A \boldsymbol{A} A 的第 i i i 列(column)。当我们需要明确矩阵中的元素时,我们可以把矩阵表示为
[ A 1 , 1 A 1 , 2 A 2 , 1 A 2 , 2 ] \left[\begin{array}{ll} A_{1,1} & A_{1,2} \\ A_{2,1} & A_{2,2} \end{array}\right] [A1,1A2,1A1,2A2,2]
张量(tensor):张量表示坐标超过两维的数组。一般使用不斜体的粗体大写字母表示,张量 A \text { A } A 中的一个元素可表示为 A i , j , k A_{i, j, k} Ai,j,k。
主对角线(main diagonal):从矩阵的左上角到右下角的直线是主对角线。
转置(transpose):矩阵的转置是以主对角线为轴的镜像。我们将矩阵 A \boldsymbol{A} A 的转置表示为 ( A ⊤ ) \left(\boldsymbol{A}^{\top}\right) (A⊤), 定义如下
( A ⊤ ) i , j = A j , i \left(\boldsymbol{A}^{\top}\right)_{i, j}=A_{j, i} (A⊤)i,j=Aj,i
广播(broadcasting):深度学习中允许矩阵和向量相加,产生另一个矩阵: C = A + b \boldsymbol{C}=\boldsymbol{A}+\boldsymbol{b} C=A+b, 其中 C i , j = A i , j + b j C_{i, j}=A_{i, j}+b_{j} Ci,j=Ai,j+bj。换言之,向量 b \boldsymbol{b} b和矩阵 A \boldsymbol{A} A的每一行相加。这种隐式地复制向量的方式被称作广播。
矩阵乘法(matrix product):如果矩阵 A \boldsymbol{A} A 的形状是 m × n m \times n m×n, 矩阵 B \boldsymbol{B} B 的形状是 n × p n \times p n×p, 那么矩阵 C \boldsymbol{C} C 的形状是 m × p 。 m \times p_{\text {。 }} m×p。 。矩阵乘法表示为
C = A B C=A B C=AB
具体地, 该乘法操作定义为
C i , j = ∑ k A i , k B k , j C_{i, j}=\sum_{k} A_{i, k} B_{k, j} C