SHAP (SHapley Additive exPlanations)
知识点概述
SHAP(SHapley Additive exPlanations)是一个统一的框架,旨在解释任何机器学习模型的单个预测。它基于博弈论中最优的Shapley值,并将其与局部代理模型(如LIME)的思想联系起来。SHAP的核心贡献在于提出了一系列高效的算法来计算Shapley值,并提供了一套丰富的可视化工具来呈现这些值,从而实现了局部解释与全局解释的统一。
教材原文
Lundberg 和 Lee (2016)[35] 的 SHAP (SHapley Additive ExPlanations) 是一种解释个体预测的方法。SHAP 基于博弈论上的最佳 Shapley 值。 … SHAP 带来的一项创新是,Shapley 值的解释表示为一种可加的特征归因方法,即线性模型。这将 LIME 和 Shapley值联系起来。
详细解释
1. SHAP的核心思想:可加的特征归因
SHAP将任何一个复杂的黑盒模型 的预测解释为一个简单的线性加性模型 :
- : 解释模型,它近似于原始模型对单个实例的预测。
- : 联盟向量,表示哪些特征“存在”(1)或“不存在”(0)。
- : 基线值,即所有训练样本的平均预测值 。
- : 第 个特征的SHAP值,它就是我们苦苦追寻的Shapley值。 这个公式表明,最终的预测值等于基线值加上所有特征的SHAP值之和,这完美地满足了Shapley值的效益性公理。
2. SHAP的高效计算方法
精确计算Shapley值非常耗时,SHAP框架的主要贡献是提供了多种高效的估算方法:
- KernelSHAP:
- 一种模型无关的、基于核的估算方法。它将LIME框架与Shapley值的理论结合起来。
- 它通过一种特殊的加权核(SHAP Kernel)来对局部扰动样本进行加权,然后拟合一个线性模型。其结果在数学上被证明等价于Shapley值。
- 缺点: 速度仍然较慢,并且与LIME一样,在处理相关特征时可能因不切实际的采样而产生偏差。
- TreeSHAP:
- 一种专门为基于树的模型(决策树、随机森林、梯度提升树)设计的高效算法。
- 它利用了树的结构,将计算复杂度从指数级降低到多项式级,能够在合理的时间内计算出精确的Shapley值。
- 优点: 速度极快,并且能够正确地处理特征相关性问题,因为它建模的是条件期望,而不是像KernelSHAP那样进行随机采样。
3. SHAP的全局解释工具
SHAP的强大之处在于,它以局部的Shapley值为“原子单位”,构建了一整套丰富的全局解释可视化工具:
- SHAP 特征重要性 (Feature Importance): 将数据集中所有实例的每个特征的SHAP值的绝对值进行平均,得到一个全局的特征重要性排序。
- SHAP 概要图 (Summary Plot): 将特征重要性与特征效应结合。它将每个实例的每个特征的SHAP值作为一个点绘制出来,点的颜色表示特征值的高低。这能让我们快速地看到特征的总体影响方向和分布。
- SHAP 依赖图 (Dependence Plot): 类似于部分依赖图(PDP),但它绘制的是每个实例的特征值与其对应的SHAP值的散点图。这不仅能显示特征的平均效应,还能通过点的垂直散布情况来揭示潜在的交互作用。
- SHAP 交互值 (Interaction Values): SHAP可以计算出纯粹的特征间二阶交互效应,并用它来为依赖图自动着色,从而更清晰地展示交互作用。
- SHAP 聚类 (Clustering): 直接对实例的SHAP值向量进行聚类,从而可以根据“解释的相似性”来对样本进行分组。
学习要点
- 理解SHAP是建立在Shapley值理论基础上的一个统一解释框架。
- 掌握SHAP的核心贡献:提供了如KernelSHAP和TreeSHAP等高效的计算方法。
- 知道TreeSHAP是针对树模型的高速、精确且能处理特征相关性的优秀算法。
- 熟悉SHAP提供的一系列强大的全局解释工具(特征重要性、概要图、依赖图等),它们都以局部的SHAP值为基础,实现了局部与全局的统一。
关联知识点
- 前置知识: 37-理论方法-Shapley值, 36-理论方法-局部代理(LIME)
- 相关知识: 合作博弈论, 梯度提升树