LIME - Local Interpretable Model-agnostic Explanations

機械学習 モデル説明

リンク

model explanation とは

そういう研究分野が在る.

予測器の予測について、 「どの特徴量 (データの部分) が効いたから、こういう予測をした」 ということを知りたい. このような動機の例として、 最終的に人間が判断を下す場合に納得感を与えるため. 或いは、学習モデルの定性的な性能評価にも使える. 例えば、画像認識において、正しく判断はしてはいるものの、本質的ではないところで判断をしてる場合、必ずしもそのモデルが良いとは言えないだろう. 逆に、これは論文の例だが、オオカミを検知するのに、オオカミ自身ではなく周辺に写ってる雪の領域を検知していたために、オオカミとハスキー (犬) を区別できなかったという発見があったらしい.

DNN では学習結果はとても複雑で中身は最早ブラックボックスのため、真面目に中身を解析して、データのどの領域が結果に貢献したかという解析が大変面倒であった. あるいはカーネルを入れた SVM でもそうだった. そのために、私の学生時代、結果の考察がしやすいよう、線形SVMか、ランダムフォレストを使えと言われたものだった. ランダムフォレストでもそんな容易だとは言い難いが.

最も解析が容易なのは、間違いなく線形分類器だ. 単純に、重みの絶対値が大きい素性ほど、意味があることになるから.

局所性

DNN 等で学習した結果はとても複雑な分類境界面を持っているが、 ある狭い領域だけを取り出せば、境界は超平面と見做せ、その領域で制限すれば、 データは線形分離可能である. すなわち、線形分類器で同等の分類が可能である.

agnostic

そのような線形分類器を学習済みモデル \(f\) のパラメータとかから具体的に構成するのは難しい. なので \(f\) は最早ブラックボックスとして扱い (agnostic)、挙動を摸倣するような線形分類器を新しく学習すればよい. すなわち、ある領域 \(U\) について、 \(\{(x, f(x)) : x \in U\}\) を教師データとするのである.

LIME

学習済みモデル \(f\) とデータ点 \(x\) について、 \(f\) が何故 \(f(x)\) を予測したかを説明することを目的とする.

\(x\) の近くに於いてのみ、\(f\) の挙動を真似するような線形分類器 \(g\) を作成する. この \(g\) は説明に使うのが目的であるので、できるだけ単純であることが望ましい. もちろん線形分類器であるというのが単純さの一つであるが、他にも罰金項を入れるとか、 入力が BoW なら、\(K\) 語に限定するだとか.