データ分析関連のまとめ

データ分析・機械学習周りのもくもく会LTやイベント参加をまとめていきます

可視化アルゴリズムSHAPの論文を読みました

可視化アルゴリズムSHAPの論文を読んで発表したもくもく会LT用資料
(理解が間違っている点があったら指摘いただければ幸いです)

A Unified Approach to Interpreting Model Predictions

http://papers.nips.cc/paper/7062-a-unified-approach-to-interpreting-model-predictions.pdf

どんな論文?

  • ある予測モデルが予測結果を算出した時に、なぜその予測になるのかを理解することは重要。
  • しかし、昨今の高精度なモデル(deep learningやアンサンブルされたモデル)は複雑で解釈が困難になっている。
  • その問題を解決するために、予測を解釈する手法SHAP (SHapley Additive exPlanations)がつくられた。
  • 変数の貢献度を出す際にゲーム理論の要素(Shapley values)も取り入れている模様→これを既存の解釈手法に組み合わせている

Additive Feature Attribution Methods

  • 単純なモデルの最も良い説明方法はそれそのものを見せること(完璧に説明している)
  • 但し、複雑なモデルでは解釈困難なため、SHAP等のExplanation modelを使う必要がある。
    オリジナルの予測モデルをf、explanation modelをgとする。
    Local methodは下記を保証することを行っている

 g(z^{'}) = {\phi}_0 + \sum_{i=1}^{M}{\phi}_{i}z_i^{'}

SHAP

SHAPにおいて定義されている式


 f(x) = g(x^{'}) = {\phi}_0 + \sum_{i=1}^{M}{\phi}_{i}x_i^{'}


 {\phi}_i(f,x) = \sum_{z^{'}{\subseteq}x^{'}}\frac{|z~{'}|!(M-|z~{'}|-1)!}{M!}(f_x(z^{'})- f_x(z^{'}/i))

f:id:yhiss:20190907161124p:plain

  • 目的変数の予測に各変数が個々にどのように作用しているかが可視化される

SHAPでの近似手法

  • SHAPでの近似にはいくつか手法が存在している

    Model-Agnostic Approximations

  • モデル(アルゴリズム)に依存しない手法だと思われる。

    Kernel SHAP (Linear LIME + Shapley values)

  • 近似手法であるLinear LIMEにShapley valuesを組み合わせた手法

 \omega(g)=0


 {\pi}_{x^{'}}(z^{'})=\frac{M-1}{(M choose|z^{'}|)|z^{'}|(M-|z^{'}|)}


L(f,g,{\pi}_{x^{'}}) = \sum_{Z^{'}{\in}Z}(f(h_x(z^{'}))-g(z^{'}))^{2}{\pi}_{x^{'}}(z^{'})

Model-Specific Approximations

  • 特定のモデル(アルゴリズム)に利用される手法

    Linear SHAP

  • 線形モデルに対して利用
  • 線形モデルを近似して解釈するメリットは何なんだろう?

    Low-Order SHAP

  • Mが小さい(変数の数が少ない)時に利用

    Deep SHAP(DeepLIFT + Shapley values)

  • Deep learning用の解釈手法であるDeepLIFTにShapley valuesを組み合わせた手法

終わりに

  • 機械学習モデルの解釈手法でポピュラーなものになっているSHAPの中身をざっくり理解できました。
  • 次は実データを使って試す予定です。