主成分分析(PCA, Principal Component Analysis)

1. PCA 是干什么的?

PCA 是一种“数据降维”工具。它的核心思想是:

把复杂的数据变简单:比如你有 10 个维度的数据,PCA 可以帮你找到最重要的 2-3 个维度,同时尽量保留原始数据的信息。

去掉冗余信息:如果某些数据维度是重复的(比如身高和体重可能高度相关),PCA 可以帮你去掉这些冗余。

2. 举个例子

假设你有一堆学生的成绩数据,包括:

数学成绩

物理成绩

化学成绩

英语成绩

历史成绩

这些数据有 5 个维度(数学、物理、化学、英语、历史),但你可能发现:

数学和物理成绩高度相关(数学好的物理也好)。

英语和历史成绩也高度相关(英语好的历史也好)。

PCA 的作用就是:

把 5 个维度压缩成 2 个新的维度(比如“理科能力”和“文科能力”)。

这样你只需要看“理科能力”和“文科能力”这两个维度,就能大致了解学生的成绩情况。

3. PCA 的核心思想

PCA 的核心是找到数据中变化最大的方向(也就是最重要的信息),然后把这些方向作为新的维度。

具体步骤:
中心化数据:把数据调整到以 0 为中心(减去平均值)。

找方向:找到一个方向,使得数据在这个方向上的方差最大(也就是数据点在这个方向上分布最散)。

找第二个方向:找一个与第一个方向垂直的方向,且方差次大。

重复:直到找到足够多的方向(主成分)。

降维:只保留最重要的几个方向(主成分),丢掉其他的。

  1. PCA 的数学本质
    PCA 的数学本质是:

协方差矩阵:计算数据各个维度之间的关系。

特征值和特征向量:找到数据变化最大的方向(特征向量),以及这些方向的重要性(特征值)。

投影:把原始数据投影到这些新方向上,得到降维后的数据。

4. PCA 的实际应用

PCA 的应用场景非常多:

图像压缩:比如一张图片有很多像素点,PCA 可以帮你找到最重要的像素组合,减少数据量。

数据可视化:比如你有 10 维数据,PCA 可以帮你降到 2 维,方便画图。

去噪:PCA 可以去掉数据中的噪声,保留主要信息。

5. 举个具体例子

假设你有以下数据(2 维数据,方便理解):

学生 数学成绩 (X) 物理成绩 (Y)
A 80 85
B 60 65
C 90 95
D 70 75
PCA 的步骤:
中心化:减去平均值(数学平均 75,物理平均 80)。

A: (5, 5)

B: (-15, -15)

C: (15, 15)

D: (-5, -5)

找方向:发现数据在 (1, 1) 这个方向变化最大(数学和物理成绩高度相关)。

降维:把数据投影到 (1, 1) 这个方向上,得到新的 1 维数据:

A: 7.07

B: -21.21

C: 21.21

D: -7.07

这样,原本 2 维的数据就变成了 1 维,同时保留了主要信息!

6. 总结

PCA 的作用:降维、去冗余、可视化、去噪。

PCA 的核心:找到数据变化最大的方向(主成分),用这些方向表示数据。

PCA 的优点:简化数据,减少计算量,同时尽量保留原始信息。

看完上面的有的同志要问了 什么是什么是投影????方向怎么算的,下面一 一说明:

方向计算:

(1, 1) 这个方向变化最大”是怎么算出来的??其实方向就是数据分布最“散”的方向,也就是方差最大的方向

计算协方差矩阵公式为:
在这里插入图片描述
其中:

Var(X)
Var(X) 是 X 的方差。
Cov(X, Y)
Cov(X, Y) 是 X 和 Y 的协方差。

方差:Var(X)= 125 Var(Y)=125
协方差:Cov(X, Y)=125

所以协方差矩阵为:

[
125 125
125 235
]

特征值分解

协方差矩阵的特征值和特征向量描述了数据变化的方向和大小。

特征值:表示数据在某个方向上的方差大小。

特征向量:表示数据变化的方向。

计算特征值和特征向量:λ1=250,λ2= 0.
特征向量:λ1=250是【1,1】(即 (1, 1) 方向)。
对应
𝜆2=0 的特征向量是【-1,1】

选择主成分

最大的特征值对应的特征向量就是数据变化最大的方向。
λ1=250是最大的特征值,对应的特征向量也就是 (1, 1) 方向。为什么是 (1, 1) 方向?因为数据在 (1, 1) 方向上变化最大,因为数学和物理成绩高度相关,数据点沿着 (1, 1) 方向分布最散。

投影:

投影就是把一个点“映射”到某个方向(直线)上。比如:

你有一个点 (5, 5),方向是 (1, 1)。

把这个点投影到 (1, 1) 方向上,就是找到这个点在 (1, 1) 这条直线上的“影子”。
投影的计算公式是:投影值= 方向向量的长度/数据点⋅方向向量.

具体步骤:

数据点:比如 (5, 5)。

方向向量:比如 (1, 1)。

点积:计算数据点和方向向量的点积。

方向向量的长度:计算方向向量的长度(模)。

投影值:用点积除以方向向量的长度。

具体例子

以数据点 (5, 5) 和方向 (1, 1) 为例:
步骤 1:计算点积,点积=5×1+5×1=10
步骤 2:计算方向向量的长度=在这里插入图片描述
步骤 3:计算投影值
在这里插入图片描述
所以,数据点 (5, 5) 投影到 (1, 1) 方向上的值是 7.07。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃肉又吃蒜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值