1602PCA的数学直觉与信息保留
📌 一、 课程导入(5分钟)
回顾上节课(1601):
- 我们学会了用PCA将高维数据降到2维,画散点图观察数据结构。
- 我们知道
explained_variance_ratio_可以告诉我们每个主成分保留了多少信息。
核心疑问:
上节课我们直接用了 PCA(n_components=2),相当于“硬性指定”降维维度。
但问题来了:
- 为什么第一主成分总是“最重要”的?(为什么它的方差比例最大?)
- 如果不知道降几维,我们怎么科学地决定?(总不能每次都瞎猜吧?)
explained_variance_ratio_输出了一串数字(如[0.92, 0.05, 0.02, 0.01]),但这一串数字怎么解读?为什么加起来等于1?
本节课定位:
上节课我们“用了”PCA,本节课我们“读懂”PCA——理解PCA的几何直觉,学会用碎石图和累计曲线科学选择降维维度。
展示“成品”:
课前准备:在屏幕上展示两张图——
- 图1:鸢尾花数据的碎石图(Scree Plot)——横轴是主成分序号(1, 2, 3, 4),纵轴是每个主成分的方差比例(0.92, 0.05, 0.02, 0.01)。柱状图清晰显示“第一根柱子特别高,后面三根像小土坡”。
- 图2:累计方差曲线——从0.92开始,累计到0.97,到0.99,到1.00。曲线快速上升后趋于平缓。
提问:
- “从碎石图你能看到什么?”(答案:第一主成分贡献最大)
- “从累计曲线你能判断应该取几个主成分?”(答案:2个就够了,因为累计已经97%了)
- 👨🏫 教师活动:
- 展示上节课提到的鸢尾花数据的
explained_variance_ratio_数组[0.92, 0.05, 0.02, 0.01]。 - 指着数组提问:“0.92是什么意思?0.05是什么意思?为什么加起来正好等于1?”
- 引导学生回答:“0.92代表第一主成分保留了92%的信息……所有主成分的信息加起来就是100%。”
- 展示上节课提到的鸢尾花数据的
- 🧑🎓 学生活动:
- 观察碎石图和累计方差曲线的视觉对比。
- 讨论:“如果前2个主成分已经保留了97%的信息,第3个和第4个还有必要保留吗?”
通过视觉化的“碎石图”和“累计曲线”,让学生立刻抓住两个核心概念:“每个主成分的贡献”和“累积贡献”。用“柱子高度”和“累计爬坡”两个直观意象,为后续的数学直觉建立感性基础。
📖 二、 解决问题过程(一):PCA的几何直觉——投影(15分钟)
1. 什么是“投影”?——用“影子”来理解
想象一个三维空间中的球体(比如一个篮球),有一束平行光从侧面照射它:
- 球体在墙上的影子是一个圆形(二维)。
- 投影就是三维物体→二维影子的过程。
PCA做的是同样的事情:
- 原始数据:高维空间中的点(比如4维的鸢尾花数据)。
- 投影:将这些点“垂直照射”到一条直线(第一主成分)或一个平面(前两个主成分)上。
- 降维结果:每个点在主成分轴上的坐标值。
2. 二维→一维的投影(最直观的理解)
在二维平面上有一些点(用(x, y)表示),PCA找了一条直线(主成分),然后将每个点垂直投影到这条直线上。
- 投影前:每个点需要2个数字描述(x和y)。
- 投影后:每个点只需要1个数字描述(在直线上的位置)。
关键观察:
- 如果直线方向选得好(沿着数据拉得最开的方向),投影后的点依然能区分开(方差大)。
- 如果直线方向选得不好(垂直于数据拉得最开的方向),投影后的点全部挤在一起(方差小)。
3. 为什么“投影后区分度”=“方差大”?
回到上节课的“集体照”类比:
- 方差大(投影后点分散):你可以清楚分辨每个人——信息保留得多。
- 方差小(投影后点挤在一起):你分不清谁是谁——信息丢失得多。
PCA的目标:找到那个“投影后点最分散”的方向——这就是第一主成分。
4. 主成分的数学含义(职高适配版)
| 主成分 | 含义 | 在鸢尾花数据中的表现 |
|---|---|---|
| 第一主成分(PC1) | 数据最分散的方向 | 占了92%的方差 → 这一条线就几乎概括了全部数据 |
| 第二主成分(PC2) | 与PC1垂直、第二分散的方向 | 占了5%的方差 → 增加了一点区分度 |
| 第三主成分(PC3) | 与PC1、PC2垂直、第三分散的方向 | 占了2%的方差 → 基本是“噪音” |
| 第四主成分(PC4) | 剩余方向 | 占了1%的方差 → 几乎可以忽略 |
核心结论:PC1是“信息最丰富”的方向,PC2次之,越往后信息越少。降维就是只保留信息最丰富的前几个方向,放弃信息量极少的后几个方向。
- 👨🏫 教师活动:
- 在黑板上画一个散点图(二维),再画一条穿过数据的斜线。
- 用手比划“垂直投影”的动作——将每个点垂直“拍”到线上。
- 画第二条线——垂直方向的线,把点投影上去,显示投影后的点“挤在一起”。
- 对比两条线的投影效果,提问:“哪个方向更好?”
- 🧑🎓 学生活动:
- 在纸上画5个散点,尝试画一条线,想象把点“拍”到线上的效果。
- 讨论:“如果线画歪了,投影后点挤在一起,说明什么?”(答案:这个方向信息量小)
通过“球体的影子”和“垂直投影”两个几何类比,将PCA中抽象的“投影”操作转化为可想象的空间动作。用“画线→投影→观察分散程度”的手动操作,帮助学生建立“方差最大=信息最多”的几何直觉。
💻 三、 解决问题过程(二):碎石图——看每个主成分的贡献(20分钟)
1. 什么是碎石图(Scree Plot)?
碎石图 = 将每个主成分的
explained_variance_ratio_按顺序绘制成柱状图或折线图。
为什么叫“碎石图”?
- Scree在英文中指“山脚下的碎石堆”。
- 图形特征:第一根柱子最高(山峰),后面的柱子像碎石一样越来越矮。
- 观察“从哪里开始变成碎石”,就是选择主成分数量的依据。
2. 代码实现——绘制碎石图
3. 图形解读(重点!)
左侧碎石图(柱子高度):
- PC1的柱子最高(0.92)—— 这一个方向占了92%的信息。
- PC2的柱子明显变矮(0.05)—— 只有5%。
- PC3和PC4几乎贴地(0.02, 0.01)—— 基本是“碎石”。
- 判断方法:找到“柱子突然变矮”的位置,从那里开始就是“碎石”,舍弃。
右侧累计曲线(上升过程):
- 从PC1到PC2:曲线从0.92升到0.97(快速上升)。
- 从PC2到PC3:曲线从0.97升到0.99(缓慢上升)。
- 从PC3到PC4:曲线从0.99升到1.00(几乎不动)。
- 判断方法:找到“曲线从快速上升变为平缓”的位置——这就是“肘点”。
4. 碎石图 vs 累计曲线:两种视角,一个结论
| 工具 | 看什么 | 怎么用 |
|---|---|---|
| 碎石图 | 每个主成分的个体贡献 | 观察柱子高度,找“断崖式下降”的位置 |
| 累计曲线 | 前k个主成分的累计贡献 | 观察曲线,找“由陡变缓”的肘点 |
两者结合使用,结论相互验证。 在鸢尾花数据中,两者都指向K=2。
- 👨🏫 教师活动:
- 运行代码,展示两张子图。
- 指着左侧碎石图提问:“从第几个柱子开始,高度明显变小了?”
- 指着右侧累计曲线提问:“曲线在哪个位置从‘陡’变‘缓’了?”
- 引导学生得出统一结论:“两个图都指向K=2。”
- 🧑🎓 学生活动:
- 在本地运行代码,观察两张图。
- 记录自己判断的“拐点”位置。
- 对比两个图给出的结论是否一致。
通过“一张图的两个视角”——柱状图看个体、折线图看累计,让学生掌握两种互补的分析工具。并排对比的设计让学生直观感受到:不同工具指向同一结论时,这个结论就很可靠。
✍️ 四、 解决问题过程(三):动手实验——用碎石图分析不同数据集(20分钟)
📝 五、 课堂小结(5分钟)
flowchart LR
root["📊 无监督学习(七):PCA的数学直觉"]
subgraph C1["📐 投影的几何直觉"]
direction TB
A1["数据点垂直'拍'到主成分轴上"]
A2["投影后分散 → 方差大 → 信息多"]
A3["投影后聚集 → 方差小 → 信息少"]
end
subgraph C2["📊 碎石图(看个体)"]
direction TB
B1["每个主成分的方差比例"]
B2["柱子高度 = 信息量"]
B3["找'断崖'——突然变矮的位置"]
end
subgraph C3["📈 累计曲线(看整体)"]
direction TB
C1_node["前k个主成分的累计方差"]
C2_node["找'肘点'——由陡变缓的位置"]
C3_node["确定最优降维维度"]
end
subgraph C4["🎯 核心结论"]
direction TB
D1["降维维度不靠猜 —— 碎石图/累计曲线说了算"]
D2["降维效果取决于数据冗余度"]
end
root --> C1
root --> C2
root --> C3
root --> C4
style root fill:#6a1b9a,stroke:#4a148c,color:#fff
style C1 fill:#e3f2fd,stroke:#2196f3
style C2 fill:#fff3e0,stroke:#ff9800
style C3 fill:#e8f5e9,stroke:#4caf50
style C4 fill:#f3e5f5,stroke:#9c27b0
✏️ 随堂检测与互动练习
📮 六、 课后作业与拓展
📋 七、 板书设计
本课用到的单词
| 单词 | 发音 | 专业英语解释(中文) |
|---|---|---|
| Projection | /prəˈdʒekʃən/ | 投影。将数据点垂直映射到低维空间的操作,是PCA的核心几何步骤。 |
| Scree Plot | /skriː plɒt/ | 碎石图。显示每个主成分方差比例的柱状图,用于判断主成分数量。 |
| Cumulative Variance | /ˈkjuːmjələtɪv ˈveriəns/ | 累计方差。前k个主成分的方差比例之和,用于评估降维的信息保留程度。 |
| Elbow Point | /ˈelboʊ pɔɪnt/ | 肘点。累计方差曲线从快速上升变为平缓的转折点,对应最优降维维度。 |
| Principal Component | /ˈprɪnsəpəl kəmˈpoʊnənt/ | 主成分。PCA降维后生成的新的综合特征,按方差大小排序。 |
| Explained Variance Ratio | /ɪkˈspleɪnd ˈveriəns ˈreɪʃioʊ/ | 解释方差比例。每个主成分所保留的原始数据信息百分比。 |