第一节 线性代数基础
一、向量和矩阵
(一)标量
标量(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列相交的元素。一个两行两列的矩阵可以表示为
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/36_03.jpg?sign=1739544730-1eh9SFJgykTfKpYWVJkFFRcmRppnjAe7-0-d1878062cac0b405f642fed96a9a79e3)
当矩阵的长和宽相等时,该矩阵为方阵(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范数可以表示为
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/37_01.jpg?sign=1739544730-uwtxAfU90CMZFTKemMSVeiLn6tEXOQ3V-0-f1ec872ba42455020bf2641ecf994685)
式中,p∈R,且p≥1。此外,单位向量是L2范数为1的向量,也称该向量具有单位范数(Unit Norm)。
矩阵A的Frobenius范数可以表示为
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/37_02.jpg?sign=1739544730-Dw9xRYHz8XsLw8ClVRb3weta721F7sK6-0-878707ab76b69b566870084838351cbc)
二、向量和矩阵运算
(一)矩阵的转置、行列式、逆运算与迹运算
1.转置
转置(Transpose)是将矩阵以主对角线为轴进行翻转。矩阵A的转置矩阵记为AT,假设A和AT中元素分别为ai,j和bi,j,则有ai,j=bj,i。
2.行列式
行列式(Determinant)是将方阵A映射到实数的函数,记为det(A)。行列式能够描述线性变换对矩阵空间大小的影响。方阵A的行列式可通过以下方式计算:
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/37_03.jpg?sign=1739544730-zMg18b6Cc2ihrVlSHYb8CuSayLfhlL4p-0-c45fb279bb89a606c89d41a962f15442)
式中,Mij为方阵A的代数余子式。
3.逆运算
方阵A的逆(Inverse)记作A-1,且满足AA-1=I。当A可逆时,有:
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/37_04.jpg?sign=1739544730-s64Qv0QwrDdj2wG8oObvqBgZSqrGobDD-0-1d65aa2d9c333a7b18bc13a35816d517)
式中,A∗为矩阵A的伴随矩阵,由A中各元素的代数余子式构成。
若A为正交矩阵,即ATA=AAT=I,则有A-1=AT。
4.迹运算
迹(Trace)是矩阵主对角线上的元素之和,记为。矩阵的迹运算有以下性质:
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/38_02.jpg?sign=1739544730-cjKgcgScol6wFN5nHmxuW9C5E5LL2o8L-0-4c1e5ff9e580f9793b88135427ba5b43)
(二)矩阵和向量相乘
若矩阵A的形状为m×n,矩阵B的形状为n×p,则矩阵A和B相乘能够得到形状为m×p的矩阵C,即C=A×B。矩阵乘法操作可定义为
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/38_03.jpg?sign=1739544730-427FWLh8MmmwL6tHR11Xom0iBFjX8NZA-0-5f675f6c2bc5340684099a773fb293e2)
两个相同长度的向量x和y的点积可以看作矩阵相乘xyT。矩阵乘法有以下性质:
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/38_04.jpg?sign=1739544730-ojshrZITVHING94EQZihFm9GxUywWbVY-0-4a2019a9e47900ec8c88fd07b02bbd3c)
(三)矩阵和向量求导
矩阵和向量的导数有以下常用的运算规则:
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/38_05.jpg?sign=1739544730-E3sDLECAmu3HE6nByCkXuHUmEJSEvUmm-0-c7c632d8c04c05779368be3ab1dc14a7)
矩阵的迹运算的导数有以下常用运算规则:
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/38_06.jpg?sign=1739544730-YPRpyzIbTL6qGPUiyQoZdjQ4tpFtE5fI-0-f5db5ad9005cca808bb5fc91d8c98efc)
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/39_01.jpg?sign=1739544730-Dl6eYFXknMkJQZn7JvBjUbSbBMremChx-0-2e0c7344486d3282235b71243d89d24d)
三、矩阵分解
(一)特征分解
特征分解(Eigendecomposition)能够将矩阵分解为一组特征向量(Eigenvector)和特征值(Eigenvalue),是使用最广的矩阵分解之一。对非零向量u进行线性变换(与A相乘)后,u只发生放缩变换,则称u为A的特征向量,即
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/39_02.jpg?sign=1739544730-uLc1nNic4AxHYIDv8iaP7BKVcvYFZZPc-0-f42e89bef8255d999c4838cb06bf87b6)
其中λ为该特征向量对应的特征值。
假设方阵A有n个线性无关且正交的特征向量{u1,u2,…,un},其对应的特征值为{λ1,λ2,…,λn}。令正交矩阵U=(u1,u2,…,un),对角矩阵Λ=diag(λ1,λ2,…,λn),方阵A的特征分解可以表示为
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/39_03.jpg?sign=1739544730-ePg7OUwQ9JMkzkE8F9vZ2CgX36l7kxpZ-0-5f540314d06afdd9393b6c47ee15fd8c)
若A为实对称矩阵,有
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/39_04.jpg?sign=1739544730-ZwE9v4pFaxpfXGfJUvuafAbnfqFjCs07-0-9f94132bdda03a3dab4b533a179ba12c)
方阵A的所有特征值均为正数时称为正定,所有特征值均为负数时称为负定,所有特征值均为非负数时称为半正定。
(二)奇异值分解
当矩阵A为奇异矩阵时,需要使用奇异值分解(Singular Value Decomposition,SVD)进行矩阵分解。每个实数矩阵都可以进行奇异值分解,但不一定能够进行特征分解,因此奇异值分解的应用更加广泛。与特征分解类似,奇异值分解能够将形状为m×n的矩阵A分解为三个矩阵的乘积:
![](https://epubservercos.yuewen.com/2DEA8C/29159654303022306/epubprivate/OEBPS/Images/40_01.jpg?sign=1739544730-JL15qKAxwm4RyujwUmPoLim6HVB5COl6-0-fbd30b44a7865d25d926194b5327234e)
式中,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特征值的平方根。