SHAP 值如何帮助我们确定一个特征对梯度提升训练的模型的重要性?

数据挖掘 特征选择
2022-02-20 22:10:27

我已阅读http://papers.nips.cc/paper/7062-a-unified-approach-to-interpreting-model-predictions.pdfhttps://medium.com/@gabrieltseng/interpreting-complex-models -with-shap-v​​alues-1c187db6ec83这就像第一个链接的摘要。

总的来说,我对 SHAP 值如何帮助以及它如何帮助我们确定第一篇论文中特征的重要性一无所知。在第二篇文章中,他有一个非常简单的决策树,并计算了特定训练示例的特征的形状值。它并没有说最后哪个值决定了它的重要性(即每个训练示例的特征的平均值。我不知道)。或者为什么这有效。

并且他们之间存在混淆。首先,第一篇文章使用 SHAP 值,该值定义为“原始模型的条件期望函数的 Shapley 值”,第二篇文章仅使用了 shapley 值。

我阅读了几篇学术论文和网站文章,但无法回答我的问题。无论如何,大多数网站都处理其框架应用程序。如果您能解释或提供有用的资源,我将不胜感激。

1个回答

我认为第二篇文章中出现的决策树只是说明了应用 shap 的 xgboost 模型。

我建议你阅读 Christoph Molnar 关于可解释性的教程,尤其是关于Shapleyshap算法的章节。

第一项(匀称)通过尝试所有特征与输入值(向量)的组合(“联盟”)来帮助分解每个特征对预测输出的影响。这样,该方法允许解构模型的输出是如何由每个输入特征值构建的。这种方法将特征视为他们的不同策略影响最终预测的参与者,它起源于博弈论领域。

第二个术语,SHAP,基本上是计算相同的形状值,其中对第一个中处理不好的缺失值进行了一些扩展,并改进了通过速度估计形状值本身的算法(近似它们的内核函数)和近似值的质量(组合组合的加权方法)。

除了算法差异之外,我认为 shap 方法也是使用 Shapley 算法来解释 ML(基于树)模型的方法,主要是利用它们的可加性属性将预测描述为总和的分解的特征贡献。