本文收录归纳了一些机器学习中涉及到线性代数的部分,主要包含向量、向量空间(或称线性空间)以及向量的线性变换和有限维的线性方程组。
目录
1向量及向量空间
1.1 向量
标量是一个实数,只有大小,没有方向。而向量(英文,vector)是由一组实数组成的有序数组,同时具有大小和方向。一个n维向量a是由n个有序实数组成,表示为: 。其中ai称为向量a的第i个分量,或第i维。向量符号一般用黑体小写字母a, b, c,或小写希腊字母α, β, γ 等来表示。
1.2 向量空间
向量空间也称线性空间(linear space),是指由向量组成的集合,并满足以下两个条件:
- 向量加法+:向量空间V 中的两个向量a 和b,它们的和a + b也属于空间V;
- 标量乘法·:向量空间V 中的任一向量a和任一标量c,它们的乘积c · a也属于空间V。
欧氏空间,一个常用的线性空间是欧氏空间。一个欧氏空间表示通常为,其中n为空间维度。欧氏空间中向量的加法和标量乘法定义为:
,
其中a, b, c ∈ R为一个标量。
线性子空间,向量空间V 的线性子空间U 是V 的一个子集,并且满足向量空间的条件(向量加法和标量乘法)
线性无关,线性空间 V 中的一组向量 ,如果对任意的一组标量
,满足
,则必然
,那么
是线性无关的,也称为线性独立的。
基向量,向量空间V 的基B = {}是V 的有限子集,其元素之间线性无关。向量空间V 所有的向量都可以按唯一的方式表达为 B 中向量的线性组合。对任意v ∈ V,存在一组标量(
)使得:
其中基B 中的向量称为基向量。如果基向量是有序的,则标量(λ1, λ2, · · · , λn)称为向量v关于基B 的坐标。
n维空间V 的一组标准基为:
= [1, 0, 0, ... , 0],
= [0, 1, 0,... , 0],
...
= [0, 0, 0, ... , 1]
V 中的任一向量v = 可以唯一的表示为:
=
,
其中称为向量v的笛卡尔坐标。向量空间中的每个向量可以看作是一个线性空间中的笛卡儿坐标。
内积,一个n维线性空间中的两个向量a 和b,其内积为:
正交,如果向量空间中两个向量的内积为0,则它们正交。如果向量空间中一个向量 v 与子空间 U 中的每个向量都正交,那么向量 v 和子空间 U正交。
1.3 范数
范数是一个表示向量“长度”的函数,为向量空间内的所有向量赋予非零的正长度或大小。对于一个n维向量v,一个常见的范数函数为ℓp 范数,
其中p ≥ 0为一个标量的参数。常用的p的取值有1,2,∞等。
1.4 常见的向量
全0向量指所有元素都为0的向量,用0表示。全0向量为笛卡尔坐标系中的原点。全1向量指所有值为1的向量,用1表示。one-hot向量为有且只有一个元素为1,其余元素都为0的向量。one-hot向量是在数字电路中的一种状态编码,指对任意给定的状态,状态寄存器中只有l位为1,其余位都为0
2.矩阵
2.1 线性映射
线性映射是指从线性空间V 到线性空间W 的一个映射函数f : V → W,并满足:对于V 中任何两个向量u和v以及任何标量c,有:
f(u + v) = f(u) + f(v),
f(cv) = cf(v)
两个有限维欧氏空间的映射函数f : →
可以表示为
其中A定义为m×n的矩阵,是一个由m行n列元素排列成的矩形阵列。一个矩阵A从左上角数起的第i行第j 列上的元素称为第i, j 项,通常记为 或
。矩阵A定义了一个从
到
的线性映射;向量x ∈
和y ∈
分别为两个空间中的列向量,即大小为n × 1 的矩阵。
2.2 矩阵操作
加 如果A和B 都为m × n的矩阵,则A和B 的加也是m × n的矩阵,其每个元
素是A和B相应元素相加。
乘积 假设有两个A和B 分别表示两个线性映射g : Rm → Rk 和f : Rn → Rm,则其复合线性映射(g ◦ f)(x) = g(f(x)) = g(Bx) = A(Bx) = (AB)x,
其中AB 表示矩阵A和B 的乘积,定义为
两个矩阵的乘积仅当第一个矩阵的列数和第二个矩阵的行数相等时才能定义。如A是k × m矩阵和B 是m × n矩阵,则乘积AB 是一个k × n的矩阵。矩阵的乘法满足结合律和分配律:
• 结合律:(AB)C = A(BC),
• 分配律:(A + B)C = AC + BC,C(A + B) = CA + CB.
Hadamard 积,A和B 的 Hadamard 积,也称为逐点乘积,为A和B 中对应的元素相乘。
一个标量c与矩阵A乘积为A的每个元素是A的相应元素与c的乘积
转置, m × n矩阵A的转置是一个n × m的矩阵,记为AT,AT的第i行第j列的元素是原矩阵A的第j行第i列的元素,
向量化 矩阵的向量化是将矩阵表示为一个列向量。这里,vec 是向量化算子。设,则
迹,方块矩阵A的对角线元素之和称为它的迹,记为tr(A)。尽管矩阵的乘法不满足交换律,但它们的迹相同,即tr(AB) = tr(BA)。
行列式,方块矩阵A的行列式是一个将其映射到标量的函数,记作det(A)或|A|。行列式可以看做是有向面积或体积的概念在欧氏空间中的推广。在n维欧氏空间中,行列式描述的是一个线性变换对“体积”所造成的影响。一个n × n的方块矩阵A的行列式定义为:
其中 Sn 是 {1, 2, ..., n} 的所有排列的集合,σ 是其中一个排列,σ(i) 是元素 i 在排列σ 中的位置,sgn(σ)表示排列σ 的符号差,定义为
其中逆序对的定义为:在排列σ 中,如果有序数对(i, j)满足1 ≤ i < j ≤ n但
σ(i) > σ(j),则其为σ 的一个逆序对。
秩,一个矩阵 A 的列秩是 A 的线性无关的列向量数量,行秩是 A 的线性无关的行向量数量。一个矩阵的列秩和行秩总是相等的,简称为秩。一个m×n的矩阵的秩最大为min(m, n)。两个句子的乘积AB的秩rank(AB) ≤min (rank(A),rank(B))。
范数,矩阵的范数有很多种形式,其中常用的ℓp 范数定义为
2.3 矩阵类型
对称矩阵 对称矩阵指其转置等于自己的矩阵,即满足A = AT。
对角矩阵 对角矩阵是一个主对角线之外的元素皆为0的矩阵。对角线上的元素可以为0或其他值。一个n × n的对角矩阵A满足:
对角矩阵A也可以记为diag(a),a 为一个n维向量,并满足
n × n的对角矩阵A = diag(a)和n维向量b的乘积为一个n维向量
Ab = diag(a)b = a ⊙ b
其中⊙表示点乘,即(a ⊙ b)i = aibi。
对角矩阵 单位矩阵是一种特殊的的对角矩阵,其主对角线元素为1,其余元素为0。n阶单位矩阵In,是一个n × n的方块矩阵。可以记为 In = diag(1, 1, ..., 1)。一个m × n的矩阵A和单位矩阵的乘积等于其本身。
逆矩阵 对于一个n × n的方块矩阵A,如果存在另一个方块矩阵B 使得AB = BA =
为单位阵,则称 A 是可逆的。矩阵 B 称为矩阵 A 的逆矩阵,记为A−1。一个方阵的行列式等于0当且仅当该方阵不可逆。
正定矩阵 对于一个 n × n 的对称矩阵 A,如果对于所有的非零向量 x ∈ 都满足:
则A为正定矩阵。如果xTAx ≥ 0,则A是半正定矩阵。
正交矩阵 正交矩阵A为一个方块矩阵,其逆矩阵等于其转置矩阵。
等价于ATA = AAT = 。
Gram矩阵 向量空间中一组向量v1, v2 · · · , vn 的Gram矩阵G是内积的对称矩阵,其元素为
。
2.4 特征值与特征矢量
如果一个标量λ和一个非零向量v满足:
则λ和v分别称为矩阵A的特征值和特征向量。
2.5 矩阵分解
一个矩阵通常可以用一些比较“简单”的矩阵来表示,称为矩阵分解。
奇异值分解 一个m×n的矩阵A的奇异值分解定义为
其中U 和V 分别为m × m和n×的正交矩阵,Σ为m × n的对角矩阵,其对角线上的元素称为奇异值。特征分解 一个n × n的方块矩阵A的特征分解定义为:
其中Q为n × n的方块矩阵,其每一列都为A的特征向量,为对角阵,其每一个对角元素为A的特征值。如果A为对称矩阵,则A可以被分解为:
其中Q为正交阵。