COMP5318 Week 06 支持向量机与降维(PCA)讲课总结
COMP5318 W06 考点速成:SVM 与 PCA
用时约 15 分钟。必考:间隔
、核函数代入、软间隔 C 的作用、PCA 保留方差比例、PCA 前要缩放。对应 PE1 Q14–Q17,PE2 Q14–Q17。
一、知识点
1. 线性 SVM
flowchart LR
P["+1 类支持向量<br/>w·x+b = +1"] ---|"1/‖w‖"| H["决策面<br/>w·x+b = 0"]
H ---|"1/‖w‖"| N["−1 类支持向量<br/>w·x+b = −1"]
P -.->|"整个间隔 2/‖w‖"| N
- 标签
;决策边界 ,分类 。 - 两个支持平面
,落在上面的点是支持向量。
- 选最大间隔超平面:间隔大 → 对扰动更稳健、泛化更好(structural risk minimisation)。
- 硬间隔:
,约束 (所有样本分对且在间隔外)。 - 对偶解
;只有支持向量的 ,边界只由它们决定。训练和预测里数据只以点积出现。
2. 软间隔
| C | 效果 |
|---|---|
| 大 C | 违例惩罚更重 → 间隔窄、易过拟合(但有限的 C 仍允许违例) |
| 小 C | 更看重宽间隔 → 正则更强、可能欠拟合 |
RBF 核的 gamma 大 → 每个点影响范围小 → 边界弯曲、易过拟合。过拟合时减小 C 或 gamma。
3. 核技巧
- 把数据映射到高维
更可能线性可分;核函数直接给出高维内积 ,不必显式算。 - 原空间里得到的是非线性边界。
- 例:
⇒ 。 - 常用核:多项式
;RBF(sklearn 默认);tanh(只有部分参数满足 Mercer 定理)。 - 先试线性核,再试 RBF。SVM 对尺度敏感,要先缩放。
4. PCA
flowchart LR
A["原始特征"] --> B["缩放(只在训练集 fit)"]
B --> C["求主成分:正交、按方差降序"]
C --> D["累计方差比例 ≥ 阈值的最小 k"]
D --> E["投影到前 k 个主成分 = 新特征"]
- 无监督、线性;找一组两两正交的新轴(主成分),按方差从大到小排列;主成分是原特征的线性组合。
- PCA 是坐标变换,降维是只保留前
个方向;不是挑原始列(那是特征选择)。 - 选
:① 累计方差比例 ≥ 阈值(如 95%);② 肘部法(主观)。
- PCA 由方差驱动 → 换单位会改变结果 → 先缩放;scaler 和 PCA 都只在训练集上 fit。
- SVD:
,的列 = 主成分, = 奇异值(降序), = 新坐标。压缩比 。 - 用途:降维、特征提取(人脸 1-NN:原始像素 27% → PCA 100 维 36%)、压缩、可视化。
二、考点
- ★★★ 间隔计算:
→ ;别把单侧的 当成全宽。 - ★★★ 核函数代入:先算点积,再套公式。
- ★★★ 累计方差比例:找满足阈值的最小
。 - ★★ 核技巧为什么不用存映射后的向量(只需内积);C 变大惩罚更重。
- ★★ PCA 前缩放;PCA 是坐标变换不是选列。
三、题目
Q1(PE1 Q14) 硬间隔 SVM,
,间隔 0.40。0.20 是决策面到一侧的距离。
Q2(PE2 Q14)
点积
, 49。
Q3(PE1 Q15) 核 SVM 为什么可以不显式存每个映射后的特征向量?
它的优化和预测只用到内积,而核函数直接给出这些内积。
Q4(PE2 Q15) 软间隔 SVM 把 C 调大,目标函数有什么变化?
对间隔违例的惩罚更重。有限的 C 不会一般性地禁止所有违例。
Q5(PE1 Q16) 两个测量单位差别很大,PCA 前做缩放为什么会改变第一主成分?
PCA 由方差驱动,换单位改变了各特征的相对方差。PCA 不用类别标签。
Q6(PE2 Q16) 有同学说「PCA 就是挑出几列原始特征」,最准确的纠正?
PCA 是一次线性坐标变换;降维是在新坐标系里保留部分方向。
Q7(PE1 Q17) 4 个主成分方差 9、5、4、2,保留 ≥ 85% 方差最少要几个?
总和 20;前 2 个 70%,前 3 个 90% → 3 个,保留 90%。
Q8(PE2 Q17) 3 个主成分方差 12、6、2,保留 ≥ 90% 最少几个?
前 1 个 60%,前 2 个 18/20 = 90%,恰好达到 → 2 个。
Q9(自拟) 删除所有非支持向量后重新训练硬间隔 SVM,边界会变吗?
不变。非支持向量的
,不影响 和 。
Q10(自拟) RBF-SVM 训练准确率 100%、测试准确率很低,C 和 gamma 应该怎么调?
这是过拟合,减小 C 或减小 gamma,让边界更平滑。