趋近智
SHapley Additive exPlanations (SHAP) 提出了一种源于合作博弈论的方法,用于模型可解释性。这种方法提供了一种有原则的方式来理解各个特征如何对模型的预测做出贡献。SHAP 的核心在于 Shapley 值,它提供了一种公正的方式,来公平分配合作博弈中“收益”给其参与者。
想象一群人合作完成一个项目,集体努力产生了某种价值或结果。我们如何才能公平地确定每个人对最终结果的贡献大小?这是合作博弈论所要回答的核心问题,而 Lloyd Shapley 在 20 世纪 50 年代提出了一种解决方案,现在被称为 Shapley 值。
核心思想是考虑每个参与者(人)加入其他参与者不同可能小组(联盟)时的边际贡献。一个参与者的 Shapley 值是他们在所有可能的加入顺序或序列中的平均边际贡献。
我们来考虑一个简单的例子。假设有三位朋友,爱丽丝 (A)、鲍勃 (B) 和查理 (C),他们合作进行一个小型咨询项目。
最终的 $50k 应该如何分配给每个人?Shapley 值提供了一种计算方式。我们查看他们可能加入“大联盟” {A, B, C} 的所有可能顺序(排列),并计算每个人在每个顺序中的边际贡献。
顺序 (A, B, C):
顺序 (A, C, B):
我们会对所有 3!=6 种可能的顺序重复此过程:(A, B, C), (A, C, B), (B, A, C), (B, C, A), (C, A, B), (C, B, A)。
一个参与者的 Shapley 值是他们在所有这些顺序中边际贡献的平均值。我们为爱丽丝 (A) 计算一下:
| 顺序 | A 的边际贡献 |
|---|---|
| (A, B, C) | 10k |
| (A, C, B) | 10k |
| (B, A, C) | 15k (30k−15k) |
| (B, C, A) | 15k (50k−35k) |
| (C, A, B) | 17k (25k−8k) |
| (C, B, A) | 15k (50k−35k) |
| 平均值 | 13.67k |
同理,我们可以计算鲍勃和查理的 Shapley 值。这种方法确保了基于平均边际影响的公平分配。
这与解释机器学习模型有何关联?SHAP 框架巧妙地调整了这一方法:
例如,如果平均预测违约概率是 0.10,而对于特定申请人,模型预测 0.75,则待分配的总“收益”是 0.75−0.10=0.65。SHAP 的目标是计算每个特征(收入、信用评分等)对这个 0.65 差异的贡献大小。特征的 Shapley 值为正表示它使预测值更高(在此例中倾向于违约),而负值则表示它使预测值更低。
为什么采用这种博弈论方法?Shapley 值具有一些理想的数学特性(我们将在“SHAP 值的属性”部分进行讨论),这使其在特征归因方面具有理论上的合理性:
“计算精确的 Shapley 值需要评估模型对每个可能的特征子集(联盟)的输出。对于具有许多特征 (M) 的模型,这涉及 2M 次评估,很快就会变得计算上难以处理。这就是实用型 SHAP 算法,如 KernelSHAP 和 TreeSHAP 发挥作用的地方。它们提供了有效的方法来估计这些具有理论依据的 Shapley 值,使得这种有用的原理可以应用于机器学习问题。”
在接下来的部分中,我们将了解 SHAP 值是如何使用这些实用算法计算和解释的。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造