机器学习与线性代数简明教程(上)

线性代数在机器学习(ML)和深度学习(DL)中是必不可少的。即使我们努力为许多理论创建精确的机器学习模型,线性代数仍然是这些研究中的重要工具。

正交矩阵

如果方形矩阵a的所有列/行都是正交的,那么a就是一个正交矩阵

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(1)

如果Q由q1到qn列组成,它们彼此正交,如果i = j,内积⟨ qᵢ,qⱼ ⟩等于1,否则为0。因此,QᵀQ= I。方程式Qᵀ= Q-1非常重要。求逆通常是困难的,但对于正交矩阵就不是这样了。因此,如果我们能将一个矩阵分解成正交矩阵,那将是一个好消息。对于对称矩阵,我们可以分解它为Q个Λ Q ᵀ,其中Q是一个正交矩阵,Λ是对角矩阵。

奇异和非奇异矩阵

让我们回顾一下奇异n×n矩阵A的一些属性:

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(2)

让我们总结一下奇异和非奇异n×n矩阵之间的区别。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(3)

基(Basis)

向量空间的一组基是一系列张成这个空间的线性无关的向量。不同的基可以有不同的向量。但是所有的基都有相同数量的向量。一个子空间的维数等于张成这个子空间的线性无关向量的个数。在执行行消去之后,所有的pivot行/列都可以用来构成a的行/列空间的一组基。Ax=0的n - r特解可以构成n (a)的零空间的一组基。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(4)

消去,置换,旋转,反射矩阵

在线性代数中,我们可以使用矩阵乘法来定义一些矩阵运算。行消去可以被视为将矩阵与消去矩阵相乘。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(5)

置换矩阵,交换矩阵中的行。对于每个行和列,它只允许一个元素等于1,其他元素必须为0。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(6)

旋转矩阵的形式为

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(7)

反射矩阵的形式为

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(8)

这就产生了沿u的反射。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(9)

所有置换,旋转,反射矩阵都是正交矩阵。它的逆矩阵等于它的转置,P -1 =Pᵀ。

LU分解

如所讨论的,高斯消元中的步骤可以表示为矩阵乘法。例如,在下面的3×3矩阵A中,我们使用矩阵E 21来使用第1行消去第2行的前导元素。它的结果等于U,一个上三角矩阵我们用回代来计算结果。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(10)

Eᵢⱼ和它们的组合E都是下三角矩阵。我们将E形成L(L = E -1)。L也是下三角矩阵。LU分解就是把A分解成下三角矩阵L和上三角矩阵U。

例,

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(11)

或者,有时我们希望L和U的对角元素都是1。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(12)

其中D是一个对角矩阵,它的对角元素包含了pivots。

这是我们第一个矩阵分解的例子。它们在线性代数中起着非常重要的作用。例如,高斯消元可以被视为矩阵分解过程。

矩阵乘法表示

为了计算矩阵乘法(C ^ = AB),我们计算C元素ᵢⱼ作为A的rowiB的column的点积。

AB的乘法结果的列i是A与相应的列i (B)的乘积。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(13)

或者,乘法结果的第i行是A的第i行与B的乘法。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(14)

或者,乘法的结果是A中的第i列和B中的第i行使用外积的乘积的和。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(15)

以下是一个示例,右下方的每个项都在rank 1。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(16)

回想起来,我们也可以将矩阵和向量的乘法视为

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(17)

投影

在下图中,我们将向量b投影到a上。 投影向量p的长度x等于内积aᵀb。 并且p等于

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(18)

e垂直于p并将p和b连接在一起。在一种情况下,投影试图最小化这个可以看作误差向量的向量e。现在来看看一个更难的问题。对于一个多维空间,我们如何将一个向量投影到a的列空间上(空间由Ax张成)?让我们用xᵢ和A(aᵢ)的基来表示p

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(19)

我们将用投影矩阵P来建模这个投影

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(20)

其中P和p可以从A算出

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(21)

证明

因为p正交于e,基中的每个向量也垂直于e。我们可以将这些条件(如下图所示)改写成矩阵形式。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(22)

我们可以解这个等式

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(23)

注意:我们可以解逆(AᵀA)-1,其中A(AᵀA)-1Aᵀ变为A A -1(Aᵀ)-1Aᵀ,即I。因此,p = b。这是错误的,因为只有当A是可逆的时,(AᵀA)-1等于A -1(Aᵀ)-1。即使对于非方形矩阵,A也是不可逆的。

此外,P = P²= Pⁿ——因为列空间上的投影向量,其投影等于本身。

最小二乘方误差

通常,不可能找到Ax = b的精确解。相反,我们希望找到最适合数据的x,例如,我们希望最小二乘方误差

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(24)

上面的等式与我们的预测具有相同的目标。Recall

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(25)

x̂将实现我们的解

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(26)

因此,我们可以使用上面的等式来计算x(使用b和A)。然而,在机器学习中,数据是有噪声的。 测量或观察到的b具有噪声。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(27)

但是,如果我们知道b是如何分布的,以及成分是如何相关的,我们可以将这些信息转换为对x进行更好的估计。协方差和方差定义为

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(28)

方差衡量属性(变量)如何变化,而协方差是两个属性如何变化的方式。下面的左图是一般协方差矩阵。如果所有属性彼此无关,则所有非对角元素将为零,如下面的中间图所示。当这些数据也标准化时,就会出现右图。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(29)

配备b的协方差矩阵V,我们可以解决x

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(30)

在前面的等式中,对于每个维度(属性),最小二乘方误差被相等地计数。用新的等式,V - 1项标准化数据。换句话说,方差较小的特定维度上的误差对加权最小平方误差的权重更大,而该维度上的误差的权重更大。新方程将为x提供更好的值。此外,计算出的x的方差将减小到

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(31)

让我们再次仔细检查这个等式。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(32)

如果V = I,它会回到上一个等式。即,当所有变量都标准化且不相关时,两个方程都是相同的。

Gram-Schmidt过程

如前所述,我们喜欢正交矩阵。对于给定的矩阵a,列向量不太可能是正交的。Gram-Schmidt对角化帮助我们找到一组基它张成a的相同列空间。

假设我们有一个矩阵A由a,b和c列组成。我们如何找到张成A的相同列空间的正交向量q 1,q 2和q 3 。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(33)

这样我们就可以将A分解成A = QR。 我们从q 1'作为a。 然后q 2'等于b减去沿q 1'的b的投影。 接下来,q 3等于c减去沿q 1和q 2的c的投影。 简而言之,我们尝试在形成正交向量的前一个方向上取出投影部分。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(34)

完成后,我们将q 1',q 2'和q 3' 归一化,形成单位长度q 1,q 2和q 3。我们可以将a,b,c重写为

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(35)

因此,A可以分解成QR,R等于

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(36)

矩阵中的二次型方程

二次方程可以写成:

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(37)

二次方程的矩阵形式是:

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(38)

对于三个变量:

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(39)

这种表示很重要,因为机器学习(ML)中的误差,如均方误差,通常表示为二次方程。

行列式

3×3矩阵的行列式是:

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(40)

该定义可以扩展为递归地计算n×n矩阵的行列式。或者,它可以在视觉上计算为:

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(41)

属性

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(42)

如果A的行列式的绝对值大于1,则Ax会扩展输出空间。如果它介于0和1之间,则会缩小空间。这对于理解系统的稳定性非常重要。

范数

深度学习使用范数来计算误差或执行正则化。这里有不同类型的范数。

L1范数(曼哈顿距离):

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(43)

L2范数

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(44)

LP-范数

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(45)

Max-norm

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(46)

Frobenius范数

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(47)

比较L1和L2范数

与l1 -范数相比,l2 -范数对大值误差模型的变化更为显著。此外,L1-norm增加了模型权重的稀疏性。这是许多机器学习问题所需要的。然而,在L2范数中,梯度变化在0附近更平滑。因此,随着梯度的逐渐变化,l2 -范数训练更加稳定。这使得L2-norm在一般情况下更受欢迎。

矩阵范数

矩阵的范数是任何向量x的最大增长因子。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(48)

这与约束x具有单位长度相同。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(49)

规范可以计算为:

  • 如果矩阵是正定的,则​​范数是A的最大特征值。
  • 如果矩阵是对称的,我们取特征值的绝对值并选择最大值。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(50)

  • 否则,它是A的最大奇异值。即AᵀA的最大特征值的平方根。
瑞利熵(Rayleigh quotient)

找到A的矩阵范数与查找下面瑞利熵的最大值相同。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(51)

让我们用内积重写瑞利熵。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(52)

我们用上面的Qx代替x。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(53)

因此Rayleigh熵是AᵀA的特征值的加权平均值。由于加权平均值小于或等于其最大值,

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(54)

我们经常按降序重新调整λ。 因此λ1保持最大的特征值。 因此,A的范数是AᵀA的最大特征值的根(A的奇异值σ1)。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(55)

对于对称矩阵S,

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(56)

条件数

在线性代数中,我们使用条件数来跟踪输出对输入的误差的敏感程度。消去方法的准确性由条件数反映

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(57)

迹是A的对角线元素的总和。它可用于验证特征值。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(58)

属性

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(59)

相似矩阵

如果,两个矩阵A和B相似(A ~ B)

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(60)

对于任意可逆矩阵P,给定A和B, P有很多解,从概念上讲,在线性变换的背景下,P是由x到x’的基变换的矩阵。。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(61)

如果我们对x应用变换A,则x'基上的相应变换是P-1AP。物理定律不应随着参考系(基)的变化而改变。

相似矩阵:

  • 具有相同的特征值。
  • 相同的行列式
  • 相同的秩
  • 单数或非单数。

如果A是非奇异的,矩阵可以对角化为对角矩阵Λ(矩阵中的所有非对角元素都是零)。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(62)

这和矩阵相似度的定义是一样的。因此,A相似于对角矩阵Λ。在实践中,如果这个矩阵像Λ一样简单,我们可以很容易地找到原始矩阵的特征值或行列式。

Jordan形矩阵

Jordan block可以有很多大小, 但是它的对角元素包含一个特征值,而特征值右边的元素必须是一个。

机器学习用什么线性代数教程(机器学习与线性代数简明教程)(63)

我们可以将矩阵分解为Jordan形,我们使用它的特征值来创建不同大小的Jordan block。

机器学习与线性代数简明教程(上)

,