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值为基础,实现了局部与全局的统一。

关联知识点