ニューラルネットワークへの入力は[-1,1]である必要がありますか?


8

ニューラルネットワークを使用して天気予報を作成したい。私が見たすべての例では、入力として値[-1,1]のみを使用しました。入力として大きな値(気圧、過去2日間のカルシウス度など)を入力として使用して、数値を出力として取得することもできますか?

ありがとうございました


ニューラルネットワークだけでなく、分類アルゴリズムについて一般的に言えば、提案した変数のような変数を分類に使用できます。クラスの分離に役立つそのような変数はすべて含める必要があります。二分木カルシファイアでさえ、分割点を見つけることによって連続変数二分法を使用します。
Michael R.

回答:


9

値を正規化して、たとえば次のように使用できます。

APAP0AP1AP0

APAP00AP11

[1,1]

11


AP0とAP1は、気圧値の境界のようなものですか?
user1406177

1
T1=35T0=5355210

理論的には、データのスケーリングはニューラルネットワークに影響を与えません。これは、最適な重みもスケーリングされることを意味します。実際には、浮動小数点表現が正確ではないため、違いが生じる可能性があります。つまり、大量の入力がある場合、重みは非常に小さくなり、小さな変化を表現できない可能性があります。一方、通常はシグモイドアクティベーション関数があり、入力が大きい場合は飽和する傾向があり、トレーニング中はゆっくり調整されます。つまり、データのスケーリングによってトレーニングが加速されることがよくあります。
アルファ

1
トレーニングメソッドはスケール不変ではないため、ノードを飽和させなくても、スケーリングはトレーニングの速度に影響します。
ダグラスザレ

1
スケーリングデータDOESは違いを作ります。1.ネットワークは乱数を均一に描画して初期化されるため、大きな値のフィールドは、最初は小さなフィールドよりもネットワークに大きな影響を与えます。時間の経過とともに、重量の更新により機能が拡張されますが、これにはさらに労力が必要です。2.勾配降下法は、エラー曲線を押しつぶして楕円形にし、ナビゲートが非常に遅くなるため、正規化されていないデータでは非常に困難です。したがって、勾配降下法を使用している場合、これは大きな問題になる可能性があります。3.シグモイド関数には、大きな入力(および非常に負の入力)に対して非常に小さな勾配があります。
Simon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.