shapley-values 如何解释我的模型中没有特征?

时间:2021-04-15 08:27:52

标签: shapley

我正在尝试彻底掌握 shapley 值。

据我所知,它是给定特征的平均(边际)贡献,即我们采用所有特征 (x1), x(2),.., (x1,x2), (x2,x3), (x1,x2,x3) ... 的所有组合,然后查看特征 j 的集合预测之间的平均差异存在和不存在的地方。

例如,我们有三个特征 x1,x2,x3 和一个机器学习函数 f。组合(集合/联盟)是

S={
Ø 
x1
x2
x3
(x1,x2)
(x1,x3)
(x2,x3)
(x1,x2,x3)
}

如果我想计算 x1 的沙普利值,我会计算

#prediction with the feature x1
T1 =  f(x2,x1)
T2 = f(x3,x1)
T3 = f(x2,x3,x1)

#prediction w/o the feature x1
T11 = f(x2)
T22 = f(x1)
T3 == f(x2,x3)


shapley_x1 = ((T1-T11)+(T2-T22)+(T3-T3))/3

x1 的平均贡献,比方说 shapeley_x1=-10。就平均预测而言,特征 x1 存在时平均具有 -10 的影响。

根据this我们不能说shapley_x1是去掉值时预测的差异,而是特征x1对不同联盟中预测的平均贡献.

我有点想知道这里有什么区别 - 如果我根据缺失/不缺失的特征计算平均值,那为什么不是预期的预测差异?我知道它只是与其他特征一起计算,但我仍然很难看出我们如何不能说,一个给定的特征如何(通常)对我们的(平均)预测做出贡献,例如它是否有很大的负面影响,很大的积极影响等。 ?

0 个答案:

没有答案
相关问题