PCA
1. 核心目的
- 以少胜多:用最少的维度(特征),保留原始数据中最重要的信息。
2. 核心假设(PCA 的世界观)
-
方差 = 信息:PCA 认为,数据变化越大(方差越大)的方向,包含的信息越多;反之,如果数据在某个方向上一动不动,那个方向就是无用的(或噪声)。
数据挤在一起 = 没有信息:如果全班同学的数学成绩都是 90 分(数据不分散),那“数学成绩”这个特征就没法用来区分好学生和差学生,它就是无用的。
数据分散 = 信息丰富:如果成绩从 30 分到 100 分都有(数据很分散),这个特征就非常有价值。
-
线性关系:PCA 假设数据的主要特征是可以通过线性的坐标旋转找到的。
3. 运作逻辑(三步走)
- 换视角(坐标变换):不再沿用原来的 x, y, z 轴,而是重新建立一套坐标系。
- 找主次(最大方差):
- 第一主成分 (PC1):找到数据拉得最长、波动最大的方向。
- 第二主成分 (PC2):在与 PC1 垂直(正交)的方向中,找波动最大的。
- (以此类推,保证新特征之间互不干扰/无相关性)
- 做减法(投影截断):保留排在前面的几个主成分(比如前 2 个),把后面那些波动很小的主成分直接丢弃。
示例
| 学生 | 数学 (x) | 物理 (y) | 特点 |
|---|---|---|---|
| A | 2 | 3 | 学渣 |
| B | 3 | 4 | 也是学渣 |
| C | 5 | 5 | 普通人 |
| D | 8 | 7 | 学霸 |
| E | 9 | 8 | 超级学霸 |
第一步:中心化 (移到原点)
PCA 不喜欢处理偏离原点的数据。我们算出平均分(数学 5.4,物理 5.4),然后把所有人的分数减去平均分。
- 目的:让数据的中心变成 $(0,0)$,方便旋转坐标轴。
- 效果:C 同学变成了 $( -0.4, -0.4)$,接近原点。
| 学生 | 新数学 (x′) | 新物理 (y′) | 含义解读 |
|---|---|---|---|
| A | -3.4 | -2.4 | 比平均分低很多 (都在第三象限) |
| B | -2.4 | -1.4 | 比平均分低一些 |
| C | -0.4 | -0.4 | 非常接近原点 (0,0),代表普通人 |
| D | 2.6 | 1.6 | 比平均分高一些 |
| E | 3.6 | 2.6 | 比平均分高很多 (都在第一象限) |
第二步:找主成分 (寻找新坐标轴)
现在把这 5 个点画在图上。你会发现这些点并不是乱跑的,而是沿着一条斜线(左下到右上)排列。
因为数学和物理在这个例子里同等重要,且变化幅度相似,PCA 算出的方向向量大约是:
- 数学的权重 ($w_1$):0.71
- 物理的权重 ($w_2$):0.71
注:这两个数在数学上叫“特征向量”,且 $0.71^2 + 0.71^2 \approx 1$(单位向量)。
PCA 会自动找到两条新的坐标轴:
-
PC1(第一主成分):沿着数据分布最长的那条斜线。
-
$$PC1得分 = (\text{中心化数学} \times 0.71) + (\text{中心化物理} \times 0.71)$$
-
含义:这代表了“理科综合能力”。(分数高的一起高,低的描述一起低)。
-
方差:数据在这个方向上拉得很开(方差大),保留了 95% 的信息。
-
-
PC2(第二主成分):垂直于 PC1 的方向。
- 含义:这代表了“偏科程度”(比如数学比物理好多少)。
- 方差:数据在这个方向上波动很小(大家数学物理差值都不大),只占 5% 的信息。
第三步:投影与降维 (做减法)
现在我们决定从 2 维降到 1 维。 因为 PC1 包含了 95% 的信息,而 PC2 只有 5%(可能是因为那天考试状态的小波动),我们决定保留 PC1,扔掉 PC2。
我们将所有点垂直投影到 PC1 这条线上。
第四步:得到新数据(1维)
现在的学生数据不再是 $(x, y)$ 两个数了,而是一个新的数值 $z$(他们在 PC1 轴上的坐标)。
| 学生 | 中心化数学 (x′) | 中心化物理 (y′) | 计算过程 (投影) | 新数值 (z) | 状态 |
|---|---|---|---|---|---|
| A | -3.4 | -2.4 | $(-3.4 \times 0.71) + (-2.4 \times 0.71)$ | -4.12 | 低 |
| B | -2.4 | -1.4 | $(-2.4 \times 0.71) + (-1.4 \times 0.71)$ | -2.70 | 低 |
| C | -0.4 | -0.4 | $(-0.4 \times 0.71) + (-0.4 \times 0.71)$ | -0.57 | 中 |
| D | +2.6 | +1.6 | $(+2.6 \times 0.71) + (+1.6 \times 0.71)$ | +2.98 | 高 |
| E | +3.6 | +2.6 | $(+3.6 \times 0.71) + (+2.6 \times 0.71)$ | +4.40 | 极高 |
**为什么可以这样?**只要两个特征之间有很强的关系,PCA 就可以把它们合并成一个维度。