机器学习和深度学习之数学基础-线性代数 第二节 矩阵的概念及运算

本文为原创文章,欢迎转载,但请务必注明出处。

上文介绍了线性映射,而与线性映射直接相关的就是矩阵,它决定了线性映射的结果,这里介绍矩阵的一些基本概念和运算。包括矩阵的转置、逆、特征值与特征向量、投影、正交矩阵、对称矩阵、正定矩阵、内积和外积、SVD、二次型等基本概念。本文主要参考Garrett Thomas(2018),Marc Peter Deisenroth(2018),Strang(2003),José Miguel Figueroa-O’Farrill, Isaiah Lankham(UCD, MAT67,2012)等教授的相关讲座和教材。

1、 矩阵的转置

矩阵转置的定义很简单,矩阵的转置就是将矩阵的行变为列,即 ARm×n, 那么转置 ARn×m,且(A)ij=Aji

转置的性质:

  • (A)=A
  • (A+B)=A+B
  • (αA)=αA
  • (AB)=BA

A=A, 那么 A 称为对称矩阵(symmetric)。任何一个矩阵都可以是一个对称矩阵和反对称矩阵(antisymmetric)的和:

A=12(A+A)+12(AA)

其中,12(A+A)是对称矩阵,12(AA)是反对称矩阵。

2、可逆矩阵(invertible matrix)

一个方阵 ARn×n 可逆当且仅当存在一个方阵 BRn×n 使得

AB=I

其中 IRn×n 为单位矩阵。那么方阵 B 为方阵 A的逆矩阵,记作 A1

如果矩阵 ARn×n,那么下面的说法等价:

  • A可逆
  • A不是奇异矩阵(non-singular)
  • 行列式 det(A)0
  • A 满秩,即 rank(A=n)
  • Ax=0只有唯一解:x=0
  • A 的零空间只有零向量:{0},即null(A)=0
  • A的列向量线性无关
  • A的列向量的张成是整个Rn空间。
  • A的列向量构成Rn的一个基向量集
  • 存在方阵BRn×n 使得 AB=I=BA.
  • 转置 A是可逆矩阵,于是,矩阵A的行向量是线性无关的,张成是Rn空间,同时构成了Rn的一个基向量集。
  • A不存在值为0的特征值。
  • A可以表示为有限个初等矩阵的乘积。
  • A 有左逆矩阵(即 BA=I)和 右逆矩阵(即 AC=I),且 B=C=A1

可逆矩阵 A 的一些重要性质:

  • (A1)1=A;
  • (αA)1=α1A1,这里实数标量α0
  • (A)1=(A1)
  • (AB)1=B1A1,其中BRn×n 是可逆矩阵。 更一般情况,如果方阵 A1,...Ak可逆,那么(A1...Ak)1=Ak1...A11.
  • det(A1)=(det(A))1

如果方阵A 的逆矩阵就是它自身,即A=A1, 那么有 A2=I,这是方阵A就叫对合矩阵(involutory matrix)。

3、矩阵的列空间(columnspace)和行空间(rowspace), 矩阵的秩(rank)

矩阵ARm×n列空间(columnspace)是指其列向量(看成是Rm中的向量)的张成; 类似的,行空间(rowspace)是指其行向量(看成是Rn中的向量)的张成。

矩阵A的列空间等于由矩阵A导致的线性映射 RnRm 的值域, 即range(A)

矩阵ARm×n列秩是矩阵A的线性无关的列向量的最大数量。类似地,行秩是矩阵A的线性无关的行向量的最大数量。 矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵A的秩,通常表示为r(A)rank(A)

4、范数(norm)和内积(inner product)

4.1、范数(norm)

范数(norm)是对欧氏空间距离的一般描述。在实数向量空间V的一个范数是一个函数 :VR,并且满足:

  • x0, 当且仅当 x=0 等号成立;
  • αx=|α|x
  • x+yx+y (三角不等式)

注意在V上的任何范数都会引出一个在V上的距离度量:d(x,y)=xy

常用的范数包括:

x1=i=1n|xi|

x2=i=1nxi2

xp=(i=1n|xi|p)1p,(p1)

x=max1in|xi|

机器学习和深度学习之数学基础-线性代数 第二节 矩阵的概念及运算

图一,不同范数在二维平面的示例

4.2、内积(inner product)

在实数向量空间V的一个内积是一个函数 :V×VR,并且满足:

  • x,x0,当且仅当 x=0 等号成立
  • x+y,z=x,z+y,zαx,y=αx,y
  • x,y=y,x

另外,对于向量的2-范数,有

x=x,x

x,y=0时, 那么在同一向量空间中的非零向量xy 正交 (orthogonal, 垂直,记为 xy)。 如果xy还是单位长度,即x=y=1,那么向量xy 称为是标准正交的(orthonormal)。

向量正交的几何解释,如下图二,假设向量xy的夹角是 θ,那么由于:

x,y=xycos(θ)

当夹角 θ=π/2 (即垂直)时,cos(θ)=0,所以有x,y=0
机器学习和深度学习之数学基础-线性代数 第二节 矩阵的概念及运算

图二,空间中两个向量之间的夹角

通常内积被记为:

x,y=i=1nxiyi=xy

在空间Rn上, 内积被称为点积(dot product), 记为 xy

(毕氏定理,Pythagorean Theorem)如果xy, 那么x+y2=x2+y2

(柯西-施瓦茨不等式,Cauchy-Schwarz inequality): |x,y|xy

5、投影(projection)

5.1、点到直线的投影

考虑下图中的两个向量 u,vR2,如何将向量u 投影到向量 v 上呢?
机器学习和深度学习之数学基础-线性代数 第二节 矩阵的概念及运算

图三,一个向量投影到另一个向量

假设u 投影到向量 v 上的最近的点是 p,即p点(将向量看成一个空间的一点)是一条通过u点的直线并与向量 v 所在直线垂直且相交的点。这时,如果用向量p来近似向量u,那么误差为 e=up。下面来求u 在向量v上的投影p。因为p 与 向量v在同一直线上,那么设 p=αv,由于ve 垂直,那么有 ve=0, 即

v(uαv)=0αvv=vuα=vuvv

于是,
p=αv=vuvvv

5.2、投影矩阵(projection matrix)

下面介绍用投影矩阵描述上述的投影,即p=Pu。由于:

p=vvuvv=vvvvu=Pu

所以, 投影矩阵
P=vvvv

投影矩阵具有如下一些性质:

  • 投影矩阵P 的列空间是有向量 v 张成的,因为对于任何一个向量 uPu都是位于由向量 v所决定的直线上。
  • rank(P)=1
  • 对称矩阵: P=P;
  • P2=P

P 叫做正交(与向量所在直线正交)投影矩阵

5.3、点到平面的投影

R3中,如何将向量u 投影到平面上距离u最近的p点呢?

首先假设 a1a2 是平面上的两个基向量,那么该平面就是矩阵 A=[a1  a2] 的列空间(即两个基向量张成所构成的空间)。

基于上面的假设,那么平面里的任意一点(或任意一个向量)p 都可以由平面的两个基向量线性表示,即p=α1a1+α2a2=Aα。 我们需要求得向量α=(α1,α2),也就是说我们要在平面上找一个p,使得up的距离最近(即垂直)。如图四所示。
机器学习和深度学习之数学基础-线性代数 第二节 矩阵的概念及运算

图四,向量映射到平面。a1a2 是平面里的两个基向量,那么平面里的任意向量都可以由这两个向量的线性组合得到,这就是向量p=α1a1+α2a2=Aα 的原因

类似“点到直线投影”的方法,点u到平面上一点p的误差向量为 e=up=uAα。也就是说,要使得误差e最小,只需要u垂直投影到平面上,而p 就是e与平面相交的点。

由于e与平面垂直,那么e就与平面上所有的向量或直线垂直,最简单的就是e与平面的两个基向量a1a2 都垂直,所以有:

a1(uAα)=0a2(uAα)=0

用矩阵表示就是:A(uAα)=0

还有就是,e=uAα 是在 A 的零空间里,所以 e 也是在 A 的左零空间里(left nullspace)。我们知道所有在A 的左零空间里的向量都是与A 的列空间垂直的。这也从另一个方面验证了上述计算。

由于A(uAα)=0, 所以

AAα=Au

如果是映射到直线,那么 AA 就是一个标量数值,但是如果是映射到平面,AA 变成了一个方阵(square matrix)。所以这里不再是除以 vv,而是乘以 AA 的逆 (AA)1

所以(对于 n 维空间也是一样)有

α=(AA)1Aup=Aα=A(AA)1AuP=A(AA)1A

这里,仍然有 P=P,P2=P

P 叫做正交(这里是与平面正交)投影矩阵。如果A中的列向量之间两两相互正交,且向量长度为1(标准正交向量),那么AA=I,所以有 P=A(AA)1A=AA。(注意,这个结论的矩阵A必须是标准正交的列向量组成)。

5.4、从投影的视角看线性回归

线性回归问题:给定m个数据对{(xi,yi)}i=1m,其中xiRn,yiR, 目标是找到一点直线 y^=θx 能“最好的”拟合这些点使得损失最小。为了找到这样的直线,问题变成了根据给定的m个数据点求向量参数 θ

现在以矩阵来表示:XRm×nyRm。 假设这些数据是由真实的 y=Xθ+ϵ, 其中 ϵ是高斯白噪声。我们的目标就是求y^=Xθ,使得真实的y 与模型预测的y^误差最小。

假设平面是两个向量 x1x2的张成(即x1x2是平面的两个基向量),y是平面外的一个点,我们记作 X=[x1  x2]。 由于我们定义了y^=Xθ, 那就说明 y^ 是平面两个基向量x1x2 的线性组合,也就是说,y^也在平面上。我们求向量参数θ,使得平面外的y与平面上的y^距离最近,那么就是说y^ 是通过向量y的直线垂直于平面的交点。根据上面4.3的结论,有(如图五所示)
机器学习和深度学习之数学基础-线性代数 第二节 矩阵的概念及运算

图五,从投影的视角看线性回归

X(yXθ)=0

于是,有
θ=(XX)1Xy

6、特征值(eigenvalue)和特征向量(eigenvector)

凡是涉及到特征值和特征向量时,矩阵首先必须是方阵, 即 ARn×n

如果方阵A 作用于一个非零向量 xRn,得到的结果其实只是简单的对向量 x 进行拉伸或收缩(scaled) λ 个单位,即经过方阵A的作用(或叫做线性变换)后向量 x 的方向不变只是长度变化了(这个特性也叫线性不变性),那么这个特殊的向量 x 就是方阵 A 的一个特征向量,λ 则是该特征向量对应的特征值,即

Ax=λx

特征向量不包括零向量(0)。

假设方阵A 的一个特征向量为 x,对应的特征值是 λ ,下面列出一些重要的结论:
- 对于任意的实数 γR,那么方阵 A+γI 的特征向量仍然是x, 对应的特征值变为 λ+γ
- 如果方阵A可逆,那么方阵A1的特征向量仍然是x对应的特征值为 λ1
- 对于任意的整数 kZ,有Akx=λkx,(这里 定义A0=I)。

后面会详细介绍特征值和特征向量的应用。

7、矩阵的迹(trace)

在谈到矩阵的迹(trace)的时候一般也是针对的方阵。一个方阵的迹是该方阵上的对角线上元素的和,即

tr(A)=i=1nAii

迹的一些重要的性质:

  • tr(A+B)=tr(A)+tr(B)
  • tr(αA)=αtr(A),这里αR
  • tr(A)=tr(A)
  • tr(ABCD)=tr(BCDA)=tr(CDBA)=tr(DABC)

另外,方阵的迹等于方阵的所有特征值的和,即

tr(A)=iλi(A)

8、行列式(determinant)

行列式(方阵才有行列式)的定义在这里就不在介绍,这里列出一些重要性质:

  • det(I)=1
  • det(A)=det(A)
  • det(AB)=det(A)det(B)
  • det(A1)=det(A)1
  • det(αA)=αndet(A)

另外,方阵的行列式等于该方阵的所有特征值的乘积,即

det(A)=iλi(A)

从几何意义的角度,在二维平面上,行列式的绝对值等于由矩阵的两个向量(列向量或行向量都可以)为临边所围成的平行四边形的面积;如果是3维空间,那么行列式的绝对值等于由矩阵的三个向量(列向量或行向量都可以)为临边所围成的平行四边体的体积,以此类推。

机器学习和深度学习之数学基础-线性代数 第二节 矩阵的概念及运算

图六,二维平面中行列式的几何意义

9、正交矩阵(Orthogonal matrices)

如果方阵 QRn×n的列两两标准正交(pairwise orthonormal),那么Q称为正交矩阵, 即

QQ=QQ=I

也就是说,正交矩阵的转置等于它的逆,即Q=Q1。正交矩阵作用于任何向量(即与向量相乘,矩阵和向量相乘也可以看成根据矩阵对向量进行线性变换)保留了向量的内积结果(即内积结果不受正交矩阵相乘的影响),即
(Qx)(Qy)=xQQy=xIy=xy

一个直接的结果就是正交矩阵保留了2-范数的结果:
Qx2=(Qx)(Qx)=xx=x2

上面的结果因此说明了正交矩阵与向量相乘可以看成是一个保留了向量长度的线性变换,但是方向有可能针对向量的原点进行了旋转或翻转。

10、对称矩阵(symmetric matrices)

如果方阵 ARn×n 的转置就是它本身,那么方阵A 就称为对称矩阵,即A=A
以下介绍一个重要的定理:

矩阵质谱定理(Spectral Theorem):如果方阵 ARn×n 是对称矩阵,那么在 Rn 空间中存在由方阵 A的特征向量组成的标准正交基(orthonormal basis)。

这个定理的直接应用就是对对称矩阵的因子化(factorization),也就是常说的矩阵的特征分解(eigen decomposition)谱分解(spectral decomposition)。假设对称方阵 A 的特征向量(也就是方阵 A对应空间Rn 的标准正交基)为q1,...,qn,对应的特征值为 λ1,...,λn。假设正交矩阵 Q 的列就是q1,...,qn,对角矩阵 Λ=diag(λ1,...,λn)。根据这些假设,所以对所有的 iAqi=λiqi,于是用矩阵表示就是

AQ=QΛ

上式右乘 Q,就可以可以得到矩阵分解:
A=QΛQ

11、瑞利熵(Rayleigh quotients)

如果方阵 ARn×n是对称矩阵,那么表达式xAx 称为二次型 (quadratic form)。

瑞利熵(Rayleigh quotients,见下面的等式)将一个对称矩阵的二次型与该对称矩阵的特征值联系了起来:

RA(x)=xAxxx

一些瑞利熵的重要性质:
- 标量不变性:对于任意非零向量 x0 和任意非零实数标量 α0, 有RA(x)=RA(αx)
- 如果 x是方阵 A 的特征向量,对应的特征值是 λ, 有 RA(x)=λ

下面两个性质对求解某些问题也很重要,这些性质说明对称矩阵A的瑞利熵的计算结果是介于A的最小和最大特征值之间的:

  • 对于任意向量x,如果其长度为1(即x2=1),那么有
    λmin(A)xAxλmax(A)

    当其仅当向量x为其对应的特征向量时,等号成立。
  • (瑞丽熵的最小最大定理,min-max theorem):对于任意的非0向量x,有

    λmin(A)RA(x)λmax(A)

    当其仅当向量x为其对应的特征向量时,等号成立。

    后面我们会介绍瑞丽熵的应用及其与拉格朗日算子求极值的例子。

12、正定(或半正定)矩阵 (Positive (semi-)definite matrices)

对于对称矩阵A,如果对于所有的向量 xRn,都有 xAx0, 记作 A0,那么对称矩阵A称为半正定矩阵。如果对于所有的非零向量xRn,都有 xAx>0, 记作 A0,那么对称矩阵A称为正定矩阵

下面的一些性质与其特征值有关:

  • 一个对称矩阵是半正定矩阵当且仅当它的所有特征值都是非负的;一个对称矩阵是正定矩阵当且仅当它的所有特征值都是正的。
  • 假设任意矩阵 ARm×n,那么AA 是半正定矩阵。 如果A的零空间只有 0 向量, 即null(A)={0}, 那么A是正定矩阵(null(A)={0} 说明只要向量 xRn 是非零向量,那么就有 Ax0)。
  • 如果 A是半正定矩阵,对于任意 ϵ>0,那么 A+ϵI 是正定矩阵。

12.1、正定二次型的几何表示(The geometry of positive definite quadratic forms)

一个理解二次型的有用方法就是通过观察他们的几何水平集(the geometry of their level set)。一个函数的水平集或等高线(isocontour)是一组输入的集合,对于这些输入,函数都产生一个相同的值或结果,如函数 fc-等高线是 {xdom  f:f(x)=c}

考虑一个特殊情况 f(x)=xAx,其中 A 是正定矩阵。由于A 是正定矩阵,那么它有唯一的矩阵平方根 A12=QΛ12Q,其中 QΛQA的特征分解,Λ12=diag(λ1,...,λn)。很容易看出A12是正定矩阵(因为它的所有特征值都是大于0的),而且有A12A12=A。 给定一个实数 c>0, 那么函数fc-等高线就是一组 xRn,且满足:

c=xAx=xA12A12x=A12x22

上式中,A12 是对称矩阵。设 z=A12x,那么有z2=c。 这就是说向量的值z是位于半径为 c 的圆上。进一步,我们加入参数使 z=cz^,其中 z2=1,那么由于A12=QΛ12Q,所以有,
x=A12z=QΛ12Qcz^=cQΛ12z~

其中 z~=Qz^, 因为 Q 是正交矩阵,所以 z~ 也是满足z~2=1。使用这种参数化的方式可以得到结果集{xRn:f(x)=c} 是在可逆的线性映射 x=cQΛ12z~ 的单位圆影像(image of the unit sphere) {z~Rn:z~2} 。( 矩阵的影像(image of matrix)是指该矩阵的张成(Think of it (image of the matrix) as what vectors you can get from applying the linear transformation or multiplying the matrix by a vector, from wiki)) 。

通过这些运算可以看出,经过一系列的线性变换后可以很清楚的理解函数 fc-等高线是如何得到的:首先开始于一个单位圆(或单位球面),然后对每个坐标轴 i 拉伸或压缩 对应的λi12 个单位,由此得到一个轴对齐的椭球(an axis-aligned ellipsoid)。椭球的轴长度与正定矩阵 A 的特征值的平方根倒数成正比。所以,特征值越大,对应的椭球的轴的长度就越小,反之亦然。

然后这个轴对齐的椭球通过矩阵 Q 进行了一个刚性变换(rigid transform, 即保留长度和角度,例如旋转或反射(rotation/reflection)等)这个变换的结果就是椭圆的轴不在沿着原来的坐标轴方向,而是沿着相应的特征向量方向。为了说明这点,假设有一个单位向量 eiRn,有 [ei]j=δij。在变换之前的空间,这个向量指向原坐标轴方向,其长度与λi12成正比。但是,进过刚性变化 Q后,该向量指向的方向变成了相应的特征向量 qi 的方向,因为:

Qei=j=1n[ei]jqj=qi

这里我们使用了matrix-vector product identity。

总结:f(x)=xAx 的等高线是椭球,椭球的轴是指向了 A 的特征向量方向,这些轴的半径是与相应的特征值的平方根倒数成正比的。

13、奇异值分解(Singular value decomposition)

任意矩阵 ARm×n 都有一个SVD (即使该矩阵不是方阵)。

SVD的矩阵分解如下:

A=UΣV

其中URm×mVRn×n 是正交矩阵(orthogonal matrix),ΣRm×n是对角矩阵(diagonal matrix),其对角线上的元素值是矩阵A 的奇异值 (singular value,记作 σi)。

假设矩阵A 的前 r=rank(A) 个奇异值是非零的,为了方便,我们以非递增排序,即

σ1σ2...σr>σr+1=...=σmin(m,n)=0

另外一中SVD的写法是(即 sum-of-outer-product identity):
A=i=1rσiuivi

其中 uivi 分别是 UV 的第 i 个列向量。

可以看出,SVD因子提供了 AAAA 的特征分解:

AA=(UΣV)UΣV=VΣUUΣV=VΣΣV

AA=UΣV(UΣV)=UΣVVΣU=UΣΣU

于是,V的列(即A右奇异(right-singular)向量)就是AA的特征向量,而U的列(即A左奇异(left-singular)向量)就是AA的特征向量

矩阵 ΣΣΣΣ 的大小不是必须要相等。 但是他们都是对角阵,其对角线上的元素都是奇异值的平方,即 σi2(可能还有一些0值)。所以矩阵 A 的奇异值是矩阵 AA(或AA)的特征值的平方根。

14、伪逆(Pseudoinverse)矩阵

对于矩阵 ARm×n,如果 mn, 那么 A 是不可逆的。但是,一种叫摩尔-彭若斯广义逆(Moore-Penrose pseudoinverse)的方法可以用来求一般矩阵的伪逆,记作 ARn×m,它具有以下性质:

  • AAA=A;
  • AAA=A
  • AA是对称矩阵
  • AA也是对称矩阵

如果A可逆,那么 A=A1。更一般情况,我们可以通过计算矩阵的SVD来得到它的伪逆:如果 A=UΣV,那么

A=UΣV

其中 Σ可以通过如下方式得到:对 Σ 进行转置,然后将对角线的非零元素求倒数。

15、一些有用的Matrix identities

15.1、矩阵和向量(matrix-vector)相乘就是矩阵列向量的线性组合

假设向量xRn和矩阵 ARm×nA的列向量为a1,...,an,那么有

Ax=i=1nxiai

15.2、外积(outer product) 的和是矩阵和矩阵(matrix-matrix)相乘

一个外积(outer product)表示为 ab, 其中aRmbRn,外积的结果生成一个 m×n 的矩阵:

[ab]ij=aibj

假设向量a1,...,akRmb1,...,bkRn,那么

l=1kalbl=AB

其中 A=[a1,...,ak]B=[b1,...,bk]

15.3、二次型

假设 ARn×n 是对称矩阵,那么 xAx 称为对称矩阵 A 的二次型。二次型可以写成如下的求和形式:

xAx=i=1nj=1nAijxixj

这种写法对一般的方阵都适用(不一定必须是对称矩阵),但是对二次型来说,只限定在对称矩阵的范围里进行讨论。

16、小结

上文我们从线性映射引入了矩阵的概念,本文介绍了矩阵的一些概念及运算, 包括矩阵的转置、逆、特征值与特征向量、投影、正交矩阵、对称矩阵、正定矩阵、内积和外积、SVD、二次型等基本概念。需要注意的是,行列式、正交矩阵、对称矩阵都是方阵;而瑞丽熵、正定或半正定矩阵、二次型的讨论都是针对的对称矩阵。

下文中我们将从运动的角度直观介绍向量、线性变换及其与矩阵的关系。