什么是 SHAP?
SHAP(SHapley Additive exPlanations)是一种模型解释框架,基于已声明联盟价值函数的 Shapley Value,为一次预测生成可加的特征归因。
快速了解
| 全称 | SHapley Additive exPlanations |
|---|---|
| 规范文档 | 官方规范 |
工作原理
定义联盟博弈与输出单位
明确模型输出、待解释样本、特征玩家、背景分布和联盟价值。缺失特征可以按独立边缘分布积分、以已观察特征为条件,或使用模型结构特定的路径规则;特征相关时,这些选择回答不同问题。SHAP 原始论文形式化了可加特征归因及其性质。
选择假设匹配的解释器
精确枚举需要指数数量的联盟,因此实现会使用模型无关采样或结构特定算法。TreeSHAP 利用树集成结构,KernelSHAP 拟合特殊加权线性模型,DeepSHAP 与 GradientSHAP 则引入神经网络近似。SHAP 官方文档还展示了 Raw Score、Probability 与 Log-Odds 会形成不同的可加解释。
验证依赖、收敛与聚合边界
报告背景样本、Masker、特征分组、模型与解释器版本、输出单位、近似预算和随机种子。检查可加重建,重复近似运行,改变可信背景,并用领域有效扰动检验高排名特征是否影响输出。聚合绝对 SHAP 值只能概括采样人群中的模型归因,本身不提供效应方向、因果重要性、公平性或稳定性。
主要特点
- 用可加的特征或特征组贡献解释一次模型输出
- 在所有可能特征联盟上平均边际贡献
- 用基线值加归因重建被解释输出
- 包含精确、采样近似和模型结构专用解释器
- 依赖联盟价值、Masker、背景数据与输出空间
- 提供模型归因,而不是自动给出现实因果效应
常见用途
- 解释某个表格预测为何偏离背景期望
- 比较不同人群或模型版本的特征归因分布
- 使用结构专用解释器分析树集成预测
- 把词元、像素或相关字段组合成有意义的玩家
- 审计解释对背景数据与特征依赖假设的敏感度
示例
Loading code...常见问题
SHAP 与 Shapley Value 有什么区别?
Shapley Value 是为玩家与价值函数定义的合作博弈解;SHAP 把这套思想用于可加模型解释,并包含构造或近似特征联盟博弈的算法。因此,SHAP 结果取决于怎样定义特征、缺失状态、背景数据和模型输出,不能脱离这些配置解释。
SHAP 值为什么可以加和到模型输出?
效率或局部准确性性质会把联盟博弈的总收益分配给各玩家。用于模型时,归因从解释器的基线值加和到该样本的指定输出。这个等式只在当前配置的输出空间成立,例如 Raw Score 或 Log-Odds,不会自动在概率空间保持同样线性。
SHAP 的背景数据为什么重要?
背景数据定义参考期望,并常为被 Mask 的特征提供替代值。改变背景就是改变比较人群,可能使全部归因发生变化。应为当前决策选择有代表性、经过授权且有记录的样本,比较多个合理背景的敏感度,并避免在解释过程泄露隐私记录。
相关特征会怎样影响 SHAP 解释?
特征相关时,「缺失某个特征」没有唯一含义。独立 Mask 可能制造不现实组合,条件方法又可能通过模型并未直接使用的关联分配贡献。应组合相关特征,说明依赖约定,比较合理 Masker,并避免把单一贡献排序写成唯一正确解释。
SHAP 值是因果效应吗?
默认不是。SHAP 在指定联盟价值函数下分配模型预测。Interventional 等术语描述解释器内部的缺失特征分布或操作,不会自动识别现实干预效应。因果结论仍需要明确因果图、识别假设、估计目标,以及适合的数据或实验设计。