首页 > 解决方案 > 用于可解释机器学习的 Shapley 值和 SHAP 之间的差异

问题描述

关于模具封装的论文shap给出了 (4) 中的 Shapley 值和显然在 (8) 中的 SHAP 值的公式

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

标签: machine-learningshap

解决方案


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

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

因此,SHAP 可以理解为 LIME(或相关概念)和 Shapley 值的组合。最后,SHAP 值只是“原始模型的条件期望函数的 Shapley 值” Lundberg 和 Lee (2017)。基本上,Shapley 值是为任何值函数定义的,SHAP 只是通过值函数的特殊定义的 Shapley 值的一个特例!

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


推荐阅读