2

トレーニングデータセットがあります。このセットの各項目は、4つの数値とこれらの値が計算されたメソッドの名前である1つの名目値から構成されています。 (8つの方法があります)ニューラルネットワークの名目値入力

私はこれらを使ってニューラルネットワークをトレーニングしています。名目値を取り除くために、私は各メソッドに1から8までの値を割り当て、それをニューラルネットワークに渡すために1つの入力を使用し、数値のために4つの他の入力を使用しました。それは働いているのですが、結果は私が望むほど素晴らしいものではありません。

私の質問は、この単純な番号の公称値への割り当てが原因である可能性がありますか?それとも、実際には同じレベルではない2つの異なるカテゴリの入力(数値とメソッドのタイプ)を混在させることによるものかもしれません。

答えて

6

私の答えはあまり具体的ではありません。

一般的に言えば、ニューラルネットワークは、公称値を数値として符号化するとき、変換が(おそらく)偽の順序を変数に課すため、悪化しがちです。非常に様々なレベルの入力をミキシングすることも、パフォーマンスを悪化させる傾向があります。

ここで提供されている情報が少ないことから、これがネットワークパフォーマンスが「驚くほどではない」という理由があるかどうかは、ここではわかりません。十分なトレーニングデータがない場合や、トレーニングデータに多くのノイズが含まれている場合もあります。多分、あなたのデータを事前にスケーリングする必要があります。ネットワークコードに誤りがあるかもしれません。おそらく、あなたの学習アルゴリズムのために不適切な値の定数を選択したでしょう...

ニューラルネットワークが実行しない理由期待していたものが多種多様である(不当に高い期待を抱いている)。それ以上の情報がなければ、あなたの問題が何であるかを知る方法がありません。

7

一般的な注意として、公称値を符号化するためのより良い方法は、バイナリベクトルです。あなたのケースでは、4つの連続した値の入力に加えて、8つのバイナリ入力ニューロンがあります.1つしかアクティブ化されず、もう1つはアクティブではありません。

あなたがやったやり方は、計算方法間の人為的な関係を意味します。これはほぼ確実にアーティファクトです。例えば、1と2は数値的に(そしてあなたのネットワークの視点から)1と8に近いものです。しかし、メソッドnrです。 1と2は、方法1と8よりも実際に似ているか、関連していますか?

4

カテゴリを数値にマッピングすることは、統計では適切ではありません。特にニューラルネットワークの場合。ニューラルネットワークは同様の入力を同様の出力にマッピングする傾向があることに注意してください。カテゴリAを1に、カテゴリBを2に(両方の入力として)マップすると、NNは相互に関係のない場合でも、両方のカテゴリに対して同様の値を出力しようとします。

より狭い表現が好ましい。あなたは4つのカテゴリーを持っている場合は、このようにそれらをマップ:

A - > 0001

B - > 0010

など

は、「件名を見てみましょう:どのようなカテゴリをエンコードする必要がありますか? "このリンクには: ftp://ftp.sas.com/pub/neural/FAQ2.html#A_cat

関連する問題