什么是 SHAP?

SHAP(SHapley Additive exPlanations)是一种模型解释框架,基于已声明联盟价值函数的 Shapley Value,为一次预测生成可加的特征归因。

快速了解

全称SHapley Additive exPlanations
规范文档官方规范

工作原理

定义联盟博弈与输出单位

明确模型输出、待解释样本、特征玩家、背景分布和联盟价值。缺失特征可以按独立边缘分布积分、以已观察特征为条件,或使用模型结构特定的路径规则;特征相关时,这些选择回答不同问题。SHAP 原始论文形式化了可加特征归因及其性质。

选择假设匹配的解释器

精确枚举需要指数数量的联盟,因此实现会使用模型无关采样或结构特定算法。TreeSHAP 利用树集成结构,KernelSHAP 拟合特殊加权线性模型,DeepSHAP 与 GradientSHAP 则引入神经网络近似。SHAP 官方文档还展示了 Raw Score、Probability 与 Log-Odds 会形成不同的可加解释。

验证依赖、收敛与聚合边界

报告背景样本、Masker、特征分组、模型与解释器版本、输出单位、近似预算和随机种子。检查可加重建,重复近似运行,改变可信背景,并用领域有效扰动检验高排名特征是否影响输出。聚合绝对 SHAP 值只能概括采样人群中的模型归因,本身不提供效应方向、因果重要性、公平性或稳定性。

主要特点

  • 用可加的特征或特征组贡献解释一次模型输出
  • 在所有可能特征联盟上平均边际贡献
  • 用基线值加归因重建被解释输出
  • 包含精确、采样近似和模型结构专用解释器
  • 依赖联盟价值、Masker、背景数据与输出空间
  • 提供模型归因,而不是自动给出现实因果效应

常见用途

  1. 解释某个表格预测为何偏离背景期望
  2. 比较不同人群或模型版本的特征归因分布
  3. 使用结构专用解释器分析树集成预测
  4. 把词元、像素或相关字段组合成有意义的玩家
  5. 审计解释对背景数据与特征依赖假设的敏感度

示例

loading...
Loading code...

常见问题

SHAP 与 Shapley Value 有什么区别?

Shapley Value 是为玩家与价值函数定义的合作博弈解;SHAP 把这套思想用于可加模型解释,并包含构造或近似特征联盟博弈的算法。因此,SHAP 结果取决于怎样定义特征、缺失状态、背景数据和模型输出,不能脱离这些配置解释。

SHAP 值为什么可以加和到模型输出?

效率或局部准确性性质会把联盟博弈的总收益分配给各玩家。用于模型时,归因从解释器的基线值加和到该样本的指定输出。这个等式只在当前配置的输出空间成立,例如 Raw Score 或 Log-Odds,不会自动在概率空间保持同样线性。

SHAP 的背景数据为什么重要?

背景数据定义参考期望,并常为被 Mask 的特征提供替代值。改变背景就是改变比较人群,可能使全部归因发生变化。应为当前决策选择有代表性、经过授权且有记录的样本,比较多个合理背景的敏感度,并避免在解释过程泄露隐私记录。

相关特征会怎样影响 SHAP 解释?

特征相关时,「缺失某个特征」没有唯一含义。独立 Mask 可能制造不现实组合,条件方法又可能通过模型并未直接使用的关联分配贡献。应组合相关特征,说明依赖约定,比较合理 Masker,并避免把单一贡献排序写成唯一正确解释。

SHAP 值是因果效应吗?

默认不是。SHAP 在指定联盟价值函数下分配模型预测。Interventional 等术语描述解释器内部的缺失特征分布或操作,不会自动识别现实干预效应。因果结论仍需要明确因果图、识别假设、估计目标,以及适合的数据或实验设计。

相关术语