2. SHAP基础概念:SHAP值定义、博弈论中的Shapley值、特征贡献度、可解释性分类
SHAP(SHapley Additive exPlanations)是目前最主流的模型可解释性方法之一。要真正理解SHAP,需要从博弈论中的Shapley值出发,逐步建立特征贡献度的数学直觉,并明确可解释性的分类体系。本章将围绕这四个核心概念展开,为后续SQL实战打下坚实的理论基础。
2.1 博弈论中的Shapley值
Shapley值由诺贝尔经济学奖得主Lloyd Shapley于1953年提出,用于解决合作博弈中的公平分配问题。其核心思想是:在一个多人合作中,每个成员的贡献应当根据其边际贡献的加权平均来公平分配总收益。
核心公式(简化理解):
Shapley值 = 所有可能加入顺序下,该成员带来的边际贡献的平均值。
Shapley值 = 所有可能加入顺序下,该成员带来的边际贡献的平均值。
假设一个模型有M个特征,每个特征相当于博弈中的“玩家”,模型的预测结果相当于“总收益”。Shapley值计算每个特征在所有可能的特征组合顺序下,对预测结果的边际贡献的加权平均。
| 博弈论概念 | SHAP对应概念 | 说明 |
|---|---|---|
| 玩家(Player) | 特征(Feature) | 参与预测的每个输入变量 |
| 联盟(Coalition) | 特征子集(Feature Subset) | 部分特征组合形成的预测条件 |
| 总收益(Total Payout) | 模型预测值(Prediction) | 模型对当前样本的输出结果 |
| 边际贡献(Marginal Contribution) | 特征加入前后的预测差值 | 某特征加入联盟后预测值的变化量 |
| 公平分配(Fair Allocation) | SHAP值(SHAP Value) | 每个特征对预测值的归因贡献 |
直观理解: 想象一个三人小组完成项目获得奖金。Shapley值会计算每个人在所有可能的加入顺序下(A先、B先、C先),每次加入时带来的价值增量,然后取平均值。SHAP对特征做完全相同的计算。
2.2 SHAP值定义
SHAP将Shapley值引入机器学习,为每个样本的每个特征分配一个归因值。SHAP值满足三个关键性质,使其成为唯一符合这些性质的加性特征归因方法:
- 局部准确性(Local Accuracy): 所有特征的SHAP值之和加上基线值(所有样本的平均预测值)等于当前样本的预测值。
- 缺失性(Missingness): 缺失的特征SHAP值为0。
- 一致性(Consistency): 如果某个特征对模型输出的边际贡献增加,其SHAP值不会减少。
SHAP值数学表达:
g(z') = φ₀ + Σ(φⱼ × z'ⱼ)
其中:
- g(z') 为解释模型
- φ₀ 为基线值(所有样本的平均预测值)
- φⱼ 为特征j的SHAP值
- z'ⱼ ∈ {0,1} 表示特征j是否存在
2.3 特征贡献度
特征贡献度是SHAP值的直接应用,用于衡量每个特征对单个预测结果的影响方向和大小。贡献度分为两种尺度:
| 贡献度类型 | 含义 | SHAP值符号 | 示例 |
|---|---|---|---|
| 正向贡献 | 该特征将预测值推向高于基线 | SHAP值 > 0 | 年龄=45岁,SHAP=+0.32,推高信用评分 |
| 负向贡献 | 该特征将预测值推向低于基线 | SHAP值 < 0 | 逾期次数=3次,SHAP=-0.87,拉低信用评分 |
| 零贡献 | 该特征对当前预测无影响 | SHAP值 = 0 | 性别特征,SHAP=0.00,无影响 |
关键理解: SHAP值不是特征重要性(Feature Importance),而是特征贡献度(Feature Contribution)。重要性只告诉你“这个特征重不重要”,贡献度告诉你“这个特征在这个样本上如何影响预测结果”。
2.4 可解释性分类
在模型可解释性领域,SHAP主要解决局部可解释性问题,同时也能聚合为全局可解释性。理解这两种分类有助于在实际项目中正确使用SHAP。
| 可解释性类型 | 定义 | SHAP对应方法 | 应用场景 |
|---|---|---|---|
| 全局可解释性 | 理解模型整体的行为逻辑 | SHAP特征重要性(平均|SHAP值|)、SHAP依赖图 | 模型审计、特征筛选、业务规则验证 |
| 局部可解释性 | 理解单个样本的预测原因 | SHAP值分解、瀑布图、力图(Force Plot) | 风控拒贷解释、医疗诊断辅助、异常检测 |
| 群体可解释性 | 理解某个子群体的共同模式 | SHAP交互值、分组SHAP汇总 | 用户分群分析、公平性评估 |
常见误区: 不要将SHAP值直接等同于特征重要性。特征重要性(如树模型的feature_importances_)只反映特征在全局的平均使用频率或信息增益,而SHAP值可以给出每个样本上每个特征的具体贡献方向和大小。两者互补,不可替代。
2.5 本章小结
- Shapley值是博弈论中的公平分配方法,SHAP将其引入机器学习,为每个特征分配归因值。
- SHAP值满足局部准确性、缺失性和一致性,是唯一符合这些性质的加性特征归因方法。
- 特征贡献度分为正向、负向和零贡献,SHAP值的符号和大小直接反映特征对预测的影响方向和强度。
- 可解释性分类包括全局、局部和群体三个层次,SHAP在局部解释上具有独特优势,同时也能聚合为全局解释。