机器学习线性判别法(深度学习的数学基础)(1)

一、一些线性代数概念1. 余子式

行列式的阶越低越容易计算,于是很自然地提出,能否把高阶行列式转换为低阶行列式来计算,为此,引入了余子式和代数余子式的概念。在 n 阶行列式中,把所在的第i行与第 j 列划去后,所留下来的 n − 1 阶行列式叫元的余子式。数学表示上计作

机器学习线性判别法(深度学习的数学基础)(2)

1.1.1 行列式余子式

余子式定义

机器学习线性判别法(深度学习的数学基础)(3)

行列式等于它任意一行(列)的各元素与其对应的代数式余子式乘积之和。

1.1.2 矩阵余子式

设 A 为一个 m×n 的矩阵,k为一个介于1和 m 之间的整数,并且 m ≤ n。 A的一个 k阶子式是在A中选取 k 行 k列之后所产生的 k 个交点组成的方块矩阵的行列式。

A的一个 k阶余子式是 A去掉了m−k行与 n−k列之后得到的 k×k矩阵的行列式 。由于一共有k种方法来选择该保留的行,有k种方法来选择该保留的列,因此A的k阶余子式一共有

机器学习线性判别法(深度学习的数学基础)(4)

个。

如果 m = n ,那么 A 关于一个 k阶子式的余子式,是 A去掉了这个 k阶子式所在的行与列之后得到的 (n-k)×(n-k)矩阵的行列式,简称为 A的 k 阶余子式。

机器学习线性判别法(深度学习的数学基础)(5)

2. 秩

秩是线性代数术语,在线性代数中,一个矩阵A的列秩是 A的线性无关的纵列的极大数目。类似地,行秩是 A的线性无关的横行的极大数目。方阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵 A的秩。通常表示为 rk(A) 或 rank A。

二、线性组合 (linear combination)

机器学习线性判别法(深度学习的数学基础)(6)

s变量是对变量x的加权线性”混合”。因此,将s定义为变量的线性组合。可以将线性组合的概念推广到矢量中。定义每个

机器学习线性判别法(深度学习的数学基础)(7)

是一个矢量,因此,它们的线性组合s也是一个矢量。当然.每个矢量必须有相同数量的元素。请注意,s的每个分量都是一个由被组合矢量的相对应元素构成的线性组合。

1. 标量的线性组合

形式上,一组向量的线性组合,是指每个向量乘以对应标量系数之后的和,即:

机器学习线性判别法(深度学习的数学基础)(8)

定义标量为2,4,1,5,权重为0.1,0.4,0.25,0.25。求其线性组合s。解:线性组合

机器学习线性判别法(深度学习的数学基础)(9)

2. 矢量的线性组合

机器学习线性判别法(深度学习的数学基础)(10)

3. 生成子空间

一组向量的生成子空间(span)是原始向量线性组合后所能抵达的点的集合。确定 A x = b 是否有解,相当于确定向量b 是否在 A 列向量的生成子空间中。这个特殊的生成子空间被称为 A 的列空间 (column space)或者 A的值域(range)。

4. 线性相关

在线性代数里,矢量空间的一组元素中,若没有矢量可用有限个其他矢量的线性组合所表示,则称为线性无关或线性独立 (linearly independent),反之称为线性相关(linearly dependent)。例如在三维欧几里得空间R的三个矢量(1, 0, 0),(0, 1, 0)和(0, 0, 1)线性无关;但(2, −1, 1),(1, 0, 1)和(3, −1, 2)线性相关,因为第三个是前两个的和。

5. 方阵(square)

m=n的矩阵方阵的左逆和右逆是相等的。

6. 奇异的方阵(singular)

奇异矩阵是线性代数的概念,就是该矩阵的秩不是满秩。首先,看这个矩阵是不是方阵(即行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。然后,再看此矩阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。 同时,由|A|≠0可知矩阵A可逆,这样可以得出另外一个重要结论:

  1. 可逆矩阵就是非奇异矩阵
  2. 非奇异矩阵也是可逆矩阵
  3. 如果A为奇异矩阵,则 A X = 0 AX=0 AX=0有无穷解, A X = b AX=b AX=b有无穷解或者无解。
  4. 如果A为非奇异矩阵,则 A X = 0 AX=0 AX=0有且只有唯一零解, A X = b AX=b AX=b有唯一解。
三、范数

有时我们需要衡量一个向量的大小。在机器学习中,我们经常使用称为**范数(norm)**的函数来衡量向量大小。形式上, L p L^p Lp范数定义为:

机器学习线性判别法(深度学习的数学基础)(11)

其中 p ∈ R p ≥ 1 。范数(包括 L^p 范数) ,是将向量映射到非负值的函数。直观上来说,向量x的范数衡量从原点到点x的距离。更严格地说,范数是满足下列性质的任意函数:

机器学习线性判别法(深度学习的数学基础)(12)

即要满足:

当 p=2时, L^2 范数称为欧几里得范数( Euclidean norm)。它表示从原点出发到向量x确定的点的欧几里得距离。 L^2 范数在机器学习中出现得十分频繁,经常简化表示为 ||x||,略去了下标2.平方 L^2 范数也经常用来衡量向量的大小,可以简单地通过点积 x^Tx 计算。

最大范数表示向量中具有最大幅值的元素的绝对值。

机器学习线性判别法(深度学习的数学基础)(13)

Python numpy计算范数

import numpy as np a=np.array([[complex(1,-1),3],[2,complex(1,1)]]) print(a) print("矩阵2的范数") print(np.linalg.norm(a,ord=2) ) #计算矩阵2的范数 print("矩阵1的范数") print(np.linalg.norm(a,ord=1) ) #计算矩阵1的范数 print("最大范数") print(np.linalg.norm(a,ord=np.inf) )

机器学习线性判别法(深度学习的数学基础)(14)

四、特殊的矩阵和向量1. 对角矩阵(diagonal matrix)

只在主对角线上含有非零元素,其它位置都是0。对角线上元素全为1的对角矩阵称为单位矩阵。

2. 对称矩阵(symmetric)

转置和自己相等的矩阵,即

机器学习线性判别法(深度学习的数学基础)(15)

3. 单位向量(unit vector)

具有**单位范数(unit norm)的向量,即:

机器学习线性判别法(深度学习的数学基础)(16)

如果 X^Ty=0 ,那么向量 x 和向量 y 互相正交。如果两个向量都有非零范数,那么这两个向量之间的夹角是

90度。在R^n 中 , 至 多 有n个范数非零向量互相正交。如果这些向量不但互相正交,则且范数都为1,那么我们称它们是标准正交(orthonormal)。

4. 正交矩阵(orthogonal matrix)

指行向量和列向量是分别标准正交的方阵,即:

机器学习线性判别法(深度学习的数学基础)(17)

这意味着:

机器学习线性判别法(深度学习的数学基础)(18)

五、特征分解(eigendercomposition)

特征分解是使用最广的矩阵分解之一,即我们将矩阵分解成一组特征向量和特征值。方阵A的特征向量(eigenvector)是指与A相乘后相当于对该向量进行缩放的非零向量 v v v:

机器学习线性判别法(深度学习的数学基础)(19)

其中 λ \lambda λ 称为这个特征向量对应的特征值(eigenvalue)。(类似地,我们也可以定义左特征向量(left eigenvector):

机器学习线性判别法(深度学习的数学基础)(20)

但是通常我们更关注右特征向量(right eigenvector))。如果 v 是 A 的特征向量,那么任何缩放后的向量

机器学习线性判别法(深度学习的数学基础)(21)

也是 A的特征向量。此外,sv和v有相同的特征值。基于这个原因,通常我们只考虑单位特征向量。

假设矩阵 A 有n个线性无关的特征向量

机器学习线性判别法(深度学习的数学基础)(22)

,对应着特征值

机器学习线性判别法(深度学习的数学基础)(23)

。我们将特征向量连接成一个矩阵,使得每一列是一个特征向量:

机器学习线性判别法(深度学习的数学基础)(24)

。类似地,我们也可以将特征值连接成一个向量

机器学习线性判别法(深度学习的数学基础)(25)

。因此 A的特征分解(eigendecomposition)可以记作:

机器学习线性判别法(深度学习的数学基础)(26)

我们常常希望将矩阵分解(decompose)成特征值和特征向量。这样可以帮助我们分析矩阵的特定性质,就像质因数分解有助于我们理解整数。不是每一个矩阵都可以分解成特征值和特征向量。在某些情况下,特征分解存在,但是会涉及复数而非实数。深度学习中通常只需要分解一类有简单分解的矩阵。具体来讲,每个实对称矩阵都可以分解成实特征向量和实特征值:

机器学习线性判别法(深度学习的数学基础)(27)

其中Q是A的特征向量组成的正交矩阵, ∧是对角矩阵。特征值

机器学习线性判别法(深度学习的数学基础)(28)

对应的特征向量是矩阵Q的第i列,记作

机器学习线性判别法(深度学习的数学基础)(29)

。因为Q是正交矩阵,我们可以将A看作沿方向 v^{(i)}延展 λ_i倍的空间。虽然任意一个实对称矩阵A都有特征分解,但是特征分解可能并不唯一。如果两个或多个特征向量拥有相同的特征值,那么在由这些特征向量产生的生成子空间中,任意一组正交向量都是该特征值对应的特征向量。因此,我们可以等价地从这些特征向量中构成Q作为替代。按照惯例,我们通常按降序排列 ∧的元素,在该约定下,特征分解唯一,当且仅当所有的特征值都是唯一的。

矩阵的特征分解给了我们很多关于矩阵的有用信息。矩阵是奇异的,当且仅当含有零特征值。实对称的特征分解也可以用于优化二次方程

机器学习线性判别法(深度学习的数学基础)(30)

,其中限制||x||2=1。当x等于A的某个特征向量时,f将返回对应的特征值。在限制条件下,函数f的最大值是最大特征值,最小值是最小特征值。所有特征值是正数的矩阵称为正定(positive definite),所有特征值都是非负数的矩阵称为半正定(positive semidefiite)。同样地,所有特征值都是负数的矩阵称为负定(negative definite);所有特征值都是非正数的矩阵称为半负定(pegative semidefinite)。半正定矩阵受到关注是因为它们保证

机器学习线性判别法(深度学习的数学基础)(31)

。此外,正定矩阵还保证

机器学习线性判别法(深度学习的数学基础)(32)

六、奇异值分解

奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,奇异值分解则是特征分解在任意矩阵上的推广。在信号处理、统计学等领域有重要应用。奇异值分解在某些方面与对称矩阵或Hermite矩阵基于特征向量的对角化类似。然而这两种矩阵分解尽管有其相关性,但还是有明显的不同。谱分析的基础是对称阵特征向量的分解,而奇异值分解则是谱分析理论在任意矩阵上的推广。

七、Moore-Penrose 伪逆

对于非方阵矩阵而言,其逆矩阵没有定义。假设在下面的问题中。我们希望通过矩阵A的左逆B来求解线性方程:

机器学习线性判别法(深度学习的数学基础)(33)

等式两边左乘左逆B后,我们得到:

机器学习线性判别法(深度学习的数学基础)(34)

取决于问题的形式,我们可能无法设计一个唯一的映射A映射到B。

如果矩阵A的行数大于列数,那么上述方程可能没有解。如果矩阵A的行数小于列数,那么上述矩阵可能有多个解。

Moore-Penrose伪逆(Moore-Penrose pseudoinverse)使我们在这类问题上取得了一定进展。矩阵A的伪逆定义为:

机器学习线性判别法(深度学习的数学基础)(35)

计算伪逆的实际算法没有基于这个定义,而是使用下面的公式:

机器学习线性判别法(深度学习的数学基础)(36)

其中,矩阵 U 、 D 和 V是矩阵A奇异值分解后得到的矩阵。对角矩阵D的伪逆 D ^ 是其非零元素取倒数之后再转置得到的。当矩阵A的列数多于行数时,使用伪逆求解线性方程组是众多可能解法中的一种。特别地,

机器学习线性判别法(深度学习的数学基础)(37)

是方程所有可行解中欧几里得范数

机器学习线性判别法(深度学习的数学基础)(38)

​最小的一个。当矩阵A的函数多于列数时,可能没有解。在这种情况下,通过伪逆得到的x使得Ax和y的欧几里得距离

机器学习线性判别法(深度学习的数学基础)(39)

​最小。

八、迹运算

矩阵(方阵)迹运算返回的是矩阵对角元素的和

机器学习线性判别法(深度学习的数学基础)(40)

迹运算提供了另一种描述矩阵Frobenius范数的方式:

机器学习线性判别法(深度学习的数学基础)(41)

迹运算在转置运算下是不变的:

机器学习线性判别法(深度学习的数学基础)(42)

标量在迹运算等于自身:

机器学习线性判别法(深度学习的数学基础)(43)

九、行列式

行列式,记作

机器学习线性判别法(深度学习的数学基础)(44)

,是一个将方阵A映射到实数的函数。行列式等于矩阵特征值的乘积。行列式的绝对值可以用来衡量矩阵参与矩阵乘法后空间扩大或者缩小了多少。如果行列式是0,那么空间至少沿某一维完全收缩了,使其失去了所有的体积;如果行列式是1,那么这个转换保持空间体积不变。

文章参考

,