保存成功
订阅成功
保存失败,请重试
提交成功

矩阵特征值分解与主成分分析(Python 实现)

清华大学计算机科学与技术系硕士毕业,研究方向:数据分析、自然语言处理
查看本场Chat

1.对称矩阵

在对数据进行降维与压缩的运算处理过程中,有一类矩阵扮演了极其重要的角色,那就是对称矩阵。在线性代数的理论与实践中,我们将对称矩阵称之为“最重要的”矩阵丝毫不显夸张。

对称矩阵除了“自身与转置后的结果相等”这个最浅显、基本的性质外,还拥有许多重要的高级特性。在对角化的运算讨论中,我们会发现实数对称矩阵一定能够对角化,并且能够得到一组标准正交的特征向量。同时,任意一个矩阵 $A$ 同他自身的转置矩阵 $A^T$ 相乘都能得到一个对称矩阵,我们在本小节中就将重点关注 $AA^T$ 这类对称矩阵并细致的讨论他的特征值所具有的重要性质,这些基础知识将会为后续的高级主题打下坚实的基础,希望大家不要错过。

1.1.对称矩阵基本特性梳理

首先,我们简单的梳理一下对称矩阵的基本特性。

如果一个矩阵 $S$ 的所有数据项都满足 $S_{ij}=S_{ji}$,那么这个矩阵就是一个对称矩阵。通俗的说,一个对称矩阵通过转置操作,得到的仍然是他自身,即满足:$S=S^T$。我们从这里面还可以推断出对阵矩阵 $S$ 所蕴含的一个前提条件:他必须是方阵。

有一种获取对称矩阵的方法:即一个矩阵乘以自己的转置矩阵,得到的结果必然是一个对称矩阵,即 $AA^T$,证明方法也非常简单:

$(AA^T)^T=(A^T)^TA^T=AA^T$,满足关于矩阵对称的基本定义。

1.2.实对称矩阵的对角化

1.2.1.实对称矩阵一定可以对角化

我们在这里只讨论实数范围内的对称矩阵问题。

对于一个任意方阵,如果他的特征值两两不同,那么特征值所对应的特征向量线性无关,这个方阵就可以对角化。如果方阵有相同的特征值,他很可能存在线性相关的特征向量,在这种情况下,该方阵就不能被对角化。

但是,这种情况在对称矩阵身上是不会发生的,请大家记住:对于任意一个实数对称矩阵,都一定可以被对角化。换句话说,对于一个对称矩阵,无论他的特征值是否重复,他的特征向量都一定线性无关。这里具体的证明过程我们不展开,大家有兴趣可以查阅相关的资料。

1.2.2.特征向量标准正交

实对称矩阵都可以获得一组标准正交的特征向量。这可以说是对称矩阵里我认为最好的一个性质了,这里我们用一个简单的方法来描述一下。

首先,实对称矩阵 $S$ 一定能够对角化,可以被写成:$S=X\Lambda X^{-1}$ 的形式,其中对角矩阵 $\Lambda$ 的各元素一定均由实数构成,并且最为关键的是,任何一个对称矩阵分解得到的特征向量矩阵都可以是标准正交矩阵。

为什么这么说呢,我们可以简单的看一个等式推导:

$S=X\Lambda X^{-1}$,由于 $S$ 的对称性,满足 $S=S^T$ ,于是有 $X\Lambda X^{-1}=(X\Lambda X^{-1})^T=(X^{-1})^T\Lambda X^T$。

想要使得等式相等,我们需要对应位置上的 $X^{-1}=X^T$,再进一步就整理成了 $X^TX=I$,这说明了,我们此时获取的特征向量之间是标准正交的,我们可以换记作正交矩阵的符号 $Q$,同时结合 $Q^{-1}=Q^T$ 的特性,我们就可以把实对称矩阵的对角化过程写作:$S=Q\Lambda Q^{-1}=Q \Lambda Q^T$。

1.2.3.对称矩阵的分解形式

分解成标准正交的特征向量只是其中的一种形式,由特征值和特征向量的定义 $Sx=\lambda x$ 我们得知,显然特征向量是一个方向上的向量集合,不一定非得长度为 $1$,但是我们可以通过直觉感受到,一旦把特征向量都设置为单位向量,那么会收获很多简化和美好,这个我们在后面会不断的感受到由此带来的好处。

互动评论
评论
老刘3 年前
矩阵转置建议使用$ A^\mathrm{T}$、$A^\top$或$A^\intercal$。直接使用$A^T$会出现斜体T,不符合出版要求。
评论
查看更多