XAI(説明可能AI)は、AIの予測に「なぜ」を示す技術であり、ブラックボックス化したモデルの判断根拠を明らかにし、透明性と信頼性を高めます。本記事では、局所的な説明を与えるLIMEと、公平な寄与評価を行うSHAPについて解説していきます。
LIME(local interpretable model-agnostic explanations)
LIMEは、ブラックボックスモデルに対して、ある入力 $x$ がその予測に至った局所的な理由を明らかにできる手法であり、最大の特徴はモデルの種類に依存せず使える点です。
あるモデルがデータ$X$に対してどの特徴量に注目して結果を出したかを推定することができます。
たとえば、画像分類モデルが「犬」と判断した画像や、回帰モデルが「価格=3000」と出した住宅データなどが該当します。
手法説明
LIMEの特徴はブラックボックス化したモデルそのものを解析するわけではなく、「局所的に近似する」ことを目指す点です。ここで注意したいのはモデル全体を近似するわけではなく、入力$x$に対しての近傍の挙動を近似することを目指しています。
具体的には、重み付き線形回帰モデルで近傍のモデルの動きを再現することで解析します。具体的な手順は以下です。
近傍データ作成
まず、入力$x$の近傍データを作成する必要があります。$x$にノイズを加えて$X_0$を作成し、これらを解析したいモデルに入力することで解析モデルの$x$周辺の近傍データ$X_0$, $Y_0$を得ます。
近傍データの加工
LIMEは、ある特定のサンプル $x$ に対して「その周囲でのモデルの振る舞い」を近似することを目的とします。
しかし、近傍データの中には「遠すぎる点」も存在します。遠い点は、もはや $x$ の局所的な性質を反映していないため、そのような点を同等に扱うと、局所説明が崩れてしまいます。
したがって、LIMEでは「近いサンプルほど重要」「遠いサンプルほど影響を弱める」ように重みを与える仕組みを導入します。
重みは通常、距離に基づくカーネル関数(kernel function)で定義されます。
もっとも一般的なものが下記の指数カーネル(RBF kernel)です。
$w(X_0) = \exp!\left(- \frac{D(x, X_0)^2}{\sigma^2}\right)$
$x$は解析対象のサンプル
$X_0$は作成した近傍データ
この距離関数によって近傍ではないデータは無視されるほど小さくなるわけです。
距離関数$D(x,X_0)$にはユークリッド距離やコサイン距離など様々な距離関数が利用されます。
線形回帰の学習
得られた近傍データ$X_0$を使って線形回帰モデルの学習を行います。
この段階では、LIMEが注目している入力サンプル $x$ の近傍での挙動を
できるだけ正確に再現するようにモデルを最適化します。
LIMEで用いられる目的関数は以下の通りです。
$\min_{g \in G} \sum_i w(X_0) \bigl( f(X_0) – g(X_0) \bigr)^2 + \Omega(g)$
ここで:
- $ f(X_0)$:ブラックボックスモデルの出力(予測値)
- $g(X_0) $:LIMEが近傍で学習する線形モデル
- $ w(X_0) $:近傍点 $x_0 $の重み(距離に基づく重要度)
- ($\Omega(g) $:正則化項(モデルの複雑さを抑える)
学習の流れ
- 近傍データ ( $X_0$ ) を入力とし、ブラックボックスモデル ($ f(x)$ ) の出力を取得
- 各サンプルに重み ( $w(X_0)$ ) を付与(距離が近いほど重みが大きい)
- 上記の目的関数を最小化し、線形モデル ( $g(x) = \beta_0 + \sum_j \beta_j x_j $) を学習
- 得られた係数 ($ \beta_j $) を、特徴量の重要度(寄与度)として解釈
このように近傍点を予測できる線形回帰モデルの各特徴の重みは、
その入力特徴が予測結果にどの程度寄与したかを示す「寄与度(feature contribution)」として解釈されます。
ここで得られる回帰係数 ( $\beta_j$ ) は、各特徴量 ($ x_j$ ) が出力に与える影響の大きさと方向を意味します。$g(x) = \beta_0 + \sum_j \beta_j x_j$
- ($ \beta_j > 0$ ):その特徴が予測値を増加させる方向に影響
- ( $\beta_j < 0 $):その特徴が予測値を減少させる方向に影響
- ( $|\beta_j| $) の大きさ:影響の強さ(寄与度の大きさ)
LIMEでは、このようにして得られた寄与度をもとに、
「どの特徴が予測にどれだけ影響したのか」を人間が理解できる形で提示します。
例えば:
- 画像分類では「注目されたピクセル領域」
- テキスト分類では「特定の単語」
- 表データでは「特徴量(年齢・収入など)」
といった形で、ブラックボックスモデルの判断根拠を直感的に解釈できるようになります。
このプロセスによって、LIMEは単なる予測結果の説明にとどまらず、
モデルが「なぜその結論に至ったのか」という局所的な説明性(local interpretability)を実現しています。
注意点
この線形モデル ($ g(x)$ ) は、あくまで
ブラックボックスモデル ($ f(x)$ ) の「局所的な近似」を行うものです。
- 全体を説明するモデルではなく、特定の入力 ( $X_0$ ) に対して
「なぜその予測が出たのか」を理解するために構築されます。
そのため、LIMEの線形回帰はグローバルな予測性能ではなく、
局所的な説明性(local interpretability) を重視します。
SHAP
SHAPは、LIMEと同様にブラックボックスモデルの判断根拠を明らかにするための手法です。
この手法では、モデルの出力を「基準値(平均的な予測値)」と「各特徴がもたらす影響」に分解して考えます。
具体的には、各特徴を「使う場合」と「使わない場合」でモデルの予測値がどのように変化するかを観測します。
その予測値の差分を、その特徴が予測に与えた寄与(影響の度合い)として評価します。
このようにして得られる「特徴を使う・使わない」による予測値の変化を、
すべての特徴の組み合わせに対して平均化することで、各特徴の寄与度(Shapley値)を算出します。
Shapley値は、ゲーム理論に基づく考え方で、
「全体の成果(モデルの予測)を、各プレイヤー(特徴量)の貢献に応じて公平に分配する」という原理に従っています。
これにより、どの特徴量がモデルの予測結果にどれだけ影響したのかを、
理論的に一貫した形で定量的に説明することが可能になります。
手法
まず、モデルの予測値 $f(x)$ を全体の平均的な予測値 $E[f(x)]$と各特徴の寄与度 $\phi_i$に分けます。
$ f(x)=E[f(x)]+\sum_{i=1}^{M} \phi_i $
$E[f(x)]$:モデルの平均出力(基準値)
$\phi_i$:特徴 $i$の寄与(Shapley値)
各特徴が「どれだけ予測を上げたか/下げたか」を表す
ある特徴 $i$ が予測にどれだけ貢献したかを調べるために、
その特徴を「使う場合」と「使わない場合」で予測値を比較します。
- $f(S)$:特徴集合 $S$ のみを使ったときの予測値
- $f(S∪{i})−f(S)$:特徴 $i$を追加したときに予測値がどれだけ変化するか
ただし、単純に特定の特徴量を抜いた場合ではなく、特徴量$i$の影響を調べるために、他の特徴がどの組み合わせで使われるかによって寄与は変わるため、「すべての特徴の組み合わせ(2ⁿ通り)」に対してこの変化を平均します。式にすると以下のようになります。
$\phi_i =\sum_{S \subseteq N \setminus {i}}\frac{|S|!\,(|N|-|S|-1)!}{|N|!}\left[ f(S \cup {i}) – f(S) \right]$
SHAPの欠点
全特徴数を$M$ とすると、可能な部分集合$S$の数は$2^{M-1}$通りになる。
したがって、厳密な Shapley値の計算は 指数オーダー$(O(2^n))$ の計算量を要するため、計算に莫大な時間がかかる場合がある。このため、近似が使われる場合もあります。
まとめ
LIMEとSHAPはいずれも、ブラックボックスモデルの「なぜその予測をしたのか」を人間にわかりやすく説明するための手法です。
両者の最も大きな違いは、説明の範囲と理論的根拠にあります。
LIMEは、ある特定の入力点の近傍を線形回帰で近似し、局所的な説明を得る手法です。
一方でSHAPは、ゲーム理論の「Shapley値」に基づき、すべての特徴の組み合わせを平均化して寄与度を算出することで、より理論的に一貫した説明を提供します。
そのため、
- モデルの個別の判断を素早く可視化したい場合は LIME
- モデル全体における特徴の公平な寄与を評価したい場合は SHAPを用いるのが適しています。
また、実務ではSHAPの厳密計算は膨大なため、近似アルゴリズムを利用するのが一般的です。
これにより、理論的な公平性を保ちながら、実用的な計算時間で特徴寄与を求めることが可能になります。
最終的に、LIMEとSHAPはどちらも「モデルの透明性を高め、信頼できるAIを実現する」ための重要なアプローチです。
目的が局所的な理解か全体的な説明かによって、適切に使い分けることが重要です。





