Shapley values
A game theoretical description of how features in machine learning models contribute cooperatively towards a prediction.
The original abstraction follows with players in a game, with some scoring function such that a coalition of players can achieve a collective score ; the total sum of payoffs the collective can obtain from cooperating. The Shapley value, , is the normalized contribution from any given player within the coalition:
To break this down intuitively: the summation occurs over every possible coalition (i.e. combinations of players) excluding a single player (the set difference , see [[set-theory]]). The last term in the equation equates to the difference in value with [] and without [] player .1 The Shapley value given by the average contribution of a player computed this way.
The properties of Shapley values include:
- Efficiency—
- Symmetry—if ) for all , then .
- Dummy—if for all , then .
- Additivty—Shapley values are additive, such that they can be used in [[ensembles]].
Practical considerations
The formal definition of the Shapley value requires summation over all combinations/subsets of , which intuitively is intractable and scales factorially. In practice, we can use Monte Carlo sampling to estimate approximately:
where corresponds to a feature vector where all values except is replaced by another data point (i.e. with the player) and x^m_{-j} replaces all values with $z for iterations.
- is explicitly defined to exclude the player! This notation is somewhat confusing...↩