2. SHAP理论基础:博弈论中的Shapley值,边际贡献与公平分配
SHAP(SHapley Additive exPlanations)值的核心思想源自博弈论中的Shapley值。要理解SHAP如何解释风控模型的预测,必须先理解Shapley值如何解决“公平分配”问题。
2.1 博弈论中的Shapley值:公平分配问题
Shapley值由诺贝尔经济学奖得主Lloyd Shapley于1953年提出,用于解决合作博弈中的收益分配问题。核心场景是:多个参与者组成联盟,共同创造了一个总收益,如何根据每个参与者对联盟的边际贡献来公平分配收益?
核心概念:边际贡献
一个参与者的边际贡献,是指该参与者加入联盟时,为联盟带来的额外收益。例如,三个风控特征(A、B、C)共同预测违约风险,特征A的边际贡献就是它加入已有特征集合时,模型性能的提升量。
Shapley值的计算公式
Shapley值通过计算一个参与者在所有可能的联盟顺序下的平均边际贡献,来分配总收益。公式如下:
φᵢ(v) = Σ_{S ⊆ N \ {i}} [ |S|! * (|N| - |S| - 1)! / |N|! ] * [ v(S ∪ {i}) - v(S) ]
其中:
- N:所有参与者的集合(如所有特征)
- S:不包含参与者i的任意子集(联盟)
- v(S):联盟S的总收益(如模型预测值)
- v(S ∪ {i}) - v(S):参与者i加入联盟S时的边际贡献
- 权重项:对所有可能的联盟顺序进行加权平均
Shapley值的四大公理
Shapley值是唯一满足以下四个公理的分配方案,这保证了其公平性:
| 公理 | 含义 | 风控场景解释 |
|---|---|---|
| 有效性 | 所有参与者的Shapley值之和等于总收益 | 所有特征的贡献之和等于模型预测值减去基线值 |
| 对称性 | 如果两个参与者对所有联盟的贡献相同,则分配相同 | 两个对模型预测影响完全相同的特征,获得相同的贡献值 |
| 虚拟性 | 如果参与者对任何联盟都没有贡献,则分配为0 | 对模型预测毫无影响的特征,其SHAP值为0 |
| 可加性 | 两个独立博弈的Shapley值可以相加 | 可以将多个模型的预测贡献相加,得到总贡献 |
2.2 从Shapley值到SHAP值:模型预测的边际贡献
SHAP值将Shapley值的博弈论框架引入机器学习模型解释。在SHAP中:
- 参与者 → 模型的输入特征
- 联盟 → 特征的子集
- 总收益 → 模型对某个样本的预测值
- 基线值 → 所有特征的平均预测值(通常为训练集预测均值)
SHAP值的核心思想:每个特征的SHAP值表示,在考虑所有可能的特征组合顺序下,该特征对模型预测的平均边际贡献。所有特征的SHAP值之和加上基线值,等于该样本的模型预测值。
模型预测值 = 基线值 + Σ(每个特征的SHAP值)
SHAP值 vs. 传统Shapley值的关键区别
| 维度 | 传统Shapley值 | SHAP值 |
|---|---|---|
| 应用场景 | 合作博弈收益分配 | 机器学习模型预测解释 |
| 参与者 | 博弈玩家 | 模型特征 |
| 收益函数v(S) | 联盟S的总收益 | 基于特征子集S的模型期望预测 |
| 计算复杂度 | 指数级(2^N种组合) | 通过近似算法(如Kernel SHAP、Tree SHAP)优化 |
| 输出形式 | 单一数值(总收益分配) | 每个样本每个特征的贡献值(可正可负) |
2.3 SHAP值的演化:从理论到工程实现
SHAP值由Scott Lundberg和Su-In Lee在2017年提出,其核心贡献在于:
- 统一了多种解释方法:证明了LIME、DeepLIFT、Layer-wise Relevance Propagation等方法都是SHAP值的线性近似。
- 提出了高效的近似算法:针对树模型(Tree SHAP)和线性模型(Linear SHAP)的精确求解,以及通用的Kernel SHAP近似。
- 建立了加性特征归因框架:所有特征贡献之和等于预测值与基线值的差值。
SHAP值的数学定义:
SHAPᵢ(x) = Σ_{S ⊆ N \ {i}} [ |S|! * (|N| - |S| - 1)! / |N|! ] * [ fₓ(S ∪ {i}) - fₓ(S) ]
其中 fₓ(S) 表示在特征子集S条件下的模型期望预测值。
2.4 SHAP值的加性特征归因结构
SHAP值属于加性特征归因方法(Additive Feature Attribution),其模型解释形式为:
g(z') = φ₀ + Σᵢ φᵢ * z'ᵢ
其中:
- g(z'):解释模型对简化输入z'的预测
- φ₀:基线值(所有样本的平均预测)
- φᵢ:特征i的SHAP值(边际贡献)
- z'ᵢ:简化输入,表示特征i是否存在(1或0)
风控模型中的实际含义:
- 对于某个贷款申请样本,模型预测违约概率为0.8
- 基线违约概率(所有样本平均)为0.1
- 特征“收入负债比”的SHAP值为+0.3,表示该特征使违约概率增加了0.3
- 特征“信用评分”的SHAP值为-0.2,表示该特征使违约概率降低了0.2
- 其他特征贡献之和为+0.6
- 验证:0.1(基线)+ 0.3 + (-0.2) + 0.6 = 0.8(预测值)
2.5 本章小结
SHAP值将博弈论中经典的Shapley值公平分配思想,成功迁移到机器学习模型解释领域。通过计算每个特征在所有可能特征组合下的平均边际贡献,SHAP值提供了唯一满足公平性公理的特征归因方案。其加性结构使得模型预测可以分解为基线值与各特征贡献之和,为风控模型提供了局部可解释性和全局一致性。