高维数据的降维/特征选择决策框架
R — 原文 (Reading)
"在高维情形下出现的数据样本稀疏、距离计算困难等问题,是所有机器学习方法共同面临的 严重障碍,被称为'维数灾难'(curse of dimensionality)。缓解维数灾难的一个重要途径 是降维(dimension reduction)。"
— 周志华《机器学习》第10章10.1-10.2节
"L1 范数和 L2 范数正则化都有助于降低过拟合风险,但前者还会带来一个额外的好处: 它比后者更易于获得'稀疏'(sparse)解……基于 L1 正则化的学习方法就是一种嵌入式特征 选择方法,其特征选择过程与学习器训练过程融为一体,同时完成。"
— 周志华《机器学习》第11章11.4节
I — 方法论骨架 (Interpretation)
高维不是"特征太多"一个数字问题,而是有效自由度可能远低于表观维度的结构问题——数据往往暗藏一个低维嵌入。整个决策框架是一条诊断链:
- 先诊断症状:最近邻与最远邻的距离比值趋近 1(距离集中)、样本密度骤降——命中即宣告 kNN 类方法失效,别再调参硬扛。
- 再问本质维度在哪:任务相关的信息若集中在少数方向→线性路线(PCA:既可理解为"最大可分投影"也可理解为"最小重构误差",两种相反直觉推出同一方法是根基稳固的信号);若沿弯曲流形分布→流形路线(Isomap 用测地线代替直线距离,警惕噪声桥接造成短路);若全局结构光滑但非线性→核化(KPCA)。
- 特征选择是另一条腿:过滤法快而粗糙,包裹法准而昂贵,嵌入式(L1)把选择并入训练。注意贪心搜索注定局部最优,LVW 型随机搜索在限时下可能无解。
- 高维小样本必正则化:p≫n 时普通最小二乘秩亏、闭式解失效、系数爆炸——正则项不是可选项。L1 的菱形等值线让解落在坐标轴上从而自动完成特征选择。
- 两处视角升级:(a) 与其找空间不如直接学距离——度量学习把反复手调的相似度权重参数化为马氏矩阵端到端学;(b) 信息不全的任务先找"稀疏域"再谈恢复——压缩感知/矩阵补全证明欠定方程因稀疏先验起死回生。
A1 — 书中的应用 (Past Application)
案例 1: 虫子爬 S 形曲面 — 测地线动机 (c28)
- 问题: 一只虫子在 S 形曲面上爬行,曲面上的两点间"本真距离"是什么?
- 方法论的使用: 作者指出欧氏直线距离是"抄近路"穿过三维空间,不是虫子贴面爬行的测地线;流形学习的做法是用近邻图上的最短路近似测地线,再在低维还原。
- 结论: 数据沿弯曲流形分布时线性 PCA 会破坏拓扑,需走流形路线;且要警惕噪声点桥接环两侧造成"短路"。
- 结果: 该类比成为 Isomap 动机的标准传播载体,也构成"线性不行→全局核化还是局部流形"分流点的直觉基础。
案例 2: L1 vs L2 等值线图解 (c29)
- 问题: 为什么 L1 比 L2 更容易产生稀疏解?
- 方法论的使用: 作者用等值线图说明:L1 的菱形约束边界有尖角,与损失等值线的交点容易落在坐标轴上(分量恰为 0);L2 的圆滑边界交点多在象限内(稠密收缩)。
- 结论: 求解过程本身就是特征选择;但也暗示 L1 不总产稀疏解,不能当口诀用。
- 结果: 该图解成为"想要自动特征选择选哪种罚"的标准回答。
案例 3: 网上书店评分矩阵补全 (c30)
- 问题: 用户只对极少数书评过分,《笑傲江湖》的评分能否被恢复?
- 方法论的使用: 作者引入压缩感知视角:评分由少数题材因素驱动 → 矩阵低秩稀疏 → 只需 O(mr·log²m) 个观测即可完美恢复。
- 结论: 恢复可行性取决于真实稀疏度(背后自由度)而非填答率本身。
- 结果: 该案例把"从部分恢复全体"抽象成可迁移模板:问卷填补、推荐系统、传感器缺失都先问"信号在哪个域稀疏"。
A2 — 触发场景 (Future Trigger) ★
用户会在什么情境下需要这个 skill?
- n=200、p=20000 的基因/文本数据,不知道第一步该降维、选特征还是直接上带正则的模型。
- kNN 或聚类在 d=5000 的数据上表现忽好忽坏,怀疑距离出了问题。
- PCA 降出来的主成分解释不了业务含义,或 95% 方差阈值定的维数总显得太大。
- 数据沿环形/S 形等弯曲结构分布,PCA 压成一团乱麻。
- 推荐系统/问卷有大量缺失值,想判断能否补全以及怎么补。
- 把颜色、星期几这类无序/循环属性 label_encode 成整数喂给模型,指标反而变差。
语言信号 (用户的话里出现这些就应激活)
- "curse of dimensionality / 维数灾难 / 高维小样本 / p much larger than n"
- "PCA 之后效果变差 / 主成分看不懂 / 该保留几个成分?"
- "feature selection 怎么做 / 特征太多想删一些"
- "Isomap / LLE / t-SNE 和 PCA 有什么区别该用哪个"
- "评分矩阵缺很多能不能补全 / matrix completion"
与相邻 skill 的区分(定稿口径)
- 与
ml-diagnosis的区别(depends-on 单向): 高维小样本下的"训练精度 100%/R²=0.95"是过拟合红旗(x43/x15),其归因(方差主导、秩亏)由 diagnosis 的偏差-方差框架给出;本 skill 接手之后的降维/特征选择/正则化处置。先确认红旗性质,再走结构路线。 - 与
ml-pitfall-audit的区别:审计 skill 问"完美表现是不是信息泄露"(x43/x15 高维小样本红旗);本 skill 在确认问题真实后给出完整的降维/选特征执行路径。 - 与
ml-theory-compass的区别:理论罗盘讲 PCA 双视角背后的认识论(两种直觉汇聚=根基稳固);本 skill 是工程落地版,输出具体技术选型。 - 与
ml-imbalanced-learning的区别:那是类别比例失衡的判决失真;本 skill 管高维结构问题——两者症状都可能是"指标不对劲",按信号分岔。
E — 可执行步骤 (Execution)
当 skill 被激活后, agent 应按以下步骤执行:
症状体检
- 完成标准: 报告两个可观测信号——(a) 最近邻/最远邻距离比值是否趋近 1;(b) 样本量与维数的比值。任一命中即确认维数灾难,进入下一步;均未命中则此 skill 不适用。
属性类型审查
- 完成标准: 列出各特征的类型——有序属性连续化、无序属性 one-hot(禁止 label_encode 制造伪序)、循环属性 sin/cos 双编码;距离计算场景无序属性改 VDM。
- 判停条件: 若发现伪序污染是当前主要问题源,修复后先复测再决定是否继续降维流程。
选主线
- 完成标准: 给出明确选路与依据——目标是预测性能且要可解释的特征子集→特征选择三式之一(预算紧选过滤、标注贵选嵌入式 L1);目标是可视化/去噪/压缩→降维(线性结构 PCA、弯曲流形 Isomap/LLE、全局光滑非线性 KPCA);p≫n 回归→默认加罚(需稀疏选 L1)。声明所选路线的已知局限(贪心搜索局部最优、包裹法开销、LVW 可能无解)。
定维数并验证
- 完成标准: 维数不用单一阈值拍板——报告碎石图肘部或以下游小学习器交叉验证效果定 d′;同时检查删掉的特征里有没有"中间概念"型冗余特征(如"底面积"之于"体积"),有则保留。
输出残留风险声明
- 完成标准: 注明——流形方法的短路/断路风险、L1 不总产稀疏解、度量学习需要约束标注成本。
B — 边界 (Boundary) ★
不要在以下情况使用此 skill
- 维度适中(几十以内)且模型表现正常——降维纯属浪费信息。
- 主要矛盾是类别不平衡或评估设计——那是其他 skill 的辖区,混着治会掩盖真因。
- 业务方明确要求保留全部原始特征的合规场景(如信贷风控监管要求)——此时只能做正则化不能删列。
作者在书中警告的失败模式
- kNN 高维失效 (x38): 近邻与远邻距离趋同,"近邻"概念崩塌——先降维再谈 k 值。
- 特征选择两坑 (x40): 丢掉弱边际相关但强交互的特征会封死后续上限;删"冗余"特征可能删掉了中间概念反而坏事。
- 贪心宿命 (x41): 前向/后向/双向搜索都躲不开局部最优——两套流程给出交集很小的子集时,比稳定性而非信单次结果。
- LVW 无解 (x42): 拉斯维加斯框架限时下可能永远给不出合格解——deadline 场景必须设计蒙特卡洛兜底。
- 高维小样本裸跑必翻车 (x43, 含 x15): X^T X 不满秩→闭式解失效、解凭实现细节随机、系数量级巨大符号不稳;R²=0.95 是过拟合红旗而非捷报。
- 距离误用 (x37): 对无序属性硬算闵氏距离制造伪几何;"相似度"可以有意违反直递性服务语义(人马非度量距离 c26)。
- 伪序陷阱 (x14): 无序属性连续化引入虚假序关系,聚类/回归学到伪结构——one-hot 或 VDM 修复。
作者的盲点 / 时代局限
- 未覆盖深度时代的表示学习默认答案(autoencoder、预训练 embedding 已在很多场景替代手工降维);t-SNE/UMAP 等可视化工具书中缺席。
- 流形学习部分未讨论其在高噪声真实数据上普遍脆弱的后续实证。
容易混淆的邻近方法论
- 降维 vs 特征选择: 降维造新特征(不可读),特征选择挑原特征(可读、可合规审计)——按"要不要可解释性"先分岔再进本框架。
- PCA 双视角: "最近重构"与"最大可分"两条推导等价,但实操定维数时对应不同工具(重构误差肘部 vs 方差贡献率)——混用会导致维数确定逻辑不自洽。
相关 skills
- depends-on: ml-diagnosis(高维小样本红旗的偏差-方差归因在前;本 skill 出结构处置方案)
- contrasts-with: ml-theory-compass(f32 PCA 双视角的认识论面 vs 工程执行面), ml-pitfall-audit(问 6 泄露审查 vs 确认后的降维执行)
- composes-with: ml-bayesian-thinking(生成式假设同样受维数灾难制约;正则化/稀疏与结构风险同源——L1 偏好稀疏即奥卡姆偏好的可计算版)
审计信息
- 验证通过: V1 ✓ / V2 ✓ / V3 ✓
- 素材单元: f13, f30, f31, f32, f33, f34, f36, f37 / c28, c29, c30, c26 / x38, x40, x41, x42, x43, x37, x14
- skill_version: 0.0.1
- 蒸馏时间: 2026-08-24