Shapley values

scroll ↓ to Resources

Note

  • LIME is less robust to small input changes
  • SHAP are needed to benchmark the model against prior knowledge and common sense
  • sharply values can only tell us how the model makes decisions, but not about how the world is functioning or which buttons we need to press to change this world
  • This approach Was inherited from the game Siri and answer the questions how to distribute limited resources among players
  • feature importance is prone to the order in which this and other features appeared. To calculate shapely value for one feature We need to take all combinations of features, for each one subtract Subtract the case which was just before this feature appearing to in the model, and take the average of all subtractions
    • In the example above we have three employees of a company and one to compute their Shap values that is important to the company profit. As an example for a blue employee we compute all possible combinations when he joined the company minus minus a state just before he joined the company and average it was equal weight
  • As it is not possible to just remove a feature from a data set because the model was train with full future set, usually the test is feature value is substituted According to some rule and shapely value tool boxes have different strategies
  • default sharply values fulfil these properties, But there are modifications where for instance researchers claim that not all feature combinations are possible or equally valuable therefore different combinations can be assigned weights up to zero to remove impossible combinations
    • to use asymmetric SHAP values one can claim that for instance some features are given prior to some others. like gender and race can should always come before income for credit score ratings for instance if you compare them
    • causal Shapley values
  • application:
    • epilepsy data, classify time series into either calm state or seizure - asymmetric SHAP values are more powerful distributed and regular shapely values are just noise

Resource


table file.tags from [[]] and !outgoing([[]])  AND -"Changelog"