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

标签 machine-learning shap

The Paper关于模具shap包给出了(4)中的 Shapley 值和(8)中显然的 SHAP 值的公式

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

最佳答案

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

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

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

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

关于machine-learning - 用于可解释机器学习的 Shapley 值和 SHAP 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58203472/

相关文章:

python - 为什么我的 VotingClassifier 准确性低于我的个人分类器?

python - 形状绘图出错

python - RandomForest 和 XGB 为什么/如何?有什么办法可以解决这个问题吗?

python - 用于逻辑回归的 Shapley?

machine-learning - Word2Vec如何确保反义词在向量空间中相距较远

python - TensorBoard:如何绘制梯度直方图?

machine-learning - SVC 的网格搜索问题 - 如何排除故障?

python - 如何使用 Lasso 和 RobustScalar 构建预测函数?

python - 阴谋冲刺 : How to integrate SHAP values

python - 如何将 SHAP 本地解释导出到数据框?