SHAP値とは?機械学習の判断根拠をわかりやすく解説

SHAP値とは?機械学習の判断根拠をわかりやすく解説

AIの初心者

『SHAP』って何ですか?AIの判断理由を説明するものだと聞いたのですが、まだイメージできません。

AI専門家

SHAPは、AIが出した予測に対して、どの情報がどれくらい効いたのかを数値で説明する方法だよ。ブラックボックスになりやすい機械学習の判断を、人が確認しやすくしてくれるんだ。

AIの初心者

どうして、情報ごとの影響を分けて考えられるのですか?

AI専門家

複数人で成果を出したときに、誰がどれだけ貢献したかを公平に分ける考え方があるんだ。SHAPはその考え方を使って、特徴量ごとの貢献度を予測結果に割り当てていくよ。

SHAPとは。

SHAP(シャップ、またはシャープ)は、機械学習モデルの予測結果を説明するための手法です。正式には Shapley Additive Explanations と呼ばれ、日本語では「シャープレイ加法説明値」と訳されます。

ポイントは、モデルの予測に対して、各特徴量がどれだけ押し上げたか、または押し下げたかを数値で示すことです。たとえば住宅価格を予測するモデルなら、広さ、築年数、駅からの距離といった情報が、最終的な価格予測にどの程度効いたのかを確認できます。

SHAP値とは?機械学習の判断根拠を説明する考え方

SHAP値がブラックボックス化した機械学習モデルの判断根拠を説明する概念図

機械学習モデルは、入力データをもとに分類や予測を行います。しかし、精度の高いモデルほど内部構造が複雑になり、「なぜその答えになったのか」が見えにくくなることがあります。この状態はよくブラックボックスと呼ばれます。

SHAP値は、このブラックボックスの問題に対して、予測結果を特徴量ごとの寄与に分解します。正のSHAP値は予測値を上げる方向、負のSHAP値は予測値を下げる方向に働いたと読みます。つまり、予測結果をただ受け取るだけでなく、その根拠を特徴量単位で確認できるようになります。

たとえば「ある住宅の予測価格が高い」と出た場合、SHAP値を見ると「面積が広いことは価格を上げた」「築年数が古いことは価格を下げた」「駅に近いことは価格を上げた」といった形で、予測の内訳を説明できます。

なぜ説明可能AIが必要なのか

AIの予測結果と根拠を人が確認する説明可能AIのイメージ

AIや機械学習は、商品の推薦、病気の診断支援、融資審査、設備の故障予測など、生活やビジネスの重要な場面で使われています。ここで問題になるのは、予測が当たっているかだけではありません。その判断を人が理解し、必要に応じて説明できるかも重要です。

たとえば医療診断支援で、モデルが「高リスク」と判断したとします。医師や患者が確認したいのは、単なるスコアではなく、どの検査値や症状が判断に影響したのかです。もし背景に写った偶然の要素や、偏ったデータに反応していたなら、精度が高く見えても信頼できません。

このように、モデルの判断根拠を人が追えるようにする分野を説明可能AI、英語では Explainable AI、略してXAIと呼びます。SHAP値はXAIの代表的な手法の一つで、モデル改善、監査、説明責任、現場での意思決定支援に使われます。

SHAP値とシャープレイ値の関係

複数の特徴量が予測値に貢献するシャープレイ値の考え方

SHAP値のもとになっているのは、ゲーム理論に登場するシャープレイ値です。シャープレイ値は、複数の参加者が協力して成果を出したときに、各参加者の貢献度を公平に評価するための考え方です。

これを機械学習に置き換えると、ゲームの参加者が「特徴量」、成果や報酬が「モデルの予測値」に相当します。住宅価格の例なら、広さ、築年数、駅からの距離、周辺環境などが参加者です。SHAP値は、それぞれの特徴量が予測結果に加わったとき、予測値がどれだけ変わるかを見て、貢献度を割り当てます。

重要なのは、単に一つの特徴量だけを見るのではなく、他の特徴量との組み合わせも考える点です。たとえば「駅から近い」という特徴は、地域や面積、築年数との組み合わせによって意味が変わることがあります。SHAP値はこうした組み合わせの影響も考慮しようとするため、単純な重要度よりも細かい説明が可能になります。

用語 意味
SHAP値 各特徴量が予測結果をどれだけ押し上げたか、または押し下げたかを示す値
シャープレイ値 協力して得た成果を、参加者の貢献度に応じて分配する考え方
特徴量 モデルに入力する説明変数。住宅価格なら面積、築年数、駅距離など
基準値 SHAPで個別予測を説明するときの出発点になる平均的な予測値

SHAP値の計算方法を簡単な流れで見る

特徴量を含む場合と含まない場合の予測差を比較するSHAP値の計算イメージ

SHAP値の厳密な計算は複雑ですが、基本的な考え方は「ある特徴量がある場合とない場合で、予測がどれだけ変わるか」を比べることです。住宅価格モデルで「広さ」のSHAP値を見たい場合、広さを含めた予測と、広さを外した予測の差を調べます。

ただし、特徴量は一つずつ独立して働くとは限りません。そのため、広さだけを見るのではなく、「広さと築年数」「広さと駅距離」「広さ、築年数、駅距離」など、さまざまな特徴量の組み合わせで差を計算します。そして、その差を重み付きで平均することで、広さの貢献度を求めます。

\(\phi_i = \sum_{S \subseteq F \setminus \{i\}} \frac{|S|!(|F|-|S|-1)!}{|F|!}\{f(S \cup \{i\}) – f(S)\}\)

この式では、特徴量 i を追加したときの予測の変化を、さまざまな組み合わせ S について平均しています。初心者は式を暗記するより、「特徴量を足したときの予測差を、いろいろな順番や組み合わせでならしている」と捉えると理解しやすくなります。

計算後の読み方はシンプルです。SHAP値がプラスなら、その特徴量は今回の予測を高める方向に働きました。マイナスなら、低める方向に働きました。値の絶対値が大きいほど、その予測に対する影響が大きいと考えます。

SHAP値の可視化で何がわかるか

SHAP値の棒グラフと個別予測の内訳を示す可視化ダッシュボード

SHAP値は数値のままでも使えますが、実務では可視化して読み取ることが多くあります。可視化すると、モデル全体でどの特徴量が重要か、ある1件の予測で何が効いたか、特徴量の値が高いほど予測がどう変わるかを確認しやすくなります。

代表的な見方の一つは、特徴量ごとの平均的な影響を棒グラフで見る方法です。各特徴量のSHAP値の絶対値を平均すると、モデル全体でどの特徴量が予測に強く関係しているかがわかります。これは「全体傾向」を見るのに向いています。

もう一つは、個別データの予測を内訳として見る方法です。基準値から始まり、各特徴量のSHAP値が積み上がって最終予測に近づく様子を表示します。これにより、「この顧客が高リスクと判断されたのは、返済履歴と借入額が大きく効いたから」といった説明がしやすくなります。

可視化 主な目的 読み取れること
棒グラフ 全体の重要特徴量を把握する モデル全体で影響が大きい特徴量
サマリープロット 特徴量の値と影響方向を見る 値が高い・低いと予測がどう動くか
ウォーターフォールプロット 1件の予測理由を説明する 基準値から最終予測までの内訳
依存プロット 特定特徴量の影響を詳しく見る ある特徴量が予測に与える変化の傾向

SHAP値の活用例

SHAP値は、AIの判断理由を説明する必要がある分野で特に役立ちます。医療では、検査値や症状のどれが診断支援モデルの予測に影響したかを確認できます。医師がAIの結果をそのまま受け入れるのではなく、根拠を見ながら専門判断に組み込める点が重要です。

金融では、信用リスク評価や不正検知で使われます。融資審査モデルが高リスクと判断した場合、収入、返済履歴、借入額、取引パターンなどのうち、どの要因が判断に効いたかを説明できます。これは社内監査や顧客への説明、モデル改善にもつながります。

製造業では、品質管理や故障予測に活用できます。センサーデータを使ったモデルにSHAP値を適用すると、温度、振動、圧力、稼働時間などのどれが異常判定に効いたのかを確認できます。原因候補を絞りやすくなるため、保守や工程改善に役立ちます。

分野 活用例 期待できる効果
医療 診断支援、治療方針の検討、新薬開発 判断根拠の確認、専門家による検証、要因探索
金融 信用リスク評価、不正取引検知 審査理由の説明、監査対応、モデル改善
製造業 品質予測、故障予兆検知 異常要因の特定、保守判断、工程改善

SHAP値の利点と注意点

SHAP値の大きな利点は、ゲーム理論に基づく一貫した考え方で特徴量の貢献度を説明できることです。また、モデル全体の傾向と個別予測の理由の両方を扱いやすく、グラフで可視化しやすい点も実務で使われる理由です。

一方で、SHAP値にも注意点があります。まず、特徴量の数が多いと組み合わせが急増するため、厳密な計算は重くなります。実際には近似計算やモデルに応じた高速な手法を使うことが多く、計算方法によって結果の見え方が変わる場合があります。

また、特徴量同士に強い相関があると、貢献度の分配が直感とずれることがあります。たとえば「年齢」と「勤続年数」のように似た情報を持つ特徴量がある場合、どちらにどれだけ貢献を割り当てるかは単純ではありません。SHAP値は便利ですが、モデルやデータの偏りまで自動的に正してくれるものではない点は押さえておく必要があります。

SHAP値を学ぶときに押さえたい関連用語

SHAP値を理解するときは、似た用語との違いも確認しておくと混乱しにくくなります。特徴量重要度は、モデル全体でどの特徴量が重要かを見る指標として使われますが、個別の予測で「なぜこの結果になったか」を説明するには不十分なことがあります。SHAP値は、全体傾向だけでなく個別予測の内訳にも使いやすい点が特徴です。

LIMEも、個別予測を説明する代表的な手法です。LIMEは予測対象の近くで単純なモデルを作って説明する考え方で、SHAPとは計算の考え方が異なります。部分依存プロットは、ある特徴量を変えたときに予測がどう変わるかを見る方法で、特徴量と予測の関係を大まかに理解するのに向いています。

どの手法も万能ではありません。学習の入り口では、SHAP値を「特徴量ごとの貢献を数値化する方法」と理解し、必要に応じて他の説明手法と組み合わせて使うとよいでしょう。

まとめ

SHAP値は、機械学習モデルの予測結果を特徴量ごとの貢献度に分解し、判断根拠を人が確認しやすくする手法です。ブラックボックス化しやすいAIを実務で使ううえで、説明可能AIの代表的な技術として重要な役割を持っています。

基本の読み方は、正のSHAP値が予測を押し上げ、負のSHAP値が予測を押し下げるというものです。可視化を使えば、モデル全体の重要特徴量や、1件ごとの予測理由を把握できます。ただし、計算コスト、特徴量同士の相関、データの偏りには注意が必要です。SHAP値はAIの判断を理解する強力な手がかりですが、現場の知識や検証と合わせて使うことが大切です。

更新履歴

日付 内容
2025年2月2日 初回公開
2026年5月16日 SHAP値の読み方、可視化、注意点を追って確認できる構成に更新

Weeybleの最新イベント

イベント一覧

イベント情報を読み込んでいます。

この記事の内容に興味を持った方へ

コワーキングスペース秋葉原Weeybleでは、AI、Web開発、クラウド、セキュリティなど、エンジニア向けの勉強会やもくもく会を開催しています。

もくもく作業したい方、技術について話したい方、これから学びたい方も歓迎です。

「もくもく会って何?」「初めて参加しても大丈夫?」という方は、もくもく会とは?意味や参加方法をわかりやすく解説の記事もあわせてご覧ください。

生成AI・AIエージェント開発のご相談

AWS Bedrockを活用したAI開発支援

業務システム自動化・エージェント開発に対応

PoC・技術検証・研究開発フェーズからご相談いただけます

アルゴリズム