什么是特征向量?

2025年6月21日 | 阅读 4 分钟

特征向量是线性代数中最基本的数学对象之一。它们在许多科学和工程应用中发挥着非常重要的作用。这些向量非常特殊,因为当它们经过给定的线性变换时,它们的方向保持不变,但会按一个称为特征值的因子进行缩放。这是最重要的因素之一,因为它们简化了复杂的线性运算,从而能够更深入地了解数据、系统或矩阵的底层结构。

在开发基于图像、音频或文本的预测模型时,通常会生成大型且密集的特征集,这使得难以轻松地可视化和分析超过三个维度的任何事物。有一种非常常见的编码技术称为独热编码,它将文本特征映射到独立的列中,但需要大量的存储空间。在不丢失非常重要信息的情况下进行降维,依赖于特征值和特征向量的数学基础,这些构成了强大的策略(如主成分分析,尤其是 PCA)的基础。它们对于线性微分方程非常重要,在这些方程中,变量之间的关系得以维持,并且计算变化率。特征值和特征向量是面部识别技术(如 EigenFaces)的基础,这些技术允许进行谱聚类,从而识别嘈杂数据中的有意义模式,并实现数据集中项目的排名。此外,在非线性运动动力学中,它们有助于以更易于解释的形式表示数据。最终,特征值和特征向量提供了复杂矩阵的简洁摘要,使它们成为数据科学和机器学习中宝贵的工具。

数学上

一个特征向量是一个方阵的非零向量,使得对于某个标量(称为与对应的特征值),以下等式成立:“这里,是线性变换,根据等式,将其应用于会产生一个向量,该向量是的一个标量倍数。”

为了找到特征向量,必须求解特征方程:“其中是与相同维度的单位矩阵。此多项式方程的根是特征值,将这些值代回可以计算特征向量。”

What is an Eigenvector?
  • 方阵的特征向量是一个包含 n 个元素的数组,其中 n 是行和列的数量。特征向量的符号是 x。当特征向量经过线性变换时,其方向保持不变。
  • 因此,特征向量应该是一个非空向量。
  • 特征值:为了确保 A*x-alpha*x=0,我们必须确定一组值或特征值 (alpha)。

根据上面的方程,我们必须将标量 alpha(特征值)乘以向量 x,以便在矩阵 A 乘以向量 x(特征向量)后,它等于矩阵 A 的线性变换。

A*x-alpha*x=0 > (A-alpha*I)x=0

方程 A*x-alpha*x=0 不应存在可逆性。例如,行列式 (A-alpha*I)=0。

现在我们将对特征向量执行各种操作。

首先,我们将导入我们的库。

设 A 为对称矩阵,B=A^T*A=A^2。

输出

What is an Eigenvector?

证明如果 alpha 是 A 的特征值,那么 alpha^2 是 B 的特征值。

输出

What is an Eigenvector?

在证明 B 也是对称矩阵后,利用 A 的特征值分解(即 A=uTalphau)来确定 B 的特征值分解。

输出

What is an Eigenvector?
What is an Eigenvector?

受早期结果的启发,创建一个新矩阵 C,该矩阵满足 C.T.C=A 并且具有与 A 相同的特征值。证明 C 也是对称的,因此它可以用于确定矩阵的“平方根”(即 A……平方根=C)。

创建一个算法,根据 A 构建匹配的 C。用 Python 实现它,并用一个示例演示其功能。

输出

What is an Eigenvector?