什么是特征分解?从数学定义到现实问题的映射

目录

一、前言

二、从现实问题开始理解

三、什么是特征向量

四、特征分解的数学定义

五、为什么需要特征分解

六、特征分解过程

七、如何求特征值

八、一个简单例子

九、特征分解的本质

十、机器学习中的应用

PCA主成分分析

图像压缩

推荐系统

[Google PageRank](#Google PageRank)

十一、Python实现特征分解

十二、特征值大小意味着什么

十三、特征分解与奇异值分解(SVD)

特征分解

SVD

十四、总结


一、前言

在学习机器学习、推荐系统、图计算、PCA降维等算法时,经常会遇到一个概念:

复制代码
特征分解(Eigen Decomposition)

很多人第一次看到时都会被下面这个公式吓到:

复制代码
A × v = λ × v

感觉像是高等数学中的神秘符号。

实际上,特征分解并没有想象中那么复杂。

如果用一句话来描述:

特征分解的本质,就是寻找一个矩阵作用后"方向不变"的特殊向量。

理解了这句话,你就理解了特征分解最核心的思想。


二、从现实问题开始理解

假设有一张地图。

地图上的每一个点都可以表示为:

复制代码
(x,y)

现在对地图进行缩放:

复制代码
横向放大2倍

纵向放大3倍

例如:

复制代码
(1,1)

变成:

复制代码
(2,3)

大多数点都会:

复制代码
位置改变

方向改变

但是有一些特殊方向:

复制代码
只会被拉伸

不会改变方向

这些特殊方向就是:

复制代码
特征向量(Eigen Vector)

对应的拉伸倍数就是:

复制代码
特征值(Eigen Value)

三、什么是特征向量

假设有一个矩阵:

复制代码
A =
[
  2 0
  0 3
]

以及一个向量:

复制代码
v =
[
  1
  0
]

矩阵乘法:

复制代码
A × v

=

[
 2
 0
]

可以发现:

复制代码
结果方向没有变化

只是长度变成了原来的2倍

因此:

复制代码
v

就是特征向量。

对应:

复制代码
λ = 2

就是特征值。


四、特征分解的数学定义

如果存在:

复制代码
A × v = λ × v

则:

复制代码
v

称为矩阵:

复制代码
A

的特征向量。

而:

复制代码
λ

称为对应的特征值。

其中:

复制代码
A

矩阵

v

特征向量

λ

特征值

这也是线性代数中最经典的公式之一。


五、为什么需要特征分解

现实中的数据往往非常复杂。

例如:

复制代码
用户行为数据

商品数据

金融数据

图像数据

这些数据可以组成一个巨大的矩阵。

我们希望知道:

复制代码
哪些方向最重要

哪些方向信息最多

哪些方向最能代表数据

这时候:

复制代码
特征分解

就派上用场了。


六、特征分解过程

整体流程:


七、如何求特征值

从公式:

复制代码
A × v = λ × v

开始。

移项:

复制代码
A × v - λ × v = 0

提取:

复制代码
(A - λI) × v = 0

要让:

复制代码
v ≠ 0

成立。

必须满足:

复制代码
det(A - λI) = 0

这称为:

复制代码
特征方程

求解该方程即可得到所有特征值。


八、一个简单例子

矩阵:

复制代码
A =

[
 4 1
 2 3
]

计算:

复制代码
det(A - λI) = 0

得到:

复制代码
λ² - 7λ + 10 = 0

求解:

复制代码
λ1 = 5

λ2 = 2

对应可以继续求出:

复制代码
特征向量1

特征向量2

这样:

复制代码
矩阵的重要方向

就被找到了。


九、特征分解的本质

很多教材讲了大量公式。

但核心其实很简单:

矩阵代表:

复制代码
一种变换

例如:

复制代码
旋转

缩放

拉伸

压缩

而特征分解寻找的是:

复制代码
变换后方向不变的向量

例如:

复制代码
普通向量

→ 改变方向

而:

复制代码
特征向量

→ 保持方向

只改变长度。

长度变化倍数:

复制代码
就是特征值

十、机器学习中的应用

PCA主成分分析

PCA是特征分解最经典的应用。

目标:

复制代码
高维数据

↓

低维数据

例如:

复制代码
100个特征

↓

10个特征

步骤:

复制代码
计算协方差矩阵

↓

特征分解

↓

选取最大特征值对应方向

↓

完成降维

图像压缩

图片本质:

复制代码
矩阵

通过特征分解:

复制代码
保留主要信息

舍弃次要信息

实现压缩。


推荐系统

用户商品矩阵:

复制代码
用户 × 商品

进行特征分解后:

复制代码
提取用户兴趣

提取商品特征

用于推荐。


Google PageRank

网页链接关系:

复制代码
网页 × 网页

形成矩阵。

通过特征分解:

复制代码
寻找最重要网页

实现搜索排序。


十一、Python实现特征分解

NumPy已经提供了现成方法。

python 复制代码
import numpy as np

A = np.array([
    [4,1],
    [2,3]
])

# 特征分解
eigenvalues, eigenvectors = np.linalg.eig(A)

print("特征值:")
print(eigenvalues)

print("特征向量:")
print(eigenvectors)

输出:

复制代码
特征值:

[5. 2.]

特征向量:

[
 [0.7071 -0.4472]
 [0.7071  0.8944]
]

说明:

复制代码
矩阵存在两个特征值

5

2

以及对应特征向量。


十二、特征值大小意味着什么

通常:

复制代码
特征值越大

代表该方向越重要

例如:

复制代码
λ1 = 100

λ2 = 5

λ3 = 1

说明:

复制代码
第一个方向包含绝大部分信息

因此:

复制代码
优先保留λ1对应特征向量

这也是 PCA 降维的核心思想。


十三、特征分解与奇异值分解(SVD)

很多同学会混淆:

复制代码
特征分解

Eigen Decomposition

和:

复制代码
奇异值分解

SVD

区别:

特征分解

要求:

复制代码
必须是方阵

即:

复制代码
行数 = 列数

SVD

适用于:

复制代码
任意矩阵

因此:

复制代码
应用更广

推荐系统中常用:

复制代码
SVD

而:

复制代码
PCA

图分析

PageRank

常使用特征分解。


十四、总结

特征分解是线性代数中极其重要的工具。

核心公式:

复制代码
A × v = λ × v

含义:

复制代码
寻找矩阵变换后

方向保持不变的向量

其中:

复制代码
v

特征向量

λ

特征值

应用场景:

复制代码
PCA降维

图像压缩

推荐系统

PageRank

图计算

机器学习

可以这样理解:

复制代码
矩阵描述世界

特征分解寻找世界中最重要的方向

掌握特征分解之后,再学习 PCA、SVD、协方差矩阵、推荐系统矩阵分解等高级算法时,就会轻松许多。

相关推荐
Dylan的码园1 小时前
告别AI空交互!ToDesk AI实测:能自主操控电脑的落地式AI生产力助手
人工智能·电脑
呆呆敲代码的小Y1 小时前
【最新Codex教程】 | 安装、入门和快速使用,适合新手
人工智能·gpt·ai·llm·openai·agent·codex
sunneo1 小时前
每周AI工具模型更新速递
人工智能
腾视科技AI1 小时前
私有云时代来临:AI NAS如何重塑你的数字生活?
人工智能·科技·nas·ai算力模组·ai模组·ai边缘算力模组·ainas
killerbasd1 小时前
总结 6.1
算法
AI猫站长1 小时前
快讯|地瓜机器人旭日S600 560TOPS算力平台适配自变量具身基础模型,蚂蚁灵波与简智联合研发专属数采设备,龙旗工厂智元机器人8小时作业成功率99.5%
大数据·人工智能·机器学习·机器人·具身智能
踏着七彩祥云的小丑1 小时前
AI学习——Gradio快速界面
人工智能·学习·ai
腾视科技AI1 小时前
部署“人工智能+” 推动一二三产业向智能化跃迁
人工智能·科技·百度·ai算力模组·ai模组·ai边缘算力模组
星纬智联技术1 小时前
AI搜索引擎引用逻辑正在重构:企业内容策略的信任信号构建与监控方法论
人工智能·aigc·geo