可解释性方法论 — 先问"解释给谁看、干什么用",再挑工具
R — 原文 (Reading)
(转述)Ribeiro 等指出:人们对模型的信任有两个层面——相信它在预测,与相信它能被部署;全局指标掩盖不了单个样本上不可理喻的行为。他们主张用局部忠实:在待解释样本邻域内拟合一个可理解的线性代理,以此近似黑箱在该点附近的决策依据(LIME)。
— Marco Ribeiro 等, ""Why Should I Trust You?": Explaining the Predictions of Any Classifier" (KDD 2016)
(转述)Lundberg 等把 Shapley 值从合作博弈论引入特征归因:把预测视为各特征的联合产出,按公理化公平原则(有效性/缺失性/一致性)将贡献唯一地分派给每个特征(SHAP),并给出与多种既有归因方法的统一视角。
— Scott Lundberg & Su-In Lee, "A Unified Approach to Interpreting Model Predictions" (NeurIPS 2017)
(转述)显著性图类方法(对输入求梯度并可视化)成为视觉模型解释的主流直觉工具;但后续研究反复提醒:梯度饱和、平滑选择等实现细节会让同一模型对同一样本给出截然不同的"解释",解释的稳定性本身需要检验。
— saliency map 方法族的社区共识(Simonyan 2014 起源;Adebayo 2018 等健全性检验)
I — 方法论骨架 (Interpretation)
可解释性不是一个属性,是三种不同的需求,混着谈必然选错工具:
- 信任动机(用户/业务方愿不愿意采纳):要的是"这个决定讲得通",个案级故事即可;
- 调试动机(开发者找模型哪里学坏了):要的是暴露异常模式——重要性排序里冒出不可能的特征(如病历号),就是数据泄漏或管道 bug 的信号;
- 合规审计动机(监管要求可申诉的决策):要的是稳定、有文档、可复现的解释,且方法本身经得起质证——这里事后解释的随意性是大问题。
选型的第一刀:内在可解释 vs 事后解释。若可解释是硬约束且精度代价可承受(信贷规则、医疗筛查初筛),直接用透明的模型族(线性/树/规则),解释即模型本身,无忠实度问题;若必须用黑箱(精度差距不可放弃),才进入事后解释工具箱。
事后解释三件套:
- LIME: 在目标样本邻域扰动采样、拟合稀疏线性代理——快、直观、任意模型可用,但每次结果有随机波动,适合快速个案侦查;
- SHAP: 博弈论分派的公理化归因——理论性质好(加和一致)、有统一实现,但计算贵、且"分派公平"不等于"特征在现实中起因果作用";
- saliency/反事实解释: 视觉场景看热力图,或问"改动哪个输入最少能翻转预测"——后者特别适合申诉场景("收入再高两万就会通过")。
正确用法与误用的分界线:全局重要性排序用于找数据与管道问题、校验模型是否依赖合理证据;个案解释用于申诉复核与人机协同。误用是把事后解释读成因果声明——"SHAP 说年龄贡献最大"只说明模型用了年龄,不说明改年龄会改变真实结果。高保真 vs 高可用的权衡贯穿全程:越忠实的解释往往越难懂(完整 SHAP 交互矩阵没人看得懂),越易懂的代理越可能失真——选型时必须声明你牺牲了哪一头。
A1 — 文献中的经典应用 (Past Application)
(本批主题超出西瓜书覆盖范围,A1 改引学界公认的经典案例与公开记录)
案例 1: LIME 论文的医生与雪狼问题
- 问题: 文本/图像分类器准确率很高,但用户无从判断它是在学语义还是在学捷径伪影;论文作者需要一个让非算法岗(如医生)也能逐案检查模型的手段。
- 方法论的使用: 对单张医学影像/单篇文档在邻域内扰动,训练稀疏线性代理,把"模型此刻在看哪里"翻译成人类可核对的证据。
- 结论: 个案级局部解释能揭示全局指标看不见的失败模式(模型盯住背景伪影而非病灶区域)。
- 结果: LIME 确立了"局部忠实代理"范式;同一论文还提出"挑选代表性子集做整体体检"的子模选择法,成为后来全局解释实践的雏形。
案例 2: SHAP 对既有归因方法的统一
- 问题: 当时特征归因五花八门(逐特征置换、梯度×输入、树路径贡献……),同一模型不同方法给出互相矛盾的重要性,从业者无所适从。
- 方法论的使用: Lundberg 证明这些方法可视为 Shapley 值在不同假设下的近似,并用公理(尤其"一致性":模型若更依赖某特征,其归因不应下降)作为评判标准。
- 结论: 满足公理的归因具有唯一形式,工程上有 TreeSHAP 使树模型精确计算可行。
- 结果: SHAP 成为工业界事实标准(主流框架内置输出);同时"一致性公理淘汰了一批会自相矛盾的旧归因"也确立了"解释方法本身要有理论标准"的行业预期。
案例 3: 显著性图的健全性危机
- 问题: 视觉社区广泛用梯度热力图说明"模型看哪里",直到有研究者质疑:这些图到底反映模型行为,还是主要反映输入与网络结构?
- 方法论的使用: Adebayo 等设计控制实验——把模型权重随机化、或换上随机标签重训,观察热力图是否随之崩坏;真正传递模型信息的解释应当对模型参数敏感、对无关变化不敏感。
- 结论: 部分流行方法在完全随机化的网络上仍输出貌似合理的显著图——这样的"解释"没有传达任何模型信息。
- 结果: 社区形成共识:解释方法需要像模型一样接受健全性检验;这直接写入本 skill B 段的鲁棒性警告,也是"高保真 vs 高可用"权衡的实证来源。
A2 — 触发场景 (Future Trigger) ★
用户会在什么情境下需要这个 skill?
- 用户训了一个黑箱模型(XGBoost/深度网络),业务方或导师追问"凭什么信它",需要一份说得出口的解释方案。
- 用户跑出 SHAP/LIME 后困惑:不同方法给出的特征重要性排序不一致,甚至同一种方法两次运行结果都不同——不知道该信谁。
- 用户处于强监管行业(信贷/保险/医疗),被要求"每个拒绝都要能解释",纠结黑箱+事后解释够不够格。
- 用户想借解释做调试:怀疑模型学了不该学的东西(捷径特征/泄漏信号),希望用重要性分析定位。
- 用户想把"特征重要性高"直接说成"该特征导致了结果"(例如拿 SHAP 报告指导业务干预),需要有人拦住这个滑坡。
语言信号 (用户的话里出现这些就应激活)
- "可解释性/explainability/interpretability"/"模型是个黑箱怎么解释"
- "SHAP/shapley/LIME 怎么选"/"两个方法的重要性排序不一样"
- "特征重要性为什么这么怪"/"feature importance"/"模型为什么这样预测"/"why this prediction"
- "** saliency**/热力图/attention 可视化靠不靠谱"
- "监管要解释/合规审计/申诉"/"每个决策都要能给客户讲清楚"
- "counterfactual explanation 反事实解释"/"surrogate model 代理模型"
与相邻 skill 的区分
- 与
ml-rule-learning的区别: rule-learning 是"模型本身可解释"的路线(if-then 规则即模型);本 skill 是对已选定的黑箱模型做事后解释。"要不要干脆换成透明模型"是两边交界处的选型问题——可解释为硬需求时先考虑那边。 - 与
ml-causal-inference的区别: 解释回答"模型用了什么",因果回答"现实里什么导致什么";事后解释的归因不是因果效应。用户拿着解释报告设计业务干预时,移交那边重新立项。 - 与
ml-diagnosis的区别: diagnosis 用偏差-方差归因"效果为什么不好";本 skill 的解释可以充当诊断的证据来源之一(重要性里出现泄漏特征 → 移交ml-leakage-defense深挖),但不负责效果归因本身。 - 与
ml-pitfall-audit的区别: audit 是上线前六问总审;本 skill 可作为 audit 中"模型依赖的证据是否合理"一问的工具箱。
E — 可执行步骤 (Execution)
当 skill 被激活后, agent 应按以下步骤执行:
动机定档
- 追问/判定解释的真实用途:信任采纳 / 开发调试 / 合规审计?受众是谁(算法工程师/业务方/监管)?
- 完成标准: 一句话卡——"解释服务于 X 动机,受众 Y,因此要求 Z(稳定性/易懂性/可申诉性)"。
- 判停条件: 用户其实想要的是"模型效果为什么差"的归因 → 移交
ml-diagnosis;用户在质疑数据是否有泄漏 → 直接走ml-leakage-defense。
路线第一刀
- 判断可解释是否硬约束、精度代价能否承受:能承受 → 建议透明模型族(衔接
ml-rule-learning/线性/GAM 类),结束事后解释讨论;不能 → 进事后解释流程。 - 完成标准: 选型理由写明(含被放弃选项与原因)。
- 判停条件: 用户选定透明模型路线 → 本 skill 使命完成,移交对应模型族 skill 施工。
- 判断可解释是否硬约束、精度代价能否承受:能承受 → 建议透明模型族(衔接
工具匹配
- 按模型类型与动机选:树模型 → TreeSHAP(精确高效);任意模型个案速查 → LIME(注意多次运行取稳健集合);视觉 → saliency(须配健全性抽检)+ Grad-CAM 族;申诉场景 → 反事实解释(给"怎样就能过"的最小改动);全局体检 → SHAP 汇总图 + 排序稳定性检查。
- 完成标准: 工具清单 + 每个工具在本场景的已知局限声明。
- 判停条件: 用户环境跑不动所选工具(计算/依赖不可行)→ 降级到次优可行组合并记录精度损失,不空谈理论最优。
执行与稳定性验证
- 跑所选解释;对关键结论做扰动复核:重复运行(LIME 的采样噪声)、换相邻样本(局部解释的外推范围)、随机化对照(saliency 是否随权重乱化而失效)。
- 完成标准: 给出"该解释在 X 扰动下保持/失去稳定"的结论;不稳定的解释降级为"仅供探索"并明示。
- 判停条件: 所有候选解释均不稳定且场景是合规审计 → 回步骤 2 重议透明模型路线,禁止拿不稳定解释交差。
交付纪律
- 全局层报重要性排序并标注用途(找数据问题/校验证据合理性);个案层给具体样本的归因或反事实建议;全文禁止因果措辞("因为/导致/提升 X 会带来 Y"),一律改为"模型依据/贡献分解"。
- 完成标准: 交付物含解释 + 局限声明 + "本解释非因果声明"的显式标注。
- 判停条件: 交付物将被用于对外因果宣传 → 拒绝签字并移交
ml-causal-inference重新立项;正常用途 → 流程结束。
B — 边界 (Boundary) ★
不要在以下情况使用此 skill
- 模型本身就是透明的(线性系数/单棵小树/规则集):解释已经内建,再套一层 LIME/SHAP 是脱裤子放屁,还会引入代理误差;此时的问题通常是"系数该怎么读",不需要本 skill。
- 目标是因果效应估计或业务干预决策: 事后解释不提供 do 层信息,请走
ml-causal-inference。 - 目标是提升模型精度: 解释不涨点;发现可疑模式后的修复工作属于特征工程/泄漏防御/诊断的范畴。
文献反复警告的失败模式
- 把事后解释当因果声明: "SHAP 显示收入最重要 → 提高客户收入就能降低违约"——归因描述的是模型的内部记账,不是世界的运行机制;干预问题只有因果工具能答。
- 相同样本不同解释: 同一样本上 LIME 多次运行、不同解释方法之间、甚至超参微调都会改变归因排序;只跑一次就下结论等于掷骰子(Ribeiro 自己在论文中列出的 LIME 固有不稳定性)。
- 显著性图的幻觉: 随机权重的网络也能产出结构清晰的显著图——好看的热力图不等于模型真的在看那里;未经健全性检验的热力图不得作为证据引用。
- 解释的对抗脆弱性: 已证明攻击者可以在不改变预测的前提下操纵解释内容;在对抗风险高的场景,解释不能承担安全职能。
- 平均重要性的误导: 全局排序把异质人群压成一个数字——模型可能对 A 人群用收入、对 B 人群用年龄;全局图之外要看分组解释。
作者盲点 / 时代局限(本批为外推补全)
- 必须声明: 本 skill 主题超出西瓜书覆盖范围——书中可解释性仅以决策树/线性系数/规则学习等"内在可解释模型"形态存在(见
ml-rule-learning),对黑箱模型的事后解释技术完全缺席;本 skill 是对该盲点的补全,素材为 2016-2023 交叉学科文献共识转述,方法论仍在快速演化(机械可解释性、基于大模型的自然语言解释等新方向尚未定型),执行时应核对最新进展。 - "可解释性"至今缺乏统一定义与度量: 忠实度(解释是否反映模型真实计算)与合理性(人类觉得是否有道理)是两个可能冲突的标准,文献中评价体系仍碎片化——本 skill 只能给出操作纪律,无法给出普适的"好解释"判据。
- 合规有效性存疑: 监管是否接受事后解释(尤其对高风险决策)仍在政策演进中;"给了 SHAP 报告就算满足解释义务"在任何司法辖区都不是既定结论,需咨询合规专业意见。
- 深度网络的机械可解释性(内部回路级解释)与特征归因是两条几乎不相交的路线,本 skill 只覆盖后者。
容易混淆的邻近方法论
- 解释 ≠ 可解释建模: 前者是黑箱外挂说明书,后者是从源头选透明模型;硬合规场景后者才是正解,前者只是折衷。
- 注意力 = 解释?: Transformer 注意力权重常被展示为"模型在看哪里",但注意力≠归因(多层传播后权重语义漂移);要用作解释须另行论证,不能默认成立。
- 敏感度分析 ≠ 特征归因: 全局敏感度(Sobol 类)回答"输出的方差有多少来自某输入的不确定性",与个体预测的归因是不同问题;二者数值常不一致且都正确。
- 解释驱动调试 ≠ 泄漏排查: 解释里出现异常高的特征是泄漏的线索,但确认要走
ml-leakage-defense的专项清单,不要就地拍板。
相关 skills
- depends-on: ml-methodology-router(总入口)
- contrasts-with: ml-rule-learning(内在可解释 vs 事后解释), ml-causal-inference(模型归因 vs 世界因果)
- composes-with: ml-diagnosis(解释作为诊断证据源), ml-leakage-defense(异常重要性→泄漏深挖), ml-pitfall-audit(六问中证据合理性一问的工具箱)
审计信息
- 来源性质: 扩充批E·交叉学科——主题超出西瓜书(2016)覆盖范围,R 段为公认文献的转述表述(均已标注"(转述)")
- 验证通过: 待流水线三重验证复核
- 测试通过率: 待阶段 4 测试 (详见 test-prompts.json)
- skill_version: 0.0.1
- 蒸馏时间: 2026-08-24