特征值和特征向量的几何意义

article/2025/9/21 5:02:38

1. 特征值和特征向量

我们首先回顾下特征值和特征向量的定义如下:
A x = λ x Ax=\lambda x Ax=λx
其中A是一个 n × n n\times n n×n的实对称矩阵, x x x是一个n维向量,则我们说 λ \lambda λ是矩阵A的一个特征值,而 x x x是矩阵A的特征值 λ \lambda λ所对应的特征向量。求解特征值时,上式可以写为:
( A − λ E ) x = 0 (A-\lambda E)x=0 (AλE)x=0
从几何意义的角度,理解特征值和特征向量
首先得先弄清矩阵的概念:一个矩阵代表的是一个线性变换规则,而一个矩阵的乘法运行代表的是一个变换。
比如有一个矩阵A:
A = ( a 11 a 12 a 21 a 22 ) A= \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \\ \end{pmatrix} A=(a11a21a12a22)
一个列向量为x为:
x = ( x 1 x 2 ) x= \begin{pmatrix} x_{1} \\ x_{2} \\ \end{pmatrix} x=(x1x2)
一个矩阵的乘法为:
A x = ( a 11 a 12 a 21 a 22 ) ( x 1 x 2 ) = ( a 11 x 1 + a 12 x 2 a 21 x 1 + a 22 x 2 ) = ( y 1 y 2 ) = Y Ax=\begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \\ \end{pmatrix} \begin{pmatrix} x_{1} \\ x_{2} \\ \end{pmatrix}=\begin{pmatrix} a_{11}x_1+a_{12}x_2 \\ a_{21}x_1 +a_{22} x_2\\ \end{pmatrix} =\begin{pmatrix} y_{1} \\ y_{2} \\ \end{pmatrix}=Y Ax=(a11a21a12a22)(x1x2)=(a11x1+a12x2a21x1+a22x2)=(y1y2)=Y
所以向量X通过矩阵A这个变化规则就可以变换为向量Y了
在几何上的变换就类似于这样:
在这里插入图片描述
知道了这个就可以从几何上理解特征值和特征向量是什么意思了,由
A x = λ x Ax=\lambda x Ax=λx
可知:
A x = ( a 11 a 12 a 21 a 22 ) ( x 1 x 2 ) = ( a 11 x 1 + a 12 x 2 a 21 x 1 + a 22 x 2 ) = ( λ x 1 λ x 2 ) = Y Ax=\begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \\ \end{pmatrix} \begin{pmatrix} x_{1} \\ x_{2} \\ \end{pmatrix}=\begin{pmatrix} a_{11}x_1+a_{12}x_2 \\ a_{21}x_1 +a_{22} x_2\\ \end{pmatrix} =\begin{pmatrix} \lambda x_{1} \\ \lambda x_{2} \\ \end{pmatrix}=Y Ax=(a11a21a12a22)(x1x2)=(a11x1+a12x2a21x1+a22x2)=(λx1λx2)=Y
所以,确定了特征值之后,向量x的变换为:方向没有改变!!!
在这里插入图片描述
引用《线性代数的几何意义》的描述:“矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值”。对于实对称矩阵来说,不同特征值对应的特征向量必定正交;我们也可以说,一个变换矩阵的所有特征向量组成了这个变换矩阵的一组基。
那么这样定义的特征值和特征向量有什么实际用途呢?在这里我举个数据挖掘算法中重要的一个算法:PCA(主成分分析)来给大家直观的感受一下。

2. 在PCA中应用

首先,理解一下信息量这个概念
看几张图:
在这里插入图片描述
如果我们单独看某一个维度的话,比如看x1这个维度:
在这里插入图片描述
可以看到将点投影到x1这个维度上看的话,图1的数据离散性最高,图3较低,图2数据离散性是最低的。数据离散性越大,代表数据在所投影的维度上具有越高的区分度,这个区分度就是信息量。如果我们用方差来形容数据的离散性的话,就是数据方差越大,表示数据的区分度越高,也就是蕴含的信息量是越大的。
基于这个知识,如果我们想对数据进行降维的话,比如图1的两个维度的数据降成一维,我们可以选择保留X1这个维度的数据,因为在这个维度上蕴含的信息量更多。
同理,图2就可以保留x2这个维度的数据。但是,问题来了,图3应该保留哪个维度的数据呢?答案是保留哪个维度(x1或x2)都不好,都会丢失较大的信息量。但是,如果我们把图3的坐标轴旋转一下
在这里插入图片描述
比较容易看出,图3在新的坐标轴下就能进行降维了。所以选取正确的坐标轴,然后根据各个维度上的数据方差大小,决定保留哪些维度的数据,这样的做法就是主成分分析的核心思想。
选取正确的坐标轴的过程中,我们需要一个矩阵变换,就类似于这样:
在这里插入图片描述
其实,经过数学上的推导的,我们就可以知道,特征值对应的特征向量就是理想中想取得正确的坐标轴,而特征值就等于数据在旋转之后的坐标上对应维度上的方差。
也就是说,直接求出矩阵A的特征向量得出对应的特征向量。我们就能找到旋转后正确的坐标轴。这个就是特征值和特征向量的一个实际应用:“得出使数据在各个维度区分度达到最大的坐标轴。”
所以,在数据挖掘中,就会直接用特征值来描述对应特征向量方向上包含的信息量,而某一特征值除以所有特征值的和的值就为:该特征向量的方差贡献率(方差贡献率代表了该维度下蕴含的信息量的比例)。
转载自奇异值分解(SVD)原理与在降维中的应用
转载自特征值和特征向量的几何意义


http://chatgpt.dhexx.cn/article/7VUBmkuq.shtml

相关文章

特征值和特征向量的通俗解释

我们知道,特征向量的公式是 ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 其中A代表矩阵,x代表特征向量,代表特征值。 众所周知,特…

对特征值和特征向量的理解

Agenda 1. 特征值和特征向量1.1 特征值和特征向量的通俗解释1.2 如何计算矩阵的特征值和特征向量1.3 特征多项式1.4 特征值和特征向量的性质 1. 特征值和特征向量 在讨论特征值和特征向量之前,必须声明的是现在我们关注的是有限维 线性空间上的线性变换。这里两个关…

线性代数(五)特征值和特征向量

文章目录 一:特征值与特征向量二:特征方程2.1行列式求解的另一种方法--初等变换2.2可逆矩阵定理以及行列式性质的补充2.3特征方程/特征多项式2.4相似性 三:对角化3.1从例子出发3.2定理3.3例子 一:特征值与特征向量 1.定义&#x…

特征值和特征向量(三)

特征值和特征向量(三) 一、先看一下教科书上的定义:设A是n阶方阵,如果存在常数及非零n向量x,使得,则称是矩阵A的特征值,x是A属于特征值的特征向量。给定n阶矩阵A,行列式 的结果是关…

网页游戏脱机脚本制作视频教程

网页游戏脱机脚本制作视频教程 百度网盘 布脖练馅辰杖怖铱试疤促钩咏合躺酱澈纸罢旨谖谘帘婪尾拾碧鸥居丶骨碳捍饰炔幌干衫乖商衣临衣氛捍运阂妊痰煤籽媒移惶心谑源谑丫松橙湛叭坪佳蛊八婪毒鄙刮碧悠凳炔捍灰钩贺篮媒梅敝粱寡油倨制柿囊谐举婪贫婪奖堂虏啄腊谘剿镜感诺衣挥堂猎…

python可以制作游戏脚本吗_用Python写一个游戏脚本,你会吗?

学习python有一段时间了,由于python语言的强大和简洁,是一个不错的脚本语言,就准备做个游戏脚本练练手。如果你也想多练项目实战。可以去小编的Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目 听说pywin32写脚本还不错 pyw…

逆水寒商业脚本制作视频

​一章 易语言基础 共6课时 1、关于易语言必须了解的基本知识 2、易语言基本组件(不包括超级列表框)讲解 3、易语言超级列表框详解 3、易语言核心支持库讲解之一 4、易语言核心支持库讲解之二 5、易语言模块制作和DLL制作 6、用制作的模块和DLL开发三个小软件 第二章…

Java开发游戏脚本(第三卷)

游戏脚本开发第三卷 XML文件存储数据使用exe4j打包成exe文件回首BUG最后结语 XML文件存储数据 我举个例子,我的窗口数据需要存储到文件,它的结构为: public class Game {// Game类的成员变量private String Title;private int X;private int Y;private…

乐玩模块脚本实战教程辅助脚本制作开发视频

乐玩插件模块的制作,封装了后台绑定判断,键鼠图色窗口文本输入等游戏辅助常用的方法,每种方法都做了游戏调用测试示范,最后录制了四种多线程方法调用乐玩插件,并通过游戏进行了演示。 学习地址:链接&#x…

游戏多开器制作教程

这里讲解怎么制作多开器,简单易懂的讲解,希望能够记录学习过程。 用易语言来制作自己的小工具,还是挺有成就感的。每个人都可以。 1.常见的几种游戏多开限制-简单说明 2.什么是互斥体 3.互斥体的类型与查找 4.编写多开代码实现游戏多开

C++游戏编程教程(一)

参考书籍:《C游戏编程:创建3D游戏》 注:本教程所有代码的开发环境均为Visual Studio Preview 2022,C标准是C20。 一、初识SDL SDL是一个跨平台的开源多媒体库,被广泛应用于游戏开发,具体可以看这里。另外…

html5分镜头脚本范例,分镜头脚本教程图解

这是一份pdf免费高清彩版的分镜头脚本设计教程,全书彩页,排版非常不错,阅读起来充满趣味性,另外,书中有不少分镜头脚本范例以及分镜头脚本教程图解,是一本值得一看的好书。全书详细讲解了分镜头是如何制作的…

Java开发游戏脚本(第五卷)

游戏脚本开发第五卷 前言介绍相关技术相关功能项目结构最后结语 前言介绍 本卷具体介绍脚本1.0,相关代码不再展示,该项目全部源码以及相关配置文件可在下方评论区留下QQ邮箱即可领取。 相关技术 JavaFX,主要用于展示页面效果,该技…

群控系统linux脚本,群控系统的自定脚本制作

做为沒有一切技术性累积的***游戏玩家,买这套醉适合,回家了依照使用说明一顿插线,插 好即玩,一小时内拿下,立刻就可以进行实际业务流程。这套系统软件现阶段关键对于手机0信,沒有各种各样目不暇接的作用&am…

Unity 脚本入门教程

原文:Introduction to Unity Scripting 作者:Georgi Ivanov 译者:kmyhy Unity 的许多功能都要通过它的富脚本语言 C# 来体现。你可以用它来处理用户输入,操作场景中的对象,碰撞检测,自动生成新的 GameOb…

2020年易语言调用大漠插件来制作游戏脚本教程

第一章 易语言基础 共6课时 1、关于易语言必须了解的基本知识 2、易语言基本组件(不包括超级列表框)讲解 3、易语言超级列表框详解 3、易语言核心支持库讲解之一 4、易语言核心支持库讲解之二 5、易语言模块制作和DLL制作 6、用制作的模块和DLL开发三个小…

Lua脚本教程

Lua脚本教程 一、数据类型1、常量、变量2、变量名:字母、数字、下划线(不能以数字开头)3、几种数据类型 二、运算符三、初识函数四、判断语句五、循环语句六、表七、高级函数与控制结构八、函数库1.基本库2.数学库,表库3.字符串库…

【按键精灵】一步两步脚本教程

使用版本:2014.06:19549 游戏地址:http://www.4399.com/flash/204661_2.htm 图1 4399一步两步 1 脚本前准备 一步两步在h5页面中的目标是通过点击1步/2步,避免掉下去的情况下得到高分,另外能吃到硬币有额外加分,那么…

梦幻西游打宝图脚本制作教程

第1节课-找游戏内存数据 第2节课-起号辅助开发实战 第3节课-辅助大体框架设计 第4节课-自动起号功能完善 第5节课-找各种功能的内存数据1 第6节课-点击小地图的算法分析 第7节课-点击小地图功能代码实现和完善 第8节课-背包物品遍历功能实现 第9节课-背包物品遍历功能完善 第10…

怎么制作游戏脚本_自动玩游戏,手游脚本究竟是怎么做的?

手游现在已经成为大家打发碎片化时间的一种很普遍的方式了,而有的人会由于种种愿意不能自己去玩,就希望有什么办法或者工具能帮助我们解决这个问题,不用人收着也能完成任务。 实现原理: 比如一个游戏的任务,你需要在不同的手机屏幕上进行一系列点击,滑动,甚至输入文本,…