SHAP
SHAPは、機械学習モデルが出した予測を、入力された情報ごとに分けて説明するための考え方である。
モデルが最終的に出した値について、「どの情報がその値を高くし、どの情報が低くしたのか」を見るために使う。
目的
SHAPの目的は、機械学習モデルの予測結果を人が理解しやすくすることである。
機械学習モデルは、複数の特徴量(入力)をから予測を出す。
そのため、予測値だけを見ても、どの特徴量がその結果に強く関係しているのかは分かりにくい。
SHAPを使うと、予測結果を特徴量ごとに分解できる。
これにより、モデルがどの情報をもとに予測値を高くしたのか、または低くしたのかを確認できる。
具体例
たとえば、顧客の解約可能性を予測するモデルがあるとする。
モデルがある顧客について予測した場合、SHAPを使うと、解約可能性を上げた特性と下げた特性を分けて確認できる。
たとえば、最近ログインしていないことや問い合わせ回数が増えていることは、解約可能性を高くしているかもしれない。
一方で、契約期間が長いことや利用している機能が多いことは、解約可能性を低くしているかもしれない。
このように、単に「この顧客は解約しそうだ」と見るだけでなく、「なぜその予測になったのか」を特徴量ごとに確認できる。(説明可能な人工知能) 基本的な考え方
SHAPでは、まず基準(例:解約の可能性が中立→50%)を置く。
これは、個別のデータを詳しく見る前に想定される、平均的な予測値のようなものである。
そのうえで、各特徴量がその基準値をどれだけ上げたか、または下げたかを計算する。
最後に、それらをすべて足し合わせると、実際の予測値になる。
つまりSHAPは、モデルの予測を次のように読み替える。
「この予測値は、基準に対して、各特徴量が値を上げ下げした結果(総和)として得られたものである。」
SHAP値の意味
SHAP値は、各特徴量が予測値をどれだけ動かしたかを表す数値である。
SHAP値が正であれば、その特徴量は予測値を高くする方向に働いたことを意味する。
SHAP値が負であれば、その特徴量は予測値を低くする方向に働いたことを意味する。
SHAP値が大きい特徴量ほど、その予測に強く関係している。
SHAP値が0に近い特徴量は、その予測にはあまり関係していない。
位置づけ
すでに学習されたモデルについて、その予測がどの特徴量によって形づくられているかを説明するための方法である。
そのためSHAPは、ブラックボックスになりやすい機械学習モデルを理解するための説明手法として使われる。