1

ニューラル ネットワークが値が非常に近いターゲット値を回帰できるかどうか疑問に思っています。例えば:

input [100 150 200 300]
output [0.99903 0.99890 0.99905 0.99895]

それとも、出力データまたはターゲット データを処理する必要がありますか?

ありがとう。

4

2 に答える 2

3

ニューラル ネットワークの入力/出力値の 3 つのルール:

  1. データを正規化します。
  2. データを正規化します。
  3. データを正規化します。

データに対していくつかの正規化スキームを試して、出力ポイントがどれだけ離れているかを確認してください。もちろん、入力にもそれを行うことを忘れないでください。

PCAは、データに複数の次元がある場合にも役立ちますが、このデータは 1 次元です。

于 2012-06-27T14:35:46.933 に答える
0

kwatford の言う通り、データを正規化してください!

理論的には、ニューラル ネットワークはそのようなターゲットを学習できます。しかし、私たちは不正確な実数表現を持つ実際のコンピューターで作業しています。ここで考えてみてください。ニューラル ネットワークをトレーニングすると、トレーニング中の現在の予測は次のようになります。

入力 [100 150 200 300]

出力 [0.99905 0.99890 0.99903 0.99895]

100 と 200 の結果を反転させただけです。したがって、二乗誤差の合計は 4e-10 になります。ニューラル ネットワークの重みに追加する値はさらに小さくなります。単精度浮動小数点数を使用する場合、この数値にはすでに問題があります。GNU Octave の例は、これを示しています。

single(0.99905)+single(1e-10)
ans =  0.99905

つまり、ほとんどの ANN 実装では、データを正規化することは不可能です。:)

于 2012-06-28T09:38:58.250 に答える