は私が機能のy = f(x)が=斧^ 2に近づけるために、単純なフィードフォワードニューラルネットワークを実装することは、いくつかの定数とですxは入力値です。ニューラルネットワークのオンライントレーニング
NNは一方の入力ノード、1-N個のノード、及びつの出力ノード有する1つの隠れ層を有します。たとえば、2.0という値を入力します。> NNが4.0を生成し、もう一度3.0を入力します。> NNが9.0を生成するか、それに近づくなど。
私が「オンライントレーニング」を理解している場合、トレーニングデータは1つずつ送られます。つまり、値2.0を入力します。> 100回勾配で繰り返して、3.0の値を渡します。もう100回。
しかし、実験/学習のNNでこれをやろうとすると、値2.0を入力します - >エラーは非常に小さくなります - >出力は4.0に非常に近いです。
入力3.0 - > NNが9.0の代わりに4.36または何かを生成すると予測したい場合。したがって、NNは最後のトレーニング値を学習します。
範囲[-d、d]の目的関数を近似するニューラルネットワークを得るにはどうすればよいですか?私は何が欠けていますか?
私はオンライントレーニングが好きな理由は、結局私は時系列を入力し、そのシリーズを目的の機能にマッピングしたいからです。これはポイントの外ですが、誰かが不思議に思っていた場合に備えてです。
何かアドバイスをいただければ幸いです。
詳細 - 私は、シグモイド関数と線形の出力層で隠れ層をアクティブにしています。
これはこれです。**したがって、トレーニングエポックごとに各トレーニングの例で勾配降下の繰り返しを1回だけ実行します。次のトレーニングの例に進む前に100回の繰り返しを実行しているので、その1つの例に関してエラー勾配をあまりにも下回ってしまい、結果的に単一のデータポイントに深刻なオーバーフィットが発生します。このため、次の入力時に結果が悪くなります。私はこれが訓練の正当な方法ではないと思うし、それが時系列のために働くとは思っていません。**しかし、私は近似** y = ax^2 **は時系列(RNNs) 。 –
私はそれを言っているつもりはありません。彼は、時系列予測にも同じ方法を使いたいとしています。 – Imran