【白话机器学习系列】白话特征向量

白话特征向量

在这里插入图片描述

一个方阵 A A A 与列向量 v v v 的乘积会生成一个新的列向量。这个新向量通常与原向量有着不同的方向,矩阵在这里代表一个线性变换。然而,某些向量会保持其原始方向。我们称这种向量为矩阵 A A A特征向量(eigenvector)

在本文中,我们将探讨特征向量、特征值和矩阵的特征方程。并且以 2 维方阵为例,教大家如何计算矩阵的特征向量和特征值。

文章目录

举个例子

考虑矩阵 T T T:
T = ( 1 3 2 2 ) T = \begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} T=(1232)
如果将矩阵 T T T 乘以向量 ( 2 , 0 ) (2,0) (2,0) 会得到一个新的向量 ( 2 , 4 ) (2,4) (2,4):
( 1 3 2 2 ) ( 2 0 ) = ( 2 4 ) \begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} \begin{pmatrix} 2 \\ 0 \end{pmatrix}=\begin{pmatrix} 2 \\ 4 \end{pmatrix} (1232)(20)=(24)
如下图所示。左图中原始向量 ( 2 , 0 ) (2, 0) (2,0) 用青色表示。它还显示了其他几个不同颜色的向量。右图展示了由上述矩阵 T T T​ 变换后的同一组向量:

在这里插入图片描述在这里插入图片描述

一般来讲,右边每个变换后的向量与左边的原始向量相比,其大小和方向都有所不同。

有两个特殊的向量在经过 T T T 矩阵变换后方向不变,这两个向量是 ( 1 , 1 ) (1, 1) (1,1) ( − 3 , 2 ) (-3, 2) (3,2)​:

在这里插入图片描述在这里插入图片描述

这些向量被称为 T T T特征向量。青色向量 ( 1 , 1 ) (1,1) (1,1) 被变换为向量 ( 4 , 4 ) (4,4) (4,4)。变换后的向量与原始向量指向相同的方向,但长度是原来的 4 4 4 倍。我们说向量 ( 1 , 1 ) (1,1) (1,1) T T T 的一个特征向量,其特征值 4 4 4

橙色向量 ( − 3 , 2 ) (-3, 2) (3,2) 被变换为向量 ( 3 , − 2 ) (3,-2) (3,2)。它指向与原始向量方向完全相反的方向,换种说法是说它具有相同的方向但长度为负。向量 ( 3 , − 2 ) (3, -2) (3,2) 等于 ( − 3 , 2 ) (-3, 2) (3,2) 乘以 − 1 -1 1,因此我们说这个向量也是 T T T 的一个特征向量,其特征值 − 1 -1 1

特征向量的定义

我们用下列方程定义特征向量:
A v = λ v Av = \lambda v Av=λv
其中 A A A 是一个 n n n 阶方阵(上述示例中是一个 2 2 2 阶方阵), v v v 是一个 n n n 阶向量,而 λ \lambda λ 是一个标量常数。

如果 v v v A A A 的一个特征向量,则 λ \lambda λ 是对应 A A A 的特征向量 v v v 的一个特征值。

通常,特征值的个数等于矩阵的阶数(因此在前面的示例中,有两个特征值,因为它是一个 2 2 2 阶矩阵)。每个特征值都与一个特征向量相关联,但请记住,如果 v v v 是一个特征向量,那么 v v v 的任何标量倍数也是一个特征向量。重要的只是向量的方向。

此外,有时也可能出现合并情况。例如,一个 2 2 2 阶矩阵可能只有一个特征值,对应于两个不共线的不同特征向量。

特征方程

根据上面定义的特征向量的方程 A v = λ v Av = \lambda v Av=λv,我们可以利用单位矩阵来寻找特征值。

单位矩阵是一个方阵,其中主对角线上的每个元素都是 1 1 1,所有其他元素都是 0 0 0。如果我们用同阶的单位矩阵乘以任何向量 v v v,它会使向量保持不变:
I v = v Iv=v Iv=v
因此,我们可以将原方程右侧的 v v v 替换为 I x Ix Ix,方程仍然成立:
A v = λ I v Av = \lambda Iv Av=λIv
然后将两项都移到方程的左侧并提取公因子 v v v ,整理后得到下面的方程。
( A − λ I ) v = 0 (A-\lambda I)v = 0 (AλI)v=0
注意,上面方程中, 0 0 0 代表零向量,而不是标量值 0 0 0。例如,如果 v v v 2 2 2 阶向量,则 0 0 0 表示 ( 0 , 0 ) (0, 0) (0,0)

这表明矩阵 ( A − λ I ) (A-\lambda I) (AλI) 总能将向量 v v v 变换为 0 0 0,这意味着其行列式必须为 0 0 0。因此:
∣ A − λ I ∣ = 0 \vert A-\lambda I \vert = 0 AλI=0
这便是矩阵 A A A特征方程。我们在这里不进行证明,但这个方程的解就是 A A A 的特征值,从这些特征值我们可以找到对应的特征向量。

2 × 2 2 \times 2 2×2 矩阵的特征值

让我们用上面介绍的特征方程来求矩阵 A = ( 1 3 2 2 ) A=\begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} A=(1232) 的特征向量。其特征方程如下:
∣ A − λ I ∣ = ∣ ( 1 3 2 2 ) − λ ( 1 0 1 1 ) ∣ = ∣ ( 1 3 2 2 ) − ( λ 0 1 λ ) ∣ = ∣ ( 1 − λ 3 2 2 − λ ) ∣ \begin{aligned} \vert A-\lambda I \vert &= \Bigg\vert \begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} - \lambda \begin{pmatrix} 1 &0 \\ 1 &1 \end{pmatrix} \Bigg\vert \\ &=\Bigg\vert \begin{pmatrix} 1 &3 \\ 2 &2 \end{pmatrix} - \begin{pmatrix} \lambda &0 \\ 1 &\lambda \end{pmatrix} \Bigg\vert \\ &= \Bigg\vert \begin{pmatrix} 1-\lambda &3 \\ 2 &2-\lambda \end{pmatrix}\Bigg\vert \end{aligned} AλI= (1232)λ(1101) = (1232)(λ10λ) = (1λ232λ)
根据 2 2 2 阶矩阵的行列式计算公式 ∣ a b c d ∣ = a d − b c \begin{vmatrix}a & b \\ c & d\end{vmatrix}=ad-bc acbd =adbc,可得
∣ A − λ I ∣ = ( 1 − λ ) ( 2 − λ ) − 2 ⋅ 3 = λ 2 − 3 λ − 4 \begin{aligned} \vert A-\lambda I \vert =& (1-\lambda)(2-\lambda)-2 \cdot 3 \\ =&\lambda^2-3\lambda-4 \end{aligned} AλI==(1λ)(2λ)23λ23λ4
解二次方程 λ 2 − 3 λ − 4 = 0 \lambda^2-3\lambda-4 = 0 λ23λ4=0 得,
λ = − 1 λ = 4 \lambda = -1 \qquad \lambda=4 λ=1λ=4
这就是矩阵 A A A 都特征值。

利用特征值求特征向量

我们利用 ( A − λ I ) v = 0 (A-\lambda I)v = 0 (AλI)v=0 求特征向量。

上面我们已经推导出 A − λ I = ( 1 − λ 3 2 2 − λ ) A-\lambda I = \begin{pmatrix} 1-\lambda &3 \\ 2 &2-\lambda \end{pmatrix} AλI=(1λ232λ) 。代入上面公式可得:
( A − λ I ) v = ( 1 − λ 3 2 2 − λ ) ( x y ) = 0 (A-\lambda I)v = \begin{pmatrix} 1-\lambda &3 \\ 2 &2-\lambda \end{pmatrix} \begin{pmatrix}x \\ y\end{pmatrix} = 0 (AλI)v=(1λ232λ)(xy)=0
将上一步求得的特征值 λ = − 1 , λ = 4 \lambda = -1 , \lambda=4 λ=1,λ=4 分别代入可得:

  • λ = − 1 \lambda=-1 λ=1 时, ( 2 3 2 2 ) ( x y ) = 0 \begin{pmatrix} 2 &3 \\ 2 &2 \end{pmatrix} \begin{pmatrix}x \\ y\end{pmatrix} = 0 (2232)(xy)=0,得到如下二元一次方程组
    { 2 x + 3 y = 0 2 x + 3 y = 0 \begin{cases} 2x+3y=0 \\ 2x+3y=0 \end{cases} {2x+3y=02x+3y=0
    这个两个方程是线性相关的(共线的),因此有无数组解,我们只能得到一个关系 x = − 2 3 y x=-\frac{2}{3}y x=32y​。

    这是一条过原点,斜率为 − 2 3 -\frac{2}{3} 32 的直线方程。我们的特征向量可以是该线上的任何向量。

    在一开始,我们通过图形的方式展示了向量 ( − 3 , 2 ) (-3, 2) (3,2) 是一个特征向量,这个向量在此直线上。但我们也看到,任何具有相同斜率的向量也是特征向量。因此,例如, ( − 6 , 4 ) (-6, 4) (6,4)​ 也是一个特征向量(并且它也满足相同的关系)。存在无数具有不同长度但相同斜率的向量。我们可以选择任何向量,但通常选择具有整数分量的最小向量(如果存在这样的向量)。

  • λ = 4 \lambda=4 λ=4 时, ( − 3 3 2 − 2 ) ( x y ) = 0 \begin{pmatrix} -3 &3 \\ 2 &-2 \end{pmatrix} \begin{pmatrix}x \\ y\end{pmatrix} = 0 (3232)(xy)=0​,得到如下二元一次方程组
    { − 3 x + 3 y = 0   2 x − 2 y = 0 \begin{cases} -3x+3y=0 \\ \enspace\:2x-2y=0 \end{cases} {3x+3y=02x2y=0
    这个两个方程也是线性相关的(共线的),因此有无数组解,我们得到关系 x = y x=y x=y​。

    这同样是一条通原点,斜率为 1 1 1 的直线。因此, ( 1 , 1 ) (1, 1) (1,1) 是一个特征向量, ( 2 , 2 ) (2, 2) (2,2) 等也是特征向量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/593863.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python数据分析——业务指标分析

业务指标分析 前言一、业务指标分析的定义二、业务问题构建问题构建的要求 三、业务问题的识别在识别问题的阶段对于企业内部收益者的补充: 四、竞争者分析标题竞争者分析的内容:标题竞争者分析目的:案例: 黑莓公司为什么会消亡&a…

dynamic_cast 静态转换

dynamic_cast 静态转换 const_cast 常量转换 重新解释转换(reinterpret_cast) 最不安全

RocketMq详解:一、RocketMQ 介绍及基本概念

文章目录 前言1.RocketMQ简介2.RocketMQ 特点3.核心特性4.应用场景5.RocketMQ 优势6.RocketMQ 四大核心组件6.1 NameServer1.NameServer作用2.NameServer被设计为无状态的原因3.和NameServer和Zookeeper的区别4.NameServer的高可用保障 6.2 Broker1.Broker部署方式2.高可用与负…

ssm105基于JAVAEE技术校园车辆管理系统+jsp

校园车辆管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本校园车辆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短…

泰克示波器电流探头如何抓浪涌电流波形?

泰克示波器是一种常见的电子测量仪器,广泛应用于电子工程、通信工程、医疗设备等领域。它的主要功能是实时显示电信号的波形,从而帮助工程师和技术人员分析和调试电路。而在一些特定的应用场景中,例如电源、电机、电器设备等,我们…

模型全参数训练和LoRA微调所需显存的分析

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

TypeScript 基础学习笔记:泛型 <T> vs 断言 as

TypeScript 基础学习笔记&#xff1a;泛型 <T> vs 断言 as &#x1f525; 引言 &#x1f44b; TypeScript (TS) 以其静态类型的魔力&#xff0c;让我们的代码更加健壮、易读且易于维护。今天&#xff0c;我们将深入探讨两个核心概念——泛型&#xff08;Generics&#x…

【华为】AC三层旁挂直接转发

【华为】AC三层旁挂直接转发 实验需求实验拓扑配置AC和AP二层通信ACLSW1LSW2AP2获取到的管理地址AP3获取到的管理地址 AP上线配置WLAN业务ACLSW1&#xff08;作DHCP地址池&#xff09;业务成功下发 访问公网&#xff08;NAT&#xff09;LSW1AR1 配置文档ACLSW1LSW2AR1ISP 实验需…

杭电acm1013 Digital Roots 数字根 Java解法 高精度

Problem - 1013 (hdu.edu.cn) 高精度算术模拟 开long没过想到开bI 开bl一次过 import java.math.BigInteger; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);BigInteger i;while (!(i sc.nextB…

Docker新建容器 修改运行容器端口

目录 一、修改容器的映射端口 二、解决方案 三、方案 一、修改容器的映射端口 项目需求修改容器的映射端口 二、解决方案 停止需要修改的容器 修改hostconfig.json文件 重启docker 服务 启动修改容器 三、方案 目前正在运行的容器 宿主机的3000 端口 映射 容器…

【Python项目】基于时间序列的【大气污染预测系统】

技术简介&#xff1a;使用Python技术、B/S架构、MYSQL数据库等实现。 系统简介&#xff1a;本系统的主要使用角色为普通用户和管理员用户&#xff0c;两者的功能几乎是一致的&#xff0c;但管理员用户比普通用户多了用户管理的功能&#xff0c;可以对系统内的用户进行管理。普通…

Java IO编程必备:FilterInputStream类的原理与实现

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

如何构建进攻性的网络安全防护策略

进攻性安全&#xff08;Offensive security&#xff09;是指一系列主动安全策略&#xff0c;这些策略与恶意行为者在现实世界的攻击中使用的策略相同&#xff0c;区别在于其目的是加强而非损害网络安全。常见的进攻性安全方法包括红队、渗透测试和漏洞评估。 进攻性安全行动通…

C++入门 ——类和对象(二)

this指针 this指针的引出 我们先来定义一个日期类 Date class Date { public:void Init(int year, int month, int day){_year year;_month month;_day day;}void Print(){cout <<_year<< "-" <<_month << "-"<< _da…

基于springboot+vue+Mysql的自习室预订系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

Springboot工程创建

目录 一、步骤 二、遇到的问题及解决方案 一、步骤 打开idea,点击文件 ->新建 ->新模块 选择Spring Initializr&#xff0c;并设置相关信息。其中组为域名&#xff0c;如果没有公司&#xff0c;可以默认com.example。点击下一步 蓝色方框部分需要去掉&#xff0c;软件包…

牛客NC382 切割木头【中等 二分超找 Java/Go/C++】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/707d98cee255448c838c76918a702be0 核心 二分查找Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可…

SpringBoot指标监控

一.SpringBoot指标监控_添加Actuator功能 Spring Boot Actuator可以帮助程序员监控和管理SpringBoot应用&#xff0c;比如健康检查、内存使用情况统计、线程使用情况统计等。我 们在SpringBoot项目中添加Actuator功能&#xff0c;即可使用Actuator监控 项目&#xff0c;用法如…

Vue的项目启动指令分析

通过Vue CLI脚手架创建的项目&#xff0c;默认的启动项目方式是 npm run serve 这里的serve是可以修改的。 在创建的项目目录中&#xff0c;找到package.json 双击打开&#xff0c;找到scripts部分 在scripts部分&#xff0c;有一个"serve"键值对&#xff0c;这里的…

知乎23届数据分析校招A卷——笔记

1、and 和 or的并列运用[先看and] 条件1 OR 条件2 AND 条件3 执行顺序是先执行AND操作符&#xff08;先看条件2和3&#xff09;&#xff0c;再根据其结果判断是否需要执行OR操作符&#xff0c;并最终返回整个表达式的逻辑结果。 条件1 and 条件2 or 条件3 执行逻辑是先执行…