特定の分類子wrt機能の出力を説明する


7

バイナリ分類子が与えられた場合、なぜそれが何らかの入力を陽性クラスとして分類したのかを説明することは常に可能ですか?そして、つまり、大きな機能セットがある場合、次のようなツールがあります。

よろしくお願いします!


あなたはからページを借りることができLIME紙やローカルモデルフィット解釈します。ロジスティック回帰。
Emre 2017

意思決定ツリーは非常にわかりやすく、解釈しやすいものです。
ホッブズ

回答:


3

このライブラリの例をいくつか試してみてください。このライブラリは、機械学習を使用してPythonのブラックボックス機械学習モデルを理解しようとしています。

https://github.com/TeamHG-Memex/eli5


会議での講演でこれについて聞いた。昨日:D ただし、ツリー以外のアルゴを作成しようとしています。自分自身が不必要に複雑であることを説明します。しかし、それは個人的な意見ですが!
Dawny33

とりあえず因数分解マシンを使用していることを除いて私が探していたものであり、残念ながらELI5には含まれていません。それでも、組み込まれているアルゴリズムでどのように機能するかを確認します。ありがとうございます!
mlx 2017

@CalZはリンクをありがとう、その印象的なものはそれを試してみるでしょう。
Xformer 2017

2

そのような幅広い質問に非常に良い答えを与えることは難しいです。

モデルの解釈性は大きなトピックであり、通常はモデルに依存します。ロジスティック回帰などの単純なモデルは、ニューラルネットワークよりも解釈が簡単です。「機能を増やすことができればバツ 1、次にのオッズ y 起こって増加します β

同様に、個々の決定木は、ランダムフォレストよりも解釈が容易です。しかし、「機能の重要度」を計算することでランダムフォレストを解釈しようとする人もいます。これはいくつかの方法で計算できます。その1つは、分割するサンプル数と比較した、機能を含む分割数です。

モデルをブラックボックスとして扱い、すべてを解釈できる方法が必要であるモデルですか?

私は2つの方法を考えることができます:

  1. サンプルを使用して、入力を操作し、出力がどうなるかを確認します

典型的な方法の1つは、入力を変更して、モデルのパフォーマンスへの影響を確認することです。画像では、画像の一部をブラックアウトして、どの部分が精度に最も貢献しているかを確認できます。これは、他の方法では解釈が難しい畳み込みニューラルネットワークで広く使用されています。

数値変数の場合、各機能にゼロを設定するか、ノイズを追加して、その個々の機能が結果に与える影響を確認できます。

こういうものが広く使われているのを見てきました。

  1. 機能ありと機能なしのトレーニング

機能の有無にかかわらずトレーニングを行い、モデルの精度に与える影響を確認することを除いて、前のものと同様です。

これには、前のアプローチのように各機能に追加するノイズの量などのハイパーパラメーターについて考える必要がないという追加の利点があります。さらに、これらの機能の有無を試すことにより、出力のいくつかの機能の影響をよりよく理解できます。

このアプローチが使用されたのを見たことがありませんが他の人が答えたようにそれも明らかに使用されています。


とにかく、私はそのようなハックを避けます。ほとんどのモデルは、なんとかして解釈可能にすることができます。私は、再帰型ニューラルネットワークを解釈可能にする人々を見てきました。また、解釈可能性が懸念される場合は、解釈と説明が簡単な単純なモデルを使用してください。


0

興味深いことに、そのようなことはまだ聞いたことがありませんが、フィーチャとターゲット変数の間の相関行列は、ある程度の知識を与えてくれます。相関関係が高い場合、ターゲットを予測している間、これらの機能の発言が高くなる可能性があります。Pythonを使用している場合、seabornを使用して相関行列を視覚化することをお勧めします。ここはサンプルコード1です。


これは、開始する1つの方法です。しかし、再び、特徴選択メソッドは、データセット全体を調べ、有用なアンサンブルビューになり得るものを提供するため、通常、一般化に重要な入力を見つけます。インスタンスベースでその質問への回答を提供するのがすばらしいでしょう!
mlx 2017

同意します。これは、より堅牢な機能を作成するのに非常に役立ちます。これは確かに定期的にフォローする1つのスレッドです。:)
Xformer 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.