盆暗の学習記録

データサイエンス ,エンジニアリング,ビジネスについて日々学んだことの備忘録としていく予定です。初心者であり独学なので内容には誤りが含まれる可能性が大いにあります。

SHAP valuesの論文を読んだのでメモする

Lundberg, S. M., & Lee, S. I. (2017). A unified approach to interpreting model predictions. Advances in neural information processing systems, 30.

2017年の論文なので今更ですが読んだのでメモします。

沢山の内容を10ページに詰め込んだような全体的に説明が少ない論文だったので、ふわっとした理解のまま書いてます。誤情報があったらごめんなさい。

概要

  • 「この予測値はどういう特徴量が影響してこうなったのか」という局所的説明(local explanation)を行う手法
  • 特徴量の貢献度の推定量としてゲーム理論のShapley valuesの概念を使用することで望ましい性質を持つ推定量を開発(望ましいという根拠は不明)
  • 計算量が多いShapley valuesを重み付き最小二乗法で線形近似することで実用的な計算量にした

内容まとめ

additive feature attribution methods

この分野の先行研究として、LIMEやDeepLIFTのような既存の説明手法が存在する。これらは数学的には似ていて

のような線形のモデルで表現する形をとる共通点がある。

ここでφは特徴量の貢献度(attribution)で、z'は特徴量の有無を示す二値変数(z' ∈ {0 ,1}^M)であり、Mは特徴量の数で、iは列のインデックス。

本論文ではこうした手法を総称してadditive feature attribution methodsとよぶ。

先行研究たちの構造(線形、というモデルの構造)は一緒で、φの推定量が異なるような状況。

定量の性質とShapley values

このφの求め方は色々あるが、以下に述べる3つの性質を持つような解はひとつしか存在せず、その解はShapley valueである。

  1. Local accuracy: 説明モデルg(x')と元の予測モデルf(x)の出力値が一致する
  2. Missingness: ある特徴量が欠損しているとき、その特徴量は予測に貢献しない
  3. Consistency: 予測モデルf(x)の出力値を増加あるいは維持する(下げない)特徴量があるとき、その特徴量の貢献度も下がらない

(Missingnessはadditive feature attribution methodsであれば満たされる。Local accuracyとConsistencyはShapley valueに関する研究で性質が明らかになっている)

以下の式がShapley valuesとして知られるもので、これは特徴量を追加したときの予測値の変化を、特徴量の有無のすべての組み合わせにわたって加重平均したものである。

SHAP values

Shapley valuesを条件付き期待値で表現したもの。

Kernel SHAP

先行研究にはLIMEという局所線形近似によって説明モデルを作る手法がある。LIME推定量がShapley valueになるかどうかは損失関数L、重みカーネルπ、正則化項Ωに依存する。

以下のΩ, π, Lを使えば推定量がShapley valueになる

誤差関数は重みつきの二乗誤差 → 重み付き最小二乗法で推定できる。

数値例

「重み付き最小二乗法で求める」という方法について論文中ではさらっと説明が終わったので、こんな感じかな?と推測しながら書いたもの。

それっぽい値が出ているものの、なんか違う気もする。間違っている可能性が結構あるので話半分にみていただければと思います。

一番間違ってそうな箇所は予測値 y = f(h_x(z)) の部分で、特徴量が欠損している場合にどうやって予測させるかです。線形回帰なら特徴量をゼロとおけばいいけど欠損値を扱えない機械学習アルゴリズムの場合はこれができないので間違ってる気がする。でも正解の形がわからない・・・。