

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Shapley 值的特征归因
<a name="clarify-shapley-values"></a>

SageMaker Clarify 根据 [Shaple](https://en.wikipedia.org/wiki/Shapley_value) y 值的概念提供功能归因。您可以使用 Shapley 值来确定每项特征对模型预测的贡献。可以为特定的预测提供这些归因，也可以在全局层面为整个模型提供这些归因。例如，如果您在大学录取场景中使用一个机器学习模型，那么解释有助于确定对模型预测最有帮助的特征是 GPA 还是 SAT 得分，然后您就可以确定在做出某个学生的录取决定时每项特征所起的作用。

SageMaker Clarify从博弈论中汲取了Shapley价值观的概念，并将其部署在机器学习环境中。Shapley 值提供了一种量化每个玩家对游戏的贡献的方法，从而提供了一种根据玩家的贡献将游戏产生的总收益分配给玩家的方法。在这种机器学习环境中， SageMaker Clarify 将模型在给定实例上的预测视为*游戏*，将模型中包含的特征视为*玩家*。对于第一近似值，您可能想通过量化从模型中*删除* 该特征或从模型中*删除* 所有其他特征的结果，来确定每项特征的边际贡献或效果。然而，这种方法没有考虑到模型中包含的特征往往不是相互独立的。例如，如果两项特征高度相关，删除其中任一特征可能都不会对模型预测产生重大影响。

为了处理这些潜在的依赖关系，Shapley 值要求必须考虑每种可能的特征组合（或联合）的结果，以确定每项特征的重要性。给定 *d* 项特征，就有 2d 种这样的可能特征组合，每种组合对应一个潜在模型。要确定给定特征 *f* 的归因，请考虑在所有不包含 *f* 的特征组合（和关联模型）中包含 *f* 的边际贡献，然后取平均值。可以看出，Shapley 值是分配满足某些理想属性的每项特征的贡献或重要性的唯一方式。具体而言，每项特征的 Shapley 值之和对应于模型预测值和无特征虚拟模型预测值之差。然而，即使对于合理的 *d* 值（比如 50 项特征），要训练 2d 个可能的模型，在计算上也是非常困难和不切实际的。因此，Cl SageMaker arify 需要使用各种近似技术。为此，Clari SageMaker fy使用了Shapley加法解释（SHAP），它结合了这样的近似值，并通过额外的优化设计了内核SHAP算法的可扩展且高效的实现。

有关 Shapley 值的更多信息，请参阅 [A Unified Approach to Interpreting Model Predictions](https://papers.nips.cc/paper/2017/file/8a20a8621978632d76c43dfd28b67767-Paper.pdf)（解释模型预测的统一方法）。