学习中的 Shapley 值怎么理解?
一次听说 Shapley 值是在学习模型可解释性的时候。我知道了 SHAP,它是一个框架,可以更好地理解为什么机器学习模型会那样运行。事实证明,Shapley 值已经存在了一段时间,它们最早起源于 1953 年的博弈论领域,目的是解决以下情况:
当一个「旧」概念被应用到另一个领域,如机器学习,关于它是如何获得新的应用是非常有趣的。在机器学习中,参与者是你输入的特征,而集体支出是模型预测。在这种情况中,Shapley 值用于计算每个单独的特征对模型输出的贡献。
如何计算 Shapley 值?大多数时候,你倾向于在文献中看到这个等式: 一看,这个公式似乎并没有变容易,但请不要着急。很快,我将分解方程的不同部分,以便理解它们,但我们也可以定义一个具体的场景,我们可以使用它来让所有部分都不那么抽象。 假设我们经营一家生产砖块的工厂。我们的一个生产团队由四个人组成:Amanda、Ben、Claire 和 Don(从现在起,我将以他们名字中的第一个字母来称呼他们)。每周他们一起设法生产出 X 块砖。由于我们工厂运转良好,我们有一笔奖金要发给队员们。但是,为了让我们以公平的方式做到这一点,我们需要弄清楚每个人对每周生产 X 数量的砖块贡献了多少。 最困难的是,我们有好几个因素都会影响团队可以生产的砖块数量。其中之一是团队规模,因为团队规模越大,生产的砖块就越多。另一个可能是团队成员之间的合作程度。问题是,我们无法以有意义的方式量化这些影响,但幸运的是,我们可以使用 Shapley 值来回避这个问题。 我们现在已经定义了我们的玩家(A、B、C 和 D)以及他们参与的游戏(生产砖块)。让我们从计算生产的 X 砖中有多少可以归于 Don 开始,即计算 D 的 Shapley 值。如果我们把它与 Shapley 值公式的参数联系起来,我们就得到: (编辑:保山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |