由矩阵转置引发的一系列思考(线性代数的核心)

时间:2021-11-11 23:35:36

在MATHEMATICS看到一个问题“矩阵转置的直观理解是什么?”最初只是想怎么更好的回答这个问题,顺带多写了一点,就有了这篇文章。

矩阵 Am×n Rn 空间的向量映射到 Rm 空间, ATn×m Rm 空间的向量映射到 Rn 空间, ATA Rn 空间的向量变换到 Rn 空间。

提起映射我们首先想到的是函数,是的,矩阵不仅是函数,而且还是线性函数(向量空间是线性空间,只定义了加法和数乘两种运算),一种超级简单的初等函数。所有初等函数都有反函数,矩阵自然也不例外,矩阵的反函数就是矩阵的逆。

矩阵是用来描述空间变换的,空间最关键的是什么?基,没错,给我一组基,我就知道了这个空间的全部。同一个问题,选用不同的基描述,求解的复杂程度差别很大(矩阵对角化,就是以特征向量为基做了一次相似变换,大大简化了矩阵幂乘)。因此,基的选择是线性代数的核心问题。为了简化运算,必要时需要进行基变换,基变换是通过矩阵完成的,新的基对应着矩阵的列。

怎么直观理解矩阵转置呢?从向量角度看:转置即投影。n×1的向量对应着一个1×n的矩阵,该矩阵就是向量的转置。1×n的矩阵的作用:将空间中所有点都投影到该矩阵对应的向量上。

而矩阵无非是一个又一个向量按一定的规则组合在一起,更一般的,从向量空间的运算规则来看,矩阵满足加法和数乘,所以矩阵就是向量。这是矩阵的另一种理解方式。

A是一个m×n的矩阵,记: B=ATA AT 对角线元素是矩阵A列向量在自身的投影, Bij 是A中第j列 AT 第i行的投影, Bji 是A中第i列在 AT 中第j行的投影,由对称性得 Bij=Bji ,所以 ATA 是对称矩阵。(本段中所说的投影数值上不是很准确,B中元素正确计算过程:先投影,再和被投影向量相乘,为了描述的简洁,以及突出投影的作用,直接用投影代替)

3×2 矩阵为例: A=(14 25 36)3×2 AT=(142536)2×3 B=ATA=(142536)123456=(14323278)

ATA 的几何意义:每一个列向量向所有列向量投影的组合。

从更一般的角度看: ATA 仅仅是两个矩阵相乘,上述是从行乘列的角度来看,得到 ATA 是一些投影的组合。那列乘以行呢?这个问题先留着,等到后面对称矩阵的对角化解决之后再回过头来看这个问题。

对称矩阵是最重要的矩阵。因为对称矩阵的特征值是实数,特征向量正交。特征值和特征向量为我们提供了矩阵的重要信息,我们可以通过特征值与特向量了解矩阵。

n×n矩阵可能没有特征向量,也可能特征向量的数量不足以生成整个空间。假设 An×n 有n个不相关的特征向量,矩阵S是以A的特征向量为列向量。

AS=A(x1xn)=(λ1x1λnxn)=(x1xn)λ1000000λn

记: Λ=λ1000000λn A=SAS1 ,这就是小有名气的矩阵对角化,可以快速求解矩阵幂乘: An=SΛnS1 特别的,当A是对称矩阵时,由于特征向量是正交,S为正交矩阵,将特征向量标准化,记为Q.
Q=(q1qn) A=QΛQ1 ,又因为标准正交矩阵的逆等于其转置, A=QΛQT 这就是对称矩阵的奇异值分解!!
A=(q1qn)λ1000000λnq1TqnT=λ1q1q1T++λnqnqnT

qqT 是投影矩阵(excited!)。两个不同的角度,得到了相同的结论:对称矩阵是互相垂直的投影的线性组合,这就是对称矩阵的本质。

激动人心的时刻,接下来,大名鼎鼎的SVD就要登场了。奇异值分解(Singular Value Decomposition),矩阵最终最完美的分解。完美不仅因为SVD具有很美的结构,更有意义的是任意类型的矩阵都可以进行SVD分解。

Am×n 将行空间( Rn 的子空间)中的向量v映射到列空间( Rm 的子空间)的向量u.

能否将行空间的一组正交基映射为列空间的一组正交基?

根据Gram-Schmidt法则,将一组基转化为标准正交基很简单,关键是一组什么样的标准正交基经线性映射后依然是正交的。 A(v1vr)=(σ1u1σrur)=(u1ur)σ1000000σr 记: =σ1000000σn UVT ,V,U均为标准正交矩阵, A=UV1=UVT UVT 矩阵A的奇异值分解形式,分解因子为正交矩阵、对角矩阵、正交矩阵。

对称矩阵和m×n矩阵SVD分解因子的意义:

Q是特征向量矩阵(标准正交); Λ 是特征值矩阵;U是标准正交矩阵(不是特征向量), 将V映射到列空间一组正交基标准化的系数矩阵。

两个应用:

小有名气的矩阵对角化:Google是靠搜索起家的,搜索一个很重要的问题是要对搜索结果(网页)进行排序,Rage和Brin发明了PageRank算法,该算法最终转化为一个基本的线性代数问题,用到的就是矩阵幂乘。

大名鼎鼎的SVD分解:以降维(PCA的本质)为例,假设有10000个样本,20个参数,有些参数之间存在线性相关性,需做降维处理。记所有样本构成的矩阵为R,减去均值并且归一化,构造协方差矩阵 RTR ,求协方差矩阵的特征值和特征向量,特征值从大到小排列,选取前k个,将选取的k个特征值对应的特征向量构成的矩阵记为U。RU将数据投影到k个无关的特征向量上,维度从n降到了k,即由n个线性相关的参数变成了k个线性无关的参数,既减少了计算量,也降低了噪声与数据冗余,避免过度拟合。