4
$\开始组$

嘿,这里是数据科学堆栈交换-关于SHAP的问题。

在Lloyd最初的Shapley值公式中,一个假设是空集的值函数等于零,$v(\emptyset)=0$换句话说,如果没有玩家在玩游戏,则值函数为零(没有回报)。

当Shapley值适用于可解释ML时(斯科特·伦德伯格的SHAP),当不考虑特征时的回报是对预测函数的期望。这是我的直觉——当模型不知道任何特征的价值时,它的预测等于它的期望,美元[f(x)]$(参见链接中第5页的图1)。

但我不清楚,如果值函数对空集的行为不同,为什么Lloyd的结果仍然成立。让我再清楚一点。

劳埃德在某些公理和假设下表明$v(\emptyset)=0$,Shapley值有一个独特的解决方案:

$\phi_i(v)=\sum_{S\subset N}\frac{(S-1)!(N-S)!}{N!}\left[v(S)-v(S-i)\right]$

但在ML上下文中,假设似乎发生了变化,空集的值函数等于$0$。为什么这个新假设的解决方案保持不变?

看看伦德伯格的论文,有一件相关的事情让我困惑。在第4页的顶部,等式5显示了特征属性方法的一个理想属性。

$f(x)=\phi_0+\sum_{i=1}^M\phi_i x$

伦伯格只是说,线性特征属性方法下的属性应该增加到与预测值相等的值。

这几乎完全符合劳埃德的效率公理,即所有玩家的夏普利值之和等于所有玩家玩游戏时的“总回报”。

但我认为斯科特的方程式有一点不同,那就是它包括$\phi_0美元$.我认为没有$\phi_0美元$在劳埃德的公式中。发件人维基百科,效率公理为:$\sum_{i\在N}\varphi_i(v)=v(N)中$哪里1美元$是一组球员中的一名球员N美元$。对不存在的玩家使用Shapely值是没有意义的。注意,Shapley值美元\斐$与值函数不同$v(美元)$.$v(美元)$是为空集定义的,但我不清楚美元\斐$定义为“无玩家”。

$\端组$

1答案1

重置为默认值
$\开始组$

在较高的层次上,只需定义估价函数,这一点基本上就可以消除$v(美元)$作为联盟的预期模型输出(*有点滥用术语和符号)减去全球预期:$$v(S)=E(f\mid S)-E(f)$$

那么真的$v(\emptyset)=E(f)-E(f)=0$然后在Shapley公式中,取二的差$v(美元)$-值,所以常数减去项正好抵消;这样,所有操作都无需调整,Shapley Efficiency属性计算为SHAP Local Accuracy属性,因为$v(N)$右手边也有减法$\phi_0美元$.

$\端组$
1
  • $\开始组$ 太神了!这很有道理。 $\端组$
    – 沙伊
    评论 5月21日17:59

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问自己的问题.