机器学习与线性代数简明教程(上)
线性代数在机器学习(ML)和深度学习(DL)中是必不可少的。即使我们努力为许多理论创建精确的机器学习模型,线性代数仍然是这些研究中的重要工具。
正交矩阵如果方形矩阵a的所有列/行都是正交的,那么a就是一个正交矩阵
如果Q由q1到qn列组成,它们彼此正交,如果i = j,内积⟨ qᵢ,qⱼ ⟩等于1,否则为0。因此,QᵀQ= I。方程式Qᵀ= Q-1非常重要。求逆通常是困难的,但对于正交矩阵就不是这样了。因此,如果我们能将一个矩阵分解成正交矩阵,那将是一个好消息。对于对称矩阵,我们可以分解它为Q个Λ Q ᵀ,其中Q是一个正交矩阵,Λ是对角矩阵。
奇异和非奇异矩阵让我们回顾一下奇异n×n矩阵A的一些属性:
- 它不可逆转。
- 它的行列式等于零。
- 列/行是线性相关的。
- 它的pivots数小于n,也就是说,在行消去之后,它的变量至少有一行是0。
- 它的特征值等于零。根据特征值定义,如果特征值λ为零,则det(A) = 0,因此,它是奇异的。(我们稍后会讨论特征值。)
让我们总结一下奇异和非奇异n×n矩阵之间的区别。
基(Basis)
向量空间的一组基是一系列张成这个空间的线性无关的向量。不同的基可以有不同的向量。但是所有的基都有相同数量的向量。一个子空间的维数等于张成这个子空间的线性无关向量的个数。在执行行消去之后,所有的pivot行/列都可以用来构成a的行/列空间的一组基。Ax=0的n - r特解可以构成n (a)的零空间的一组基。
消去,置换,旋转,反射矩阵
在线性代数中,我们可以使用矩阵乘法来定义一些矩阵运算。行消去可以被视为将矩阵与消去矩阵相乘。
置换矩阵,交换矩阵中的行。对于每个行和列,它只允许一个元素等于1,其他元素必须为0。
旋转矩阵的形式为
反射矩阵的形式为
这就产生了沿u的反射。
所有置换,旋转,反射矩阵都是正交矩阵。它的逆矩阵等于它的转置,P -1 =Pᵀ。
LU分解如所讨论的,高斯消元中的步骤可以表示为矩阵乘法。例如,在下面的3×3矩阵A中,我们使用矩阵E 21来使用第1行消去第2行的前导元素。它的结果等于U,一个上三角矩阵我们用回代来计算结果。
Eᵢⱼ和它们的组合E都是下三角矩阵。我们将E形成L(L = E -1)。L也是下三角矩阵。LU分解就是把A分解成下三角矩阵L和上三角矩阵U。
例,
或者,有时我们希望L和U的对角元素都是1。
其中D是一个对角矩阵,它的对角元素包含了pivots。
这是我们第一个矩阵分解的例子。它们在线性代数中起着非常重要的作用。例如,高斯消元可以被视为矩阵分解过程。
矩阵乘法表示为了计算矩阵乘法(C ^ = AB),我们计算C元素ᵢⱼ作为A的rowiB的columnⱼ的点积。
AB的乘法结果的列i是A与相应的列i (B)的乘积。
或者,乘法结果的第i行是A的第i行与B的乘法。
或者,乘法的结果是A中的第i列和B中的第i行使用外积的乘积的和。
以下是一个示例,右下方的每个项都在rank 1。
回想起来,我们也可以将矩阵和向量的乘法视为
投影
在下图中,我们将向量b投影到a上。 投影向量p的长度x等于内积aᵀb。 并且p等于
e垂直于p并将p和b连接在一起。在一种情况下,投影试图最小化这个可以看作误差向量的向量e。现在来看看一个更难的问题。对于一个多维空间,我们如何将一个向量投影到a的列空间上(空间由Ax张成)?让我们用xᵢ和A(aᵢ)的基来表示p
我们将用投影矩阵P来建模这个投影
其中P和p可以从A算出
证明
因为p正交于e,基中的每个向量也垂直于e。我们可以将这些条件(如下图所示)改写成矩阵形式。
我们可以解这个等式
注意:我们可以解逆(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,例如,我们希望最小二乘方误差
上面的等式与我们的预测具有相同的目标。Recall
x̂将实现我们的解
因此,我们可以使用上面的等式来计算x(使用b和A)。然而,在机器学习中,数据是有噪声的。 测量或观察到的b具有噪声。
但是,如果我们知道b是如何分布的,以及成分是如何相关的,我们可以将这些信息转换为对x进行更好的估计。协方差和方差定义为
方差衡量属性(变量)如何变化,而协方差是两个属性如何变化的方式。下面的左图是一般协方差矩阵。如果所有属性彼此无关,则所有非对角元素将为零,如下面的中间图所示。当这些数据也标准化时,就会出现右图。
配备b的协方差矩阵V,我们可以解决x
在前面的等式中,对于每个维度(属性),最小二乘方误差被相等地计数。用新的等式,V - 1项标准化数据。换句话说,方差较小的特定维度上的误差对加权最小平方误差的权重更大,而该维度上的误差的权重更大。新方程将为x提供更好的值。此外,计算出的x的方差将减小到
让我们再次仔细检查这个等式。
如果V = I,它会回到上一个等式。即,当所有变量都标准化且不相关时,两个方程都是相同的。
Gram-Schmidt过程如前所述,我们喜欢正交矩阵。对于给定的矩阵a,列向量不太可能是正交的。Gram-Schmidt对角化帮助我们找到一组基它张成a的相同列空间。
假设我们有一个矩阵A由a,b和c列组成。我们如何找到张成A的相同列空间的正交向量q 1,q 2和q 3 。
这样我们就可以将A分解成A = QR。 我们从q 1'作为a。 然后q 2'等于b减去沿q 1'的b的投影。 接下来,q 3等于c减去沿q 1和q 2的c的投影。 简而言之,我们尝试在形成正交向量的前一个方向上取出投影部分。
完成后,我们将q 1',q 2'和q 3' 归一化,形成单位长度q 1,q 2和q 3。我们可以将a,b,c重写为
因此,A可以分解成QR,R等于
矩阵中的二次型方程
二次方程可以写成:
二次方程的矩阵形式是:
对于三个变量:
这种表示很重要,因为机器学习(ML)中的误差,如均方误差,通常表示为二次方程。
行列式3×3矩阵的行列式是:
该定义可以扩展为递归地计算n×n矩阵的行列式。或者,它可以在视觉上计算为:
属性
如果A的行列式的绝对值大于1,则Ax会扩展输出空间。如果它介于0和1之间,则会缩小空间。这对于理解系统的稳定性非常重要。
范数深度学习使用范数来计算误差或执行正则化。这里有不同类型的范数。
L1范数(曼哈顿距离):
L2范数
LP-范数
Max-norm
Frobenius范数
比较L1和L2范数
与l1 -范数相比,l2 -范数对大值误差模型的变化更为显著。此外,L1-norm增加了模型权重的稀疏性。这是许多机器学习问题所需要的。然而,在L2范数中,梯度变化在0附近更平滑。因此,随着梯度的逐渐变化,l2 -范数训练更加稳定。这使得L2-norm在一般情况下更受欢迎。
矩阵范数矩阵的范数是任何向量x的最大增长因子。
这与约束x具有单位长度相同。
规范可以计算为:
- 如果矩阵是正定的,则范数是A的最大特征值。
- 如果矩阵是对称的,我们取特征值的绝对值并选择最大值。
瑞利熵(Rayleigh quotient)
- 否则,它是A的最大奇异值。即AᵀA的最大特征值的平方根。
找到A的矩阵范数与查找下面瑞利熵的最大值相同。
让我们用内积重写瑞利熵。
我们用上面的Qx代替x。
因此Rayleigh熵是AᵀA的特征值的加权平均值。由于加权平均值小于或等于其最大值,
我们经常按降序重新调整λ。 因此λ1保持最大的特征值。 因此,A的范数是AᵀA的最大特征值的根(A的奇异值σ1)。
对于对称矩阵S,
条件数
在线性代数中,我们使用条件数来跟踪输出对输入的误差的敏感程度。消去方法的准确性由条件数反映
迹
迹是A的对角线元素的总和。它可用于验证特征值。
属性
相似矩阵
如果,两个矩阵A和B相似(A ~ B)
对于任意可逆矩阵P,给定A和B, P有很多解,从概念上讲,在线性变换的背景下,P是由x到x’的基变换的矩阵。。
如果我们对x应用变换A,则x'基上的相应变换是P-1AP。物理定律不应随着参考系(基)的变化而改变。
相似矩阵:
- 具有相同的特征值。
- 相同的行列式
- 相同的秩
- 单数或非单数。
如果A是非奇异的,矩阵可以对角化为对角矩阵Λ(矩阵中的所有非对角元素都是零)。
这和矩阵相似度的定义是一样的。因此,A相似于对角矩阵Λ。在实践中,如果这个矩阵像Λ一样简单,我们可以很容易地找到原始矩阵的特征值或行列式。
Jordan形矩阵Jordan block可以有很多大小, 但是它的对角元素包含一个特征值,而特征值右边的元素必须是一个。
我们可以将矩阵分解为Jordan形,我们使用它的特征值来创建不同大小的Jordan block。
机器学习与线性代数简明教程(上)
,