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

news/2025/1/16 2:32:29/

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 示例:计算矩阵的特征向量

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.ppmy.cn/news/1563483.html

相关文章

【数字化】华为-用变革的方法确保规划落地

导读:华为在数字化转型过程中,深刻认识到变革的必要性,并采用了一系列有效的方法确保转型规划的有效落地。华为认为,数字化转型不仅仅是技术层面的革新,更是企业运作模式、流程、组织、文化等深层次的变革。数字化转型…

网络安全的几种攻击方法

攻击方法 挂马: 就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。 挖洞: 指漏洞挖掘。 加壳: 就是利用特殊的算法,将EXE可执行程序或者DLL动态连接库文件的编码进行改变(比如实现压缩、加密&a…

AI大模型如何赋能电商行业并引领变革?

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于AI大模型如何赋能电商行业并引领变革的相…

[Deep Learning] Anaconda+CUDA+CuDNN+Pytorch(GPU)环境配置-2025

文章目录 [Deep Learning] AnacondaCUDACuDNNPytorch(GPU)环境配置-20250. 引子1. 安装Anaconda1.1 安装包下载:1.2 启用安装包安装1.3 配置(系统)环境变量1.4 验证Anaconda是否安装完毕1.5 Anaconda换源 2. 安装CUDACuDNN2.1 判断本机的CUDA版本2.2 下载适合自己CU…

多态(2)

大家好,今天我们继续来学习多态的知识,上篇我们已经简单了解了多态,今天我们来看看该如何实现多态,来看。 重载和重写的区别是什么? 重载: 1.方法名称相同 2.参数列表不同[(数据类型,个数.顺序)] 3.返回值不做要…

54_ Caffeine实现多级缓存

1.Caffeine概述 缓存在日常开发中起到至关重要的作用,由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。我们把缓存分为两类: (1) 分布式缓存,例如Redis。 优点:存储容量更大、可靠性更好、可以在集群间共享缺点:访问缓存有…

Centos9 + Docker 安装 MySQL8.4.0 + 定时备份数据库到本地

Centos9 Docker 安装 MySQL8.4.0 定时备份数据库到本地 创建目录,创建配置文件启动容器命令定时备份MySQL执行脚本Linux每日定时任务命令文件内参数其他时间参数 AT一次性定时任务 创建目录,创建配置文件 $ mkdir -p /opt/mysql/conf$ vim /opt/mysql/…

【免费开源】积木JimuBI大屏集成eladmin

JimuBI介绍 JimuBI 是一个JAVA语言的低代码数据可视化大屏BI产品,将大屏、仪表盘、移动面板、图表或页面元素封装为基础组件,无需编写代码即可完成业务需求。 这是JeecgBoot团队出品的另外一款报表产品,积木报表已经成为业内报表首先&#x…