趋近智
合作博弈论中的 Shapley 值是一种公平地在合作参与者之间分配“报酬”的方法。SHAP (SHapley Additive exPlanations) 框架有效地将这种思想应用于机器学习模型解释的背景。
试想一下,如何解释你的训练模型对某个特定输入实例所做的一个预测。该实例的每个特征对最终预测值贡献了多少,与某个基准相比?SHAP 通过将此问题设定为一个合作博弈来给出回答:
目标是将总报酬(f(x)−E[f(X)])公平地分配给“参与者”(特征)。一个特征的贡献,即其 SHAP 值,表示该特定特征的值在该实例其他特征值的背景下,使预测值产生了多大程度的偏移。
正式地,特征 i 和实例 x 的 SHAP 值 ϕi(x) 被计算为该特征在所有不包含特征 i 的可能特征子集(联盟)中的边际贡献的加权平均值。特征 i 对特定联盟 S(S 是不包含特征 i 的特征子集)的“边际贡献”是模型在将特征 i 添加到该联盟后的预期输出与仅有联盟 S 时的预期输出之间的差值:
E[f(X)∣XS∪{xi}]−E[f(X)∣XS]
在这里,E[f(X)∣XS] 表示仅给定子集 S 中特征值的预期预测。计算这种条件期望通常是最复杂的部分,并且需要对特征独立性做出假设或使用特定的计算方法,我们将在讨论 KernelSHAP 和 TreeSHAP 时介绍这些。
SHAP 值从 Shapley 值继承了一个非常好的属性,称为可加性。这表示给定实例 x 所有特征的 SHAP 值之和等于该实例的预测值 f(x) 与基准值(平均预测值 E[f(X)])之间的差值。我们可以将这种关系表示为:
f(x)=ϕ0+i=1∑Mϕi(x)这里:
这个等式提供了对预测的清晰分解。ϕ0 给出起点(平均预测),每个 ϕi(x) 说明特征 i 的值如何相对于这个基准值将预测推高(如果 ϕi(x) 为正)或推低(如果 ϕi(x) 为负)。大小 ∣ϕi(x)∣ 表明特征对该特定预测影响的强度。
与 LIME 不同,LIME 构建了一个局部、可解释的代理模型,而 SHAP 基于扎实的博弈论原则直接计算特征贡献,旨在获得更具理论支撑的贡献划分。然而,对于除了最简单的模型和最小的特征集之外的所有情况,计算所有可能特征联盟的这些精确贡献在计算上是不可行的。这种计算挑战促使了高效近似算法(如 KernelSHAP 和 TreeSHAP)的提出,我们将在下文介绍这些算法。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造