ディープラーニングを使用した特徴選択?


9

ディープモデルを使用して各入力フィーチャの重要度を計算したい。

しかし、深層学習を使用した特徴選択についての論文は1つしか見つかりませんでした- 深部特徴選択。最初の非表示レイヤーの前に、各フィーチャに直接接続されたノードのレイヤーを挿入します。

ディープ・ビリーフ・ネットワーク(DBN)もこのような仕事に使えると聞きました。しかし、DBNはPCAのような機能の抽象化(クラスター)しか提供しないと思うので、次元を効果的に削減できますが、各機能の重要度(重み)を計算できるかどうか疑問に思います。

DBNで機能の重要度を計算することは可能ですか?また、ディープラーニングを使用して特徴を選択する他の既知の方法はありますか?

回答:


10

ほとんどすべての予測モデルに使用できるアプローチの1つは、まずモデルをトレーニングしてその精度を見つけ、次に1つの入力にノイズを追加して精度を再度チェックすることです。各入力に対してこれを繰り返し、ノイズが予測をどのように悪化させるかを観察します。入力が重要である場合、ノイズによる余分な不確実性は有害です。

問題の入力の分散に比例するようにノイズの分散を設定することを忘れないでください。

もちろんノイズはランダムであり、ランダムな効果のために1つの入力が重要ではないようにしたくない場合。トレーニング例が少ない場合は、新しいノイズを毎回追加して、各トレーニング例の精度の変化を繰り返し計算することを検討してください。

コメントへの応答:

この分析は、変数を完全に削除することでも実行できますが、これにはノイズを追加することに比べていくつかの欠点があります。

  • 入力の1つが定数であるとすると、バイアス項のように機能するため、予測で何らかの役割を果たすが、情報は追加されません。この入力を完全に削除すると、パーセプトロンに誤ったバイアスがかかるため、予測の精度が低下します。これにより、情報が追加されていなくても、入力が予測にとって重要であるように見えます。ノイズを追加してもこの問題は発生しません。すべての入力をゼロ平均に標準化した場合、この最初の点は問題ではありません。

  • 2つの入力が相関している場合は、1つの入力に関する情報から他の入力に関する情報が得られます。相関する入力の1つだけを使用して、分析で1つの入力が役に立たないことを検出したい場合は、モデルを適切にトレーニングできます。入力の1つを削除した場合、最初のポイントと同様に、予測精度が大幅に低下し、それが重要であることを示します。ただし、ノイズを追加してもこの問題は発生しません。


2
ヒュー、私は機能を削除することでそれを行うのに慣れています。機能をノイズに置き換えることの利点は何ですか?
DaL 2016

@ダン機能を完全にノイズで置き換える必要があるという意味ではなく、ノイズを追加する必要があるだけです。特徴を削除すると、それらがゼロ以外の平均値を持っている場合、または他の変数と相関している場合、重要でない特徴が重要に見える可能性があります。説明のために回答を編集しました。
Hugh

コメントありがとうございます。しかし、実際には私はいくつかの機能セット(入力)を持っています。それらの多くは相関しています。この場合、おそらく計算時間はnに近いでしょう。組み合わせを考える必要があるので。そこで、複雑な機能の組み合わせを考慮できるディープラーニングベースのモデルを適用したいと思います。
z991

@ z991多変数線形回帰では、完全に相関していない変数でも同じ問題が発生する可能性があります。多くの場合、各変数を1つずつ導入するか、すべての変数を使用して1つずつ削除します。最適な組み合わせを単純に計算する方法はありません。これが線形回帰で解決されていない場合、NNの解決策は見つかりません。同じ方法で変数を1つずつ削除し、nを回避できます。計算。
Hugh

1
@Hugeコメントありがとうございます。仰るとおりです。しかし、私が本当に知りたかったのは、ディープラーニングまたはニューラルネットワークで各機能の重要性を計算する方法でした。いくつかの特徴抽出(非表示レイヤー)を使用するため、特徴の重要度を分析することは困難でした。各機能の全体の重みを計算することは可能ですが、非常に複雑で時間がかかるようです。リンクされた紙は単一の線形層を使用しており、それは良い考えだと思います。ネットワークでの機能の重要性を分析するための他のより良い方法を知りたいと思いました。
z991 16

2

多分このペーパーをチェックしてください:https//arxiv.org/pdf/1712.08645.pdf

彼らはドロップアウトを使用して機能をランク付けします。

...この作業では、入力フィーチャレイヤーでドロップアウトの概念を使用し、対応するフィーチャごとのドロップアウト率を最適化します。各機能は確率的に削除されるため、この方法では機能バギング(Ho、1995)と同様の効果が得られ、LASSOなどの他の非バギング方法よりも相関機能をランク付けできます。ランダムフォレスト(RF)、LASSO、ElasticNet、マージナルランキング、およびディープフィーチャーの選択やさまざまなヒューリスティックなどのDNNの重要性を導き出すためのいくつかの手法と、この手法を比較します...


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.