Shapley 值

知识点概述

Shapley值是一种源于合作博弈论的、用于解释单个预测的归因方法。它将一个实例的每个特征值视为一个“玩家”,将该实例的预测值视为所有玩家合作完成“游戏”后得到的“总收益”。Shapley值的目标是公平地将总收益(即预测值与平均预测值的差)分配给每个玩家(特征值),这个分配到的值就是该特征的Shapley值。

教材原文

可以通过假设实例的每个特征值是游戏中的“玩家”来解释预测,其中预测是“总支出”。Shapley值是联盟博弈论的一种方法,它告诉我们如何在特征之间公平地分配“总支出”。 … Shapley 值是所有可能的联盟 (Coalition) 中特征值的平均边际贡献。

详细解释

  • 核心思想: 一个特征的贡献,取决于它加入不同的“特征联盟”时,能为联盟带来的边际贡献。Shapley值就是该特征在所有可能的联盟中的平均边际贡献
  • 类比: 想象一个团队项目,最终得分是100分。如何公平地给每个队员(特征)打分?Shapley值的做法是,考察所有可能的组队情况(联盟):
    • 张三单独干能得多少分?
    • 张三加入“李四”的小组后,小组得分增加了多少?
    • 张三加入“李四和王五”的小组后,小组得分又增加了多少?
    • 最后,将张三在所有这些情况下的“边际贡献”取一个加权平均,就得到了张三的最终贡献得分(Shapley值)。
  • 计算过程:
    1. 选择实例和特征: 选定要解释的实例 和要计算贡献的特征
    2. 构建联盟: 遍历除特征 外的所有其他特征可能组成的联盟(子集 )。
    3. 计算边际贡献: 对于每个联盟 ,计算两次模型预测: a. 有特征j时: 对联盟 和特征 组成的更大联盟进行预测。对于不在联盟中的特征,用从数据集中随机抽样的实例的值来填充。 b. 无特征j时: 只对联盟 进行预测。 c. 两者的预测差值就是特征 对联盟 的边际贡献。
    4. 加权平均: 对特征 在所有可能联盟下的边际贡献进行加权平均,得到最终的Shapley值 。权重与联盟的组合方式有关。
  • 解释: 特征 的Shapley值 的解释是:与数据集的平均预测相比,该实例的特征 的值对最终预测的贡献是 。所有特征的Shapley值之和等于该实例的预测值与平均预测值之差。

Shapley值的性质(公平性的体现)

Shapley值是唯一满足以下四个公理的归因方法:

  1. 效益性 (Efficiency): 所有特征贡献的总和等于总收益(预测值 - 平均预测值)。
  2. 对称性 (Symmetry): 如果两个特征对于任何联盟的贡献都相同,那么它们的Shapley值也应该相同。
  3. 虚拟性 (Dummy): 如果一个特征对于任何联盟都没有任何贡献,那么它的Shapley值应该为0。
  4. 可加性 (Additivity): 对于一个由多个模型组合而成的集成模型,其Shapley值等于各个子模型的Shapley值的(加权)平均。

优点

  • 理论坚实,分配公平: 基于合作博弈论,效益性公理保证了预测被完全、公平地分配到各个特征上,这是它区别于LIME等方法的根本优势。
  • 对比性解释: 它解释的是与平均预测的差异,这符合人类的认知习惯。
  • 全局一致性: 它是后续许多全局解释方法(如SHAP特征重要性)的“原子单位”,保证了局部解释和全局解释的一致性。

缺点

  • 计算成本极高: 精确计算Shapley值需要遍历所有 个可能的特征联盟,这是一个指数级的计算量,在现实中几乎不可行。因此,通常使用蒙特卡洛采样等方法进行近似计算。
  • 可能被误解: Shapley值不是简单地移除一个特征后预测的变化,而是该特征在所有联盟中的平均边际贡献。
  • 非稀疏解释: Shapley值会为每一个特征都计算一个贡献值,即使某些特征的贡献很小。它不能像LIME那样自动生成只包含少数几个特征的稀疏解释。
  • 依赖数据访问: 计算需要从数据集中随机采样来填充“缺失”的特征,因此需要访问训练数据。
  • 相关特征问题: 与PDP类似,当特征相关时,通过随机采样来模拟“特征缺失”会创造出不切实际的数据点,可能影响结果的可靠性。

关联知识点