M2-057M2: Classical Machine LearningDimensionality ReductionEasy
Mastery:
Dimensionality Reduction: 解释 PCA 的目标与实现步骤。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 找方差最大的正交方向;对中心化数据做协方差特征分解或 SVD,取前 k 个主成分。
📌 Key Takeaways
- •主成分正交且按方差降序
- •需先中心化(标准化视量纲而定)
📐 Mathematical Derivations
PCA 的目标是找一组正交方向,使数据投影后的方差最大(等价于<strong>重构误差最小</strong>——两者由勾股定理等价)。推导:设投影方向 w(‖w‖=1),投影后方差为 wᵀΣw,最大化它(带约束)用拉格朗日法得 Σw=λw——即 <strong>w 是协方差矩阵的特征向量,λ 是方差</strong>。故取 Σ 的前 k 大特征值对应的特征向量即前 k 个主成分。<strong>实现步骤</strong>:① 中心化(每列减均值)——必须,因为 PCA 找的是'过原点'的方向,不中心化会把均值偏移误当方差;② 计算协方差矩阵 Σ=XᵀX/n(或直接用 SVD);③ 特征分解或 SVD 得特征向量与特征值;④ 取前 k 个特征向量作为投影矩阵;⑤ 投影降维。<strong>SVD 路径</strong>:X=UΣVᵀ 中,右奇异向量 V 即主成分方向,奇异值平方/n 即方差——数值上更稳定(避免显式构造协方差矩阵),是实际实现的首选。
🏭 Production Trade-offs
实践要点:① <strong>是否标准化</strong>——若各特征量纲不同(如身高 cm 与体重 kg),必须标准化,否则方差大的特征主导主成分;若量纲相同或已知重要性差异,可只中心化。② <strong>中心化 vs 标准化</strong>——中心化是<strong>必须</strong>的(否则第一主成分会指向均值方向);标准化是<strong>视情况</strong>的(会改变各特征权重)。③ <strong>主成分的解释性</strong>——主成分是原始特征的线性组合,通常难以解释(除非做稀疏 PCA/旋转);这是 PCA 相对特征选择的主要缺点。④ <strong>方差 ≠ 重要性</strong>——低方差方向可能对分类很关键(如区分两类的那一维恰好方差小),故无监督的 PCA 不一定适合有监督任务;此时应改用 LDA(有监督降维)或特征选择。⑤ <strong>核 PCA</strong>——用核技巧做非线性降维;但需注意核 PCA 无法直接给出新样本的映射(无 out-of-sample 扩展),这是它相对自编码器的劣势。⑥ <strong>随机化 SVD</strong>——大数据上用随机化算法加速(sklearn 的 <code>randomized</code> solver)。
⚠️ Common Interview Pitfalls
- ✕不做中心化直接做 PCA
- ✕在量纲不同的特征上不标准化
🎯 Interviewer Follow-ups
- ?为什么 PCA 要中心化?
- ?是否应该标准化?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.