用于可解释机器学习的 Shapley 值和 SHAP 之间的差异

Difference between Shapley values and SHAP for interpretable machine learning

The Paper 关于 die shap 封装给出了 (4) 中的 Shapley 值和 (8) 中明显的 SHAP 值的公式

我还是不太明白 Shapley 值和 SHAP 值之间的区别。据我了解,对于 Shapley,我需要在每个可能的参数子集上重新训练我的模型,而对于 SHAP,我只是使用在所有参数上训练的基本模型。是吗?所以 SHAP 在计算上更容易?

SHAP 结合了其他不可知方法的局部可解释性(s.a。LIME,其中模型 f(x) 局部近似于每个因子 X 的每个实例的可解释模型 g(x))和沙普利值的博弈论方法。这会产生一些理想的属性(局部准确性、缺失性、一致性)。

回想一下,在公式 (4) 中缺少 "local",Shapley(回归)值为因子 X(作为一个整体)分配一个贡献分数。在公式 (8) 中我们看到,SHAP 现在是 x 的函数。这意味着我们对每个因素都有贡献,特别是对因素 Xi = xi 的每个实现实例都有贡献,这使得它在本地可解释并继承了理想的属性。

SHAP 因此可以理解为 LIME(或相关概念)和 Shapley 值的组合。最后 SHAP 值只是 "the Shapley values of a conditional expectation function of the original model" Lundberg and Lee (2017)。基本上,Shapley 值是为任何值函数定义的,而 SHAP 只是 Shapley 值的一种特殊情况,由值函数的特殊定义!

我和你有同样的问题,这是我对Lundberg and Lee (2017)论文的直观理解。希望这有帮助。

您问题的答案在 SHAP 的前 3 行 github project:

SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley values from game theory and their related extensions

SHAP 的故事始于 Scott Lundeberg 观察可用的 ML 解释方法并注意到它们都满足加法 属性(定义 1前述 paper):

Additive feature attribution methods have an explanation model that is a linear function of binary variables

除此之外,他还添加了 3 个其他理想属性:

  • 属性 1:局部精度(局部解释应该加起来模型预测,相当于原始Shapley的效率)

  • 属性 2:缺失(缺失的特征没有任何贡献,接近原始 dummy 属性)

  • 属性 3:一致性(如果模型改变,想要的解释值应该同向改变,接近原来的可加性)

结果是:

  • Shapley 值满足所有属性 1、2、3(“满足”在这里意味着所有 4 个原始 Shapley 属性只要 属性 1,2,3 成立)
  • 提供一个独特的解决方案(独特的边际贡献集),Young, 1985
  • 在数学上证明了这一点

然后,当我们将 Shapley 值固定为解决具有所需属性 1、2、3 的模型可解释性问题时,问题出现了:

How to calculate Shapley values with/without a feature?

每个 ML 从业者都知道,如果我们 drop/add 一个特征,模型就会发生变化。最重要的是,对于 non-linear 模型,我们添加特征的顺序很重要。因此,通过搜索所有可能的“2^M”特征组合来精确计算 Shapley 值,同时重新训练模型,效率低下(或计算量过大)。

现在,回答您的问题“Shapley 值与 SHAP 之间的差异”:

SHAP provide computationally efficient, theoretically robust way to calculate Shapley values for ML by:

  1. Using model trained only once (doesn't apply to Exact and KernelExplainer)
  2. Averaging over dropped out features by sampling background data.

作为旁注,SHAP 解决方案与 LIME 的解决方案不同,但这与您的问题无关。