2. 今回紹介する内容
● 機械学習を説明するExplanation Model
● LIMEなど既存手法を一般化したAdditive Feature Attribution Methods
● 協力ゲーム理論で貢献度に応じて報酬を決めるShapley Value
● Shapley Valueを機械学習の解釈に応用したSHAP
● SHAP値計算爆発と近似
● 参考論文
○ A Unified Approach to Interpreting Model Predictions
■ 著者: Scott M. Lundberg, Su-In Lee
■ 投稿: Advances in Neural Information Processing Systems (2017), pp. 4765-4774
■ 引用: 4074件 (2021/8/30 時点)
7. 2人で報酬を分ける場合は単純
A, Bの2人で分ける場合
● A1人で獲得できる報酬 v({A}) = 2
● B1人で獲得できる報酬 v({B}) = 3
● A, Bの2人で獲得できる報酬 v({A, B}) = 10 → この報酬をA, Bでどのように分ける?
● 複数人でタスクをこなした場合、一人ひとりの報酬を足したとき以上の報酬が手に入れられ
る v({A}) + v({B}) ≦ v({A, B})
A
B
2
3
A B 10
Aは1人で2で、Bは1人で3の
報酬を得られるのだから、
2対3、つまりAは4、Bは6
で分ければ貢献度を考慮し
た分配となる
8. Shapley Value: 3人で報酬を分ける
A, Bの2人で分ける場合
● A, B, Cそれぞれが1人で獲得できる報酬 v({A}) = 2, v({B}) = 3, v({C}) = 4
● 2人で獲得できる報酬 v({A, B}) = 12, v({B, C}) = 8, v({A, C}) = 9
● 3人で獲得できる報酬 v({A, B, C}) = 15
A
B
2
3
A B 12
C
B 8
A 9
C
A
B
C
15
4
C
9. Shapley Value: 単純な分割は平等じゃない
● Cは単体では一番よい報酬を得られる
● しかし、2人チームでだと報酬はそこまで得られない
● チームで得た報酬を個人のときのパフォーマンスだけで判断するのは不平等
A
B
2
3
A B 12
C
B 8
A 9
C
A
B
C
15
4
C
10. 貢献を数値化
Cが加わることにより得られる報酬の増加 (限界貢献度)
C A 9: A (v({A}) = 2) にCが協力することで+7
B 8: B (v({B}) = 3) にCが協力することで+5
C
A B C 15: A, B (v({A, B}) = 12)にCが協力することで+3
4: 誰もいない状態(v({}) = 0)からCが増えて+4
C
12. 限界貢献度の期待値: Shapley Value
C B A
C A B
A
B C
C
A B
C
B A
B
A C
Cが最初に貢献するパターンのCの限界貢献度
● C → B → A: 4
● C → A → B: 4
Cが2番目に貢献するパターンのCの限界貢献度
● B → C → A: v({B, C}) - v({B}) = 8 - 3 = 5
● A → C → B: v({A, C}) - v({C}) = 9 - 2 = 7
Cが最初に貢献するパターンのCの限界貢献度
● C → B → A: v({A, B, C}) - (v{A, B}) = 15 - 12 = 3
● C → A → B: v({A, B, C}) - (v{A, B}) = 15 - 12 = 3
Cの限界貢献度の期待値 = (4 + 4 + 5 + 7 + 3 + 3)/6 = 13/3
13. SHAP (Shapley Additive exPlanation)
A
B
C
特徴量1
特徴量2
特徴量3
予測結果
貢献度に応じて公正に分配する方法Shapley Valueを
特徴量の予測への貢献に応用したものがSHAP
21. Shapley Value とは?
● 協力ゲーム理論において、複数プレイヤーによって得られた報酬を
各プレイヤーに公正に分配する際に使用する値
(例) 3人のプレイヤーA, B, C が協力して
ゲームに挑戦し、表に示す報酬が
得られる場合について考える
→ 全員参加した場合、報酬をどのように
分配すべきか?
参加したプレイヤー 報酬 (万円)
A 4
B 6
C 10
A, B 16
A, C 22
B, C 30
A, B, C 60
22. Shapley Value とは?
→ “限界貢献度”を考える
→ 各プレイヤーがゲームに参加した時、追加でどのくらい報酬が増えるか
プレイヤーの参加順 各プレイヤーの限界貢献度
A B C
A → B → C 4 12 44
A → C → B 4 38 18
B → A → C 10 6 44
B → C → A 30 6 24
C → A → B 12 38 10
C → B → A 30 20 10
プレイヤーの参加前後での報酬の増加分
= 限界貢献度
A: 誰もいない → A (4 - 0 = 4)
B: Aのみ → A, B (16 - 4 = 12)
C: A, B → A, B, C (60 - 16 = 44)
限界貢献度の期待値
→ 各プレイヤーのShapley Value
→ A: 15, B: 20, C: 25
23. SHAP (Shapley Additive exPlanation)
● 予測結果に対する特徴量の寄与具合を計算
● 貢献度を計算するには、2^M 個の予測モデルが必要
計算コストが高く現実的でないため、「予測値の条件付き期待値」で近似
特徴 i に関するSHAP値 φ
: (特徴 i を加える前の順列) × (特徴 i を加えた後の順列)
: 全特徴量 M 個の順列
: (特徴 i を加えた時の予測値) - (特徴 i を加える前の予測値) = 限界貢献度