0

Encog にトレーニング データを格納するための csv ファイルを作成するにはどうすればよいでしょうか。現在、入力として200の機能(f)とマルチ出力(o)があります(たとえば、作成者A、B、C ...)。では、CSV ファイルを整理するにはどうすればよいでしょうか。私はこのように見えるべきですか?

f1, f2, f3 ... f200, o1
f1, f2, f3 ... f200, o2
f1, f2, f3 ... f200, o3

私の質問のいくつかは次のとおりです。

  • o1、o2、および o3 は String を受け入れることができますか? (著者名)。
  • トレーニング csv ファイルとテスト cvs ファイルの形式は同じになりますか?
  • NN に CSV ファイルを直接フィードすることは可能ですか? または、この例のように多次元配列に変換する必要がありますか? 入力として 200 個の機能を使用する必要があるため、これは非常に困難です。
double XOR_INPUT[][] = [
        [0,0],
        [1,0],
        [0,1],
        [1,1]
];
  • encog フレームワークを使用して csv ファイルのデータを (-+1 範囲に) 正規化する方法は?


どうもありがとうございました。

4

1 に答える 1

0

いいえ。ニューラル ネットワークは浮動小数点数のみで動作します。0 から 1 (出力) または -1 から 1 (入力) が望ましいです。文字列の場合、1 of n エンコーディングを使用します。

だから例えば。出力が「a」、「b」、「c」の場合は、次のように設定します

1 0 0       = 'a'
0 1 0       = 'b'
0 0 1       = 'c'

結果が見つからない場合は、必要に応じて null クラスを追加することもできます。csv からデータを読み取ることができますが、encog は 2 次元 double 配列 (より正確には「配列の配列」) 内のすべてを探しています。物事を単純化するために、たとえば 10 個の機能から始めます。

正規化は機能ごとに行われます。したがって、各機能について、データポイント a の正規化の式は次のとおりです。

((a - min) / range) + 1

range = max - minその機能のどこ。

したがって、すべての入力データポイントは -1 から 1 の範囲内にある必要があります。

たぶん、データの実際の例を投稿して、何をする必要があるかについてより良い印象を与えるかもしれません.

于 2014-03-07T14:06:16.567 に答える