1

Matlab (Neural Network Toolbox + Image Processing Toolbox) で、画像から特徴を抽出し、「特徴ベクトル」を構築するスクリプトを作成しました。私の問題は、一部の機能が他の機能よりも多くのデータを持っていることです。これらの機能が、データの少ない他の機能よりも重要になることは望ましくありません。

たとえば、9 つの要素で構成される特徴ベクトルがあるとします。

hProjection = [12,45,19,10];
vProjection = [3,16,90,19];
area = 346;

featureVector = [hProjection、vProjection、面積];

入力として featureVector を使用してニューラル ネットワークを構築すると、領域は入力データの 10% しか占めず、それほど重要ではありません。

tansig 伝達関数 (パターン認識ネットワーク) を備えたフィードフォワード逆伝播ネットワークを使用しています。

どうすればこれに対処できますか?

4

1 に答える 1

3

入力データをネットワークに提示すると、特徴ベクトルの各列がそれ自体の属性として入力レイヤーに供給されます。心配する必要がある唯一のバイアスは、それぞれのスケールです (つまり、通常、特徴を [0,1] の範囲に正規化します)。

また、機能が依存/相関していると思われる場合は、何らかの属性選択手法を実行することをお勧めします。そしてあなたの場合、それはhProj/vProj機能の意味に依存します...


編集:特徴選択
の代わりに、次元削減手法(PCA / SVD、因子分析、ICAなど)を使用できることがわかりました。たとえば、因子分析を使用して、これらの hProj/vProj が依存する潜在的な隠れ変数のセットを抽出できます。したがって、これらの 8 つの機能の代わりに、元の 8 つの機能が新しい 2 つの機能の線形結合になるような 2 つの機能を取得できます (さらにいくつかの誤差項)。完全な例については、このページを参照してください

于 2009-09-30T02:51:57.863 に答える