【漫话机器学习系列】045.特征向量(Eigenvector)

特征向量(Eigenvector)

特征向量(Eigenvector) 是线性代数中的一个重要概念,与矩阵的特征值(Eigenvalue)密切相关。它在许多数学、物理和机器学习领域中起着关键作用,尤其是在主成分分析(PCA)、奇异值分解(SVD)和网络图分析中。


定义

对于一个 n×n 的矩阵 A,如果存在一个非零向量 v 和一个标量 λ,使得:

其中:

  • v 是矩阵 A 的特征向量(Eigenvector)。
  • λ 是与特征向量 v 相关联的特征值(Eigenvalue)。

特征向量 v 在矩阵 A 的作用下,方向保持不变,只有大小被特征值 λ 放大或缩小。


性质

  1. 非零性:特征向量 v 必须是非零向量。
  2. 方向性:特征向量只定义方向,不定义大小,因此可以进行归一化处理。
  3. 线性独立性:不同特征值对应的特征向量是线性独立的。

几何解释

特征向量是矩阵 A 的变换下,其方向不改变的向量,而特征值表示变换后向量的伸缩因子。例如,在二维平面上,矩阵的特征向量可以看作是变换保持不变的主要轴。


计算特征向量

  1. 特征值的求解

    根据特征值的定义,有 ,其中 是单位矩阵。

    解方程 ,可以求解特征值 λ。

  2. 特征向量的求解

    对于每个特征值 λ,求解 的解 v 即为对应的特征向量。


应用

  1. 主成分分析(PCA)

    PCA通过计算数据协方差矩阵的特征向量和特征值,找到数据主要变化方向的主成分。

  2. 奇异值分解(SVD)

    特征向量用于分解矩阵,为降维、压缩和模式识别提供基础。

  3. 图分析

    在网络图中,特征向量用于评估节点的重要性(如PageRank算法)。

  4. 量子力学

    在量子力学中,特征向量用于描述状态空间中的基矢量。

  5. 振动分析

    特征向量用于描述机械系统振动的模式。


示例

Python 示例:计算矩阵的特征向量

python 复制代码
import numpy as np

# 定义矩阵
A = np.array([[4, 2],
              [1, 3]])

# 计算特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(A)

print("特征值:", eigenvalues)
print("特征向量:\n", eigenvectors)

运行结果

Matlab 复制代码
特征值: [5. 2.]
特征向量:
 [[ 0.89442719 -0.70710678]
 [ 0.4472136   0.70710678]]

总结

特征向量是矩阵变换中保持方向不变的向量,它在许多机器学习算法和物理建模中起着基础性作用。理解特征向量及其性质,是掌握线性代数和机器学习的重要一步。

相关推荐
墨绿色的摆渡人9 分钟前
pytorch小记(四):pytorch中的重排操作:x.permute()
人工智能·pytorch·python
最好Tony11 分钟前
深度学习-图神经网络-超图概念及在Hyper-YOLO的应用(小白也看懂)
人工智能·深度学习·神经网络
2401_8914092611 分钟前
Level2逐笔成交逐笔委托毫秒记录:今日分享优质股票数据20250102
大数据·数据库·python·金融·数据库开发
zjun302136 分钟前
Attention计算中的各个矩阵的维度都是如何一步步变化的?
人工智能·transformer
XianxinMao42 分钟前
人工智能前沿探讨:从Transformer架构到机器意识与迁移学习的应用
人工智能·架构·transformer
KeyPan1 小时前
【Ubuntu与Linux操作系统:二、图形界面与命令行】
linux·运维·服务器·pytorch·ubuntu·机器学习·计算机视觉
黑客Jack1 小时前
[Python/网络安全] Git漏洞之Githack工具基本安装及使用详析
git·python·web安全
十二测试录1 小时前
Android SDK下载安装(图文详解)
android·经验分享·python·程序人生·adb·自动化
墨绿色的摆渡人1 小时前
pytorch小记(七):pytorch中的保存/加载模型操作
人工智能·pytorch·python
墨绿色的摆渡人1 小时前
pytorch小记(三):pytorch中的最大值操作:x.max()
人工智能·pytorch·python