結論
LIMEは、説明したい1件の周りで入力を少しずつ変えたデータを作り、その予測を線形モデルなどの単純なモデルで近似して、判断に効いた特徴量を示す手法です。SHAPは、協力ゲーム理論のシャープレイ値を使って、予測値と基準値の差を各特徴量に配分する手法で、貢献度を合計すると必ずその差に一致します。
比較表
| 観点 | LIME | SHAP |
|---|---|---|
| 英語 | Local Interpretable Model-agnostic Explanations | SHapley Additive exPlanations |
| 発表 | 2016年、Ribeiroら | 2017年、LundbergとLee |
| 説明の作り方 | 説明したい1件の入力を少しずつ変えたデータを多数作り、元の1件に近いものほど重く見て単純なモデルを当てはめる。その係数を説明とする | 特徴量を協力ゲームの参加者、予測値を報酬とみなし、予測値と基準値(平均的な予測値)の差をシャープレイ値で各特徴量に配分する |
| 理論的な裏付け | 近さの重み付け、損失、単純さへの罰則を経験的に決める。SHAPの論文は、この決め方では局所的な正確さや一貫性が満たされない場合があると指摘した | 特徴量ごとの効果を足し合わせる説明のうち、局所的な正確さや一貫性などの性質を満たすのはシャープレイ値ただ1つと示されている |
| 貢献度の合計 | 予測値と基準値の差に一致するとは限らない | 予測値と基準値の差にぴったり一致する |
| 結果の安定性 | データを乱数で作るため、同じ1件でも実行のたびに説明が変わることがある | 基準に使うデータを決めれば、厳密な値は1つに決まる。特徴量が多いと厳密な計算は重く、近似を使うと誤差が出る |
| モデル全体の傾向 | 基本は1件ごとの説明。代表的な事例とその説明を選んで並べる方法も、同じ論文で提案された | 1件ごとのSHAP値を多数のデータで集計し、全体での重要度や影響の向きも見られる |
| 対象のモデル | 問わない(モデルを外から呼び出すだけ) | 問わない近似法(Kernel SHAP)のほか、決定木やそれを組み合わせたモデル向けの高速な計算法などがある |
| シラバス項目 | 技術分野 項目33 モデルの解釈性 | 技術分野 項目33 モデルの解釈性 |
| G検定での問われ方 | 1件の周辺を単純なモデルで近似する仕組み、モデルの種類を問わない点、サンプリングで説明が変わりうる点 | シャープレイ値にもとづくこと、SHAP値の合計と予測値の関係(計算を含む)、LIMEやPermutation Importanceとの違い |
それぞれの説明
LIMEとSHAPは、どちらも説明可能AI(XAI)の手法です。複雑なモデルが出した1件の予測について、どの特徴量がどちら向きにどれだけ効いたかを示します。モデルの中身を見なくても、入力と出力の関係だけから説明を作れる点も共通しています。
LIME
LIMEは、2016年にRibeiroらが発表しました。複雑なモデルでも、説明したい1件のごく近くだけを見れば、単純な形で近似できるという考え方にもとづきます。まず、元の入力の一部を変えたデータを多数作り、モデルの予測を集めます。次に、元の1件に近いデータほど重く見て、線形モデルなどを当てはめます。その係数が説明になります。
手軽で直感的な一方、近さの測り方や作るデータの数は使う人が決めます。データを乱数で作るため、同じ1件でも実行するたびに説明が少し変わることがあります。
SHAP
SHAPは、2017年にLundbergとLeeが発表しました。協力ゲーム理論のシャープレイ値を使い、予測値と基準値(データ全体での平均的な予測値)の差を、各特徴量の貢献度として分け合います。貢献度を合計すると、差にぴったり一致します。
論文は、LIMEを含む既存の6つの手法を「特徴量ごとの効果の足し算で予測を説明する手法」として1つにまとめました。そのうえで、局所的な正確さや一貫性などの性質を満たす配分はシャープレイ値だけだと示しました。LIMEと同じ回帰の枠組みで、重み付けなどをこの条件に合わせた近似法がKernel SHAPです。厳密な計算は特徴量が増えると重くなるため、決定木やそれを組み合わせたモデル向けの高速な計算法なども使われます。
使い分け
1件の説明をすばやく直感的に示したいなら、LIMEが手軽です。配分の理屈を説明できることや、多数のデータで集計して全体の傾向も見ることを重視するなら、SHAPが向きます。融資の審査で断った理由を項目ごとの数値で示す場面では、合計が予測と食い違わないSHAPの性質が役立ちます。
見分けるコツ
- 「協力ゲーム理論」「シャープレイ値」「貢献度の合計が予測値と基準値の差に一致する」と出てきたらSHAPです。「説明したい1件の近くで単純なモデルに近似する」ならLIMEです。
- どちらも1件ごとの予測を説明する局所的な手法で、モデルの種類も問いません。「局所か大域か」「モデルを選ぶか」では区別できないため、説明の作り方で見分けます。
- 特徴量の値を並べ替えたときの性能の低下で、データ全体での重要度を測るのはPermutation Importanceです。LIMEとSHAPのどちらとも別の手法です。
◯×チェック
-
SHAPの論文では、LIMEも、各特徴量の効果を足し合わせて予測を説明する手法の1つとして整理されている。
答えを見る
答え ◯ 正しい
論文は、LIMEを含む既存の6つの手法を「特徴量ごとの寄与の足し算で説明する手法」という1つの枠組みにまとめました。そのうえで、望ましい性質を満たす配分はシャープレイ値だけだと示しています。
-
LIMEで得た各特徴量の係数を合計すると、必ずその1件の予測値と平均的な予測値の差に一致する。
答えを見る
答え × 誤り
LIMEは近さの重み付けなどを経験的に決めるため、合計が差に一致する保証はありません。合計が必ず差に一致するのは、シャープレイ値にもとづくSHAPの性質です。
-
Kernel SHAPは、LIMEと同じく重み付きの線形回帰で局所的な説明を求める方法で、重み付けなどをシャープレイ値が得られる形に定めている。
答えを見る
答え ◯ 正しい
SHAPの論文は、LIMEの回帰の枠組みのまま、重み付けのカーネルや損失などを特定の形にすればシャープレイ値を推定できることを示しました。モデルの種類を問わずに使えます。
関連問題
問題の一覧(3問)
出典と作成について
作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)
公開日: 最終更新日: 最終確認日:
対応シラバス:シラバス第1.4版 技術33
出典
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目33 モデルの解釈性)2026年11月1日閲覧
- Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin, "Why Should I Trust You?": Explaining the Predictions of Any Classifier, KDD 2016, 1135–11442026年11月1日閲覧
- Scott Lundberg, Su-In Lee, A Unified Approach to Interpreting Model Predictions, NIPS 2017(2.1 LIME、3 Simple Properties Uniquely Determine Additive Feature Attributions、4.1 Model-Agnostic Approximations(Kernel SHAP))2026年11月1日閲覧
- Scott M. Lundberg et al., From local explanations to global understanding with explainable AI for trees, Nature Machine Intelligence 2, 56–67 (2020)2026年11月1日閲覧
ほかの違い比較51件
- アジャイルとウォーターフォールの違い
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い
- バギングとブースティングの違い
- バッチ正規化とレイヤー正規化の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い
- BERTとGPTの違い
- CBOWとスキップグラムの違い
- 分類問題と回帰問題の違い
- CNN・RNNとTransformerの違い
- 協調フィルタリングとコンテンツベースフィルタリングの違い
- 共分散と相関係数の違い
- データ汚染とAdversarial Attackの違い
- 決定木とランダムフォレストの違い
- 深さ優先探索と幅優先探索の違い
- 営業秘密と限定提供データの違い
- Faster R-CNNとYOLOの違い
- GANと拡散モデル(Diffusion Model)の違い
- GANとVAEの違い
- GDPRと個人情報保護法の違い
- 勾配降下法と誤差逆伝播法の違い
- グリッドサーチとランダムサーチの違い
- ホールドアウト検証と交差検証の違い
- 画像分類(物体識別)と物体検出の違い
- 委託・第三者提供と共同利用の違い
- k-means法と階層的クラスタリングの違い
- 個人情報・個人データと保有個人データの違い
- 個人情報と個人識別符号の違い
- L1正則化とL2正則化の違い
- 最小二乗法と最尤法の違い
- LSTMとGRUの違い
- 機械学習とディープラーニングの違い
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い
- 正規化と正則化の違い
- 主成分分析(PCA)と特異値分解(SVD)の違い
- 主成分分析(PCA)とt-SNEの違い
- 適合率と再現率の違い
- プルーニング・量子化と蒸留の違い
- Q学習とSARSAの違い
- RNNとLSTMの違い
- Self-AttentionとSource-Target Attentionの違い
- セマンティック・インスタンスとパノプティックの違い
- 新規性と進歩性の違い
- シグモイド関数とソフトマックス関数の違い
- ソフトローとハードローの違い
- 強いAIと弱いAIの違い
- 教師あり学習・教師なし学習と強化学習の違い
- 特許権と著作権の違い
- 匿名加工情報と仮名加工情報の違い
- 転移学習とファインチューニングの違い
- 請負契約と準委任契約の違い
- Zero-shotとFew-shotの違い