[ PROMPT_NODE_27410 ]
theory
[ SKILL_DOCUMENTATION ]
# SHAP 理论基础
本文档解释了 SHAP (SHapley Additive exPlanations) 的理论基础,包括博弈论中的 Shapley 值、使 SHAP 独特的原则以及与其他解释方法的联系。
## 博弈论起源
### Shapley 值
SHAP 基于 **Shapley 值**,这是 Lloyd Shapley 在 1951 年提出的合作博弈论中的一种解概念。
**核心概念**:
在合作博弈论中,参与者协作以获得总收益,问题在于:如何公平地在参与者之间分配这些收益?
**映射到机器学习**:
- **参与者 (Players)** → 输入特征
- **博弈 (Game)** → 模型预测任务
- **收益 (Payoff)** → 模型输出(预测值)
- **联盟 (Coalition)** → 具有已知值的特征子集
- **公平分配 (Fair Distribution)** → 将预测归因于特征
### Shapley 值公式
对于特征 $i$,其 Shapley 值 $phi_i$ 为:
$$phi_i = sum_{S subseteq F setminus {i}} frac{|S|!(|F|-|S|-1)!}{|F|!} [f(S cup {i}) - f(S)]$$
其中:
- $F$ 是所有特征的集合
- $S$ 是不包含 $i$ 的特征子集
- $f(S)$ 是仅给定 $S$ 中特征时的模型期望输出
- $|S|$ 是子集 $S$ 的大小
**解释**:
Shapley 值计算了特征 $i$ 在所有可能特征联盟(子集)中的边际贡献的平均值。贡献由每个联盟发生的可能性加权。
### Shapley 值的关键属性
**1. 有效性 (可加性)**:
$$sum_{i=1}^{n} phi_i = f(x) - f(emptyset)$$
所有 SHAP 值之和等于模型对实例的预测值与期望值(基准)之间的差值。
这就是为什么 SHAP 瀑布图的总和总是等于预测的总变化量。
**2. 对称性**:
如果两个特征 $i$ 和 $j$ 对所有联盟的贡献相同,则 $phi_i = phi_j$。
具有相同效果的特征获得相同的归因。
**3. 虚拟性 (Dummy)**:
如果特征 $i$ 不改变任何联盟的模型输出,则 $phi_i = 0$。
无关特征获得零归因。
**4. 单调性**:
如果一个特征在联盟中的边际贡献增加,其 Shapley 值也会增加。
## 从博弈论到机器学习
### 挑战
计算精确的 Shapley 值需要在所有可能的特征联盟上评估模型:
- 对于 $n$ 个特征,有 $2^n$ 种可能的联盟
- 对于 50 个特征,这意味着超过 1 千万亿次评估
这种指数级增长