見出し画像

SHAPについて

はじめまして、九州工業大学情報工学府、本田あおい研究室の山下です。これから普段行っている研究や、読んでいる論文に関する情報をnoteに記録していくことになりました。よろしくお願いします。
今回はSHAPの論文を読んだので、それについて紹介したいと思います。

今回読んだSHAPの論文:https://arxiv.org/abs/1705.07874

Additive Feature Attribution Methods

Additive Feature Attribution Methodsとは線形回帰モデルの解釈が容易なことから、機械学習モデルにおいても各データに対して特徴量と予測結果の線形モデルを作り、特徴量が予測に与える影響を定量評価しようとする手法です。

Additive Feature Attribution Methodsの定義:
𝑓(𝑥)を元の予測モデル、𝑔(𝑧’)をその説明モデルとすると

$${𝑧_𝑖^′}$$は特徴量$${𝑥_𝑖}$$の存在有無を示すバイナリ値(0か1)を表しており、$${Φ_i}$$は特徴量iの有無によって最終的な予測結果にどれだけ影響があるかを示しています。

Shapley値

Shapley値とは協力ゲームの理論に使われる報酬計算手法の一つです。プレイヤー i が加わることによって生じる追加的な貢献度を限界貢献度と呼び、この限界貢献度を用いて計算されます。

Shapley値の定義:

満たしてほしい3つの性質

Additive Feature Attribution Methodsには満たして欲しい3つの性質があります。

性質1   Local accuracy (局所的な精度)

この性質は説明対象のモデル予測結果 = 特徴量の貢献度の合計値の関係になっていることを表しています。

性質2   Missingness (欠落性)

この性質は$${𝑥_𝑖}$$が情報欠損しているときは常に貢献度がゼロであるということを表しています。

性質3   Cosistency (一貫性)

この性質は任意の特徴量が予測モデルに与える影響が大きくなるように予測モデルを変更した際に、その特徴量の貢献度が減少しないということを表しています。

このとき、説明モデル 𝑔に対して上の3つの性質を定めると、その3つの性質を満たすような$${Φ_𝑖}$$ は次のような式で一意に定まります。

この値はShapley値と一致しており、このことからAdditive Feature Attribution Methodsの中で、上の3つの性質を満たす値はShapley値のみであることが分かります。また、Shapley値に基づいた方法なら上の3つの性質を満たしているといえます。

SHAP

SHAPとは

SHAPはShapley値を機械学習に応用して、入出力の関係から特徴量が予測に与える影響の解釈を行えるようにした解釈手法です。SHAPはShapley値に基づいた方法なので、先ほどの満たして欲しい3つの性質を満たしているといえます。

SHAPとShapley値の違い

SHAPとShapley値の違いとしては限界貢献度の計算方法に違いがあります。Shapley値はプレイヤーiが参加したときとしてないときの報酬の差分を限界貢献度に用いていましたが、SHAPでは特徴量iの値が分かっているときと分かっていないときの予測値の差分を限界貢献度に用いています。

SHAP値の近似手法の種類

SHAP値の正確な値を計算するのは困難であるため、いくつかの近似手法が考案されています。

・Kernel SHAP
どんなモデルでもある程度効率的にSHAP値の近似を行うことができます。
・Linear SHAP
線型モデルの場合にモデルの重みから直接近似を行うことができます。
・Deep SHAP
深層学習モデルの場合により高速で近似を行うことができます。

おわりに

今回はSHAPの論文を読んでSHAPについてある程度理解することができたので、今後は実際にSHAPのライブラリを使って実験できたらいいなと思っています。

最後まで読んでいただきありがとうございました。




この記事が気に入ったらサポートをしてみませんか?