Shapley值和SHAP在可解释的机器学习中的区别

时间:2019-10-02 14:21:41

标签: machine-learning shap

关于模具shap

The Paper给出了公式(4)中的Shapley值和公式(8)中的SHAP值的公式

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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