
第一节 线性代数基础
一、向量和矩阵
(一)标量
标量(Scalar)是一个单独的数,它通常使用小写的斜体变量进行表示。标量有明确的类型,例如实数标量x∈R和自然数标量n∈N。
(二)向量
向量(Vector)是一列有序排列的数,它通常使用小写的黑斜体变量进行表示。通过向量次序中的索引可以确定每个单独的数,例如x1表示向量x中的第一个元素,第二个元素可以表示为x2。向量中的元素需要有明确的类型,例如由n个实数组成的向量可以表示为x=(x1,x2,…,xn)T,且x∈Rn。当向量x中的n个元素满足时,该向量称为“单位向量”(Unit Vector)。若长度相同的两个向量x和y的点积为0,即x·y=x1y1+x2y2+…+xnyn=0,则称x和y正交(Orthogonal)。
(三)矩阵
矩阵(Matrix)是一个二维数组,它通常使用大写的粗体变量进行表示。一个高为m、宽为n的实数矩阵记为A∈Rm×n,Ai,:表示矩阵A的第i个行向量,A:,j表示矩阵A的第j个列向量,ai,j表示矩阵A的第i行和第j列相交的元素。一个两行两列的矩阵可以表示为

当矩阵的长和宽相等时,该矩阵为方阵(Square Matrix)。除主对角线以外的元素均为0的矩阵称为对角矩阵(Diagonal Matrix)。主对角线上的元素均为1的对角矩阵称为单位矩阵(Identity Matrix),通常用I或E来表示。若一个矩阵中的元素以主对角线为轴能够对称,即满足ai,j=aj,i,该矩阵称为对称矩阵(Symmetric Matrix)。当矩阵的行向量和列向量均为正交的单位向量时,该矩阵称为正交矩阵(Orthogonal Matrix)。
(四)张量
张量(Tensor)是坐标超过两维的数组。例如,一个三维张量中坐标为(i,j,k)的元素可以表示为ai,j,k。
(五)范数
范数(Norm)在机器学习中有重要的作用,它能够衡量向量或矩阵的大小,并满足非负性、齐次性和三角不等式。向量x的Lp范数可以表示为

式中,p∈R,且p≥1。此外,单位向量是L2范数为1的向量,也称该向量具有单位范数(Unit Norm)。
矩阵A的Frobenius范数可以表示为

二、向量和矩阵运算
(一)矩阵的转置、行列式、逆运算与迹运算
1.转置
转置(Transpose)是将矩阵以主对角线为轴进行翻转。矩阵A的转置矩阵记为AT,假设A和AT中元素分别为ai,j和bi,j,则有ai,j=bj,i。
2.行列式
行列式(Determinant)是将方阵A映射到实数的函数,记为det(A)。行列式能够描述线性变换对矩阵空间大小的影响。方阵A的行列式可通过以下方式计算:

式中,Mij为方阵A的代数余子式。
3.逆运算
方阵A的逆(Inverse)记作A-1,且满足AA-1=I。当A可逆时,有:

式中,A∗为矩阵A的伴随矩阵,由A中各元素的代数余子式构成。
若A为正交矩阵,即ATA=AAT=I,则有A-1=AT。
4.迹运算
迹(Trace)是矩阵主对角线上的元素之和,记为。矩阵的迹运算有以下性质:

(二)矩阵和向量相乘
若矩阵A的形状为m×n,矩阵B的形状为n×p,则矩阵A和B相乘能够得到形状为m×p的矩阵C,即C=A×B。矩阵乘法操作可定义为

两个相同长度的向量x和y的点积可以看作矩阵相乘xyT。矩阵乘法有以下性质:

(三)矩阵和向量求导
矩阵和向量的导数有以下常用的运算规则:

矩阵的迹运算的导数有以下常用运算规则:


三、矩阵分解
(一)特征分解
特征分解(Eigendecomposition)能够将矩阵分解为一组特征向量(Eigenvector)和特征值(Eigenvalue),是使用最广的矩阵分解之一。对非零向量u进行线性变换(与A相乘)后,u只发生放缩变换,则称u为A的特征向量,即

其中λ为该特征向量对应的特征值。
假设方阵A有n个线性无关且正交的特征向量{u1,u2,…,un},其对应的特征值为{λ1,λ2,…,λn}。令正交矩阵U=(u1,u2,…,un),对角矩阵Λ=diag(λ1,λ2,…,λn),方阵A的特征分解可以表示为

若A为实对称矩阵,有

方阵A的所有特征值均为正数时称为正定,所有特征值均为负数时称为负定,所有特征值均为非负数时称为半正定。
(二)奇异值分解
当矩阵A为奇异矩阵时,需要使用奇异值分解(Singular Value Decomposition,SVD)进行矩阵分解。每个实数矩阵都可以进行奇异值分解,但不一定能够进行特征分解,因此奇异值分解的应用更加广泛。与特征分解类似,奇异值分解能够将形状为m×n的矩阵A分解为三个矩阵的乘积:

式中,U是一个形状为m×m的正交矩阵,其列向量称为左奇异向量(Left Singular Vector),它能够通过求解实对阵矩阵AAT=UΣVTVΣTUT=UΣΣTUT的特征向量得到。类似地,V是一个形状为n×n的正交矩阵,其列向量称为右奇异向量(Right Singular Vector),它能够通过求解实对阵矩阵ATA=VΣTUTUΣVT=VΣTΣVT的特征向量得到。Σ是一个形状为m×n的对角矩阵,其对角线上的非零元素称为矩阵A的奇异值(Singular Value),同时也是AAT和ATA特征值的平方根。