当前位置: 首页 > article >正文

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

7d81f451dd07490d9e625c5119b6d98c.jpeg

特征向量(Eigenvector)

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


定义

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

eq?A%20v%20%3D%20%5Clambda%20v

其中:

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

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


性质

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

几何解释

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


计算特征向量

  1. 特征值的求解
    根据特征值的定义,有 eq?%28A%20-%20%5Clambda%20I%29v%20%3D%200,其中 eq?I 是单位矩阵。
    解方程 eq?%5Cdet%28A%20-%20%5Clambda%20I%29%20%3D%200,可以求解特征值 λ。

  2. 特征向量的求解
    对于每个特征值 λ,求解 eq?%28A%20-%20%5Clambda%20I%29v%20%3D%200 的解 v 即为对应的特征向量。


应用

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

  2. 奇异值分解(SVD)
    特征向量用于分解矩阵,为降维、压缩和模式识别提供基础。

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

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

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


示例

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

import numpy as np

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

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

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

运行结果 

特征值: [5. 2.]
特征向量:
 [[ 0.89442719 -0.70710678]
 [ 0.4472136   0.70710678]]

 


总结

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

 


http://www.kler.cn/a/502744.html

相关文章:

  • 第423场周赛:检测相邻递增子数组 Ⅰ、检测相邻递增子数组 Ⅱ、好子序列的元素之和、统计小于 N 的 K 可约简整数
  • 【STM32-学习笔记-8-】I2C通信
  • uniapp 之 uni-forms校验提示【提交的字段[‘xxx‘]在数据库中并不存在】解决方案
  • Redis优化建议详解
  • 【STM32-学习笔记-9-】SPI通信
  • 深度学习笔记11-优化器对比实验(Tensorflow)
  • 微信小程序开发设置支持scss文件
  • js:正则表达式
  • 每日学习30分轻松掌握CursorAI:Cursor隐私与安全设置
  • Django Admin 中实现 ECS 服务重启的细粒度权限控制
  • 面试加分项:Android Framework PMS 全面概述和知识要点
  • TaskBuilder前端页面JS脚本编辑
  • 【练习】力扣 热题100 两数之和
  • onlyoffice编辑服务部署
  • PyTorch 深度学习框架快速入门 (小土堆)
  • 卷积神经网络:卷积过滤器的“卷积”是什么意思?
  • 开源AI模型的优势、挑战与未来发展分析
  • windows环境 logstash 采集本地java日志文件,打印到控制台
  • 【Pandas】pandas Series rdiv
  • 探秘block原理
  • Springboot项目如何消费Kafka数据
  • 通讯录的录入与显示(pta)C语言
  • Java Web开发进阶——WebSocket与实时通信
  • <2025 网络安全>《网络安全政策法规-关键信息基础设施安全保护条例》
  • 使用Qt和OpenGL实现一个旋转的各面颜色不一致的立方体及知识点分析
  • Three.js 数学工具:构建精确3D世界的基石