記事: ニューラルネットワークによる価格予測 - ページ 14

 
中性子、入力数を増やすことによるスムージング効果は正統派です。しかし、この遅れは、これらの入力の不足と、ネットワークの不完全性、おそらくアンダートレーニングなど、多くの要因によって決定される可能性があります。これが、上記の基準にすべて「+」して、ラグが出るかどうかは別問題です。
 
Neutron:

これは、2つのNSの予測能力をテストした結果を示している。


図は、赤が元の時系列(RT)、青が線形1層ネットワークによる1小節前方の予測、緑が非線形2層ネットワークによる予測を示している。ディップの深さはどちらも同じです。この人工的なケースでは、BPトレンドプロット上に予測データの顕著な残差があることがわかる。私の経験豊富な同僚はこの効果を観察しているのだろうか、もしそうなら、何と関係があるのだろうか。

トレンドセクションで同じ入力データを取得し、異なる予測を得ている(プロット上では直線であるべきところが折れ線になっている)。この点で、疑問がある。

1) 中間ネットワーク層には何個のニューロンがあるか?

2) 入力数は?

3)入力に何を供給しているのか?


トレンドに対する予測の遅れについて。そういうものなんです。0.1の上昇値が連続して発生する学習ベクトルを30個ほどネットワークに投入し、同じように上昇値が連続して3下落するベクトルを1個投入しましたね。一貫性のないデータでネットワークを学習させたのでは?つまり、あなたの31の矛盾した予測を平均化した...。


2層式のNSも作りました。3つの入力と3つの中間ニューロンで入力はインクリメンタルな値でした。比較のため、このネットワークを全データで一度学習させ、二度目は異常値を学習から除外した。つまり、入力に大きすぎる値を含むすべての学習ベクトル、つまり3によって非常に急激に崩壊するようなものを除外した。その差は歴然としています。

 
rip:
slava1 です。
まあ、誰が何を理解しているのか、理解していないのか、長い間議論することは可能です。話の内容は、データ作成についてだった。この問題をここで議論したい人がいないことは理解しています。残念

NSトレーニングのためのデータの準備の仕方をレクチャーするのであれば、この掲示板でやるべきでは無いと思います、ここで興味を持つ人は少ないでしょうから。

まあ、間違っていますね!実践者の経験、やり方を読めば面白いと思いますけど......。

 
ds2:

トレンドセクションで同じ入力データを受け取りながら、異なる予測をする(グラフ上では直線であるべきところが折れ線に見える)。この点で、疑問がある。

1) 中間ネットワーク層には何個のニューロンがあるか?

2) 入力数は?

3)入力に何を供給しているのか?


トレンドに対する予測の遅れについて。そういうものなんです。0.1の上昇値が連続して発生する学習ベクトルを30個ほどネットワークに投入し、同じように上昇値が連続して3下落するベクトルを1個投入しましたね。一貫性のないデータでネットワークを学習させたのでは?つまり、あなたの31の矛盾した予測を平均化した...。


2層式のNSも作りました。3つの入力と3つの中間ニューロンで入力はインクリメンタルな値で供給された。比較のため、このネットワークを全データで一度学習させ、二度目は異常値を学習から除外した。つまり、入力に大きすぎる値を含む学習ベクトル、つまり、3によって非常に急激に崩壊するような学習ベクトルをすべて除外したのだ。その差は歴然としています。

ds2さん、そして ご回答くださった皆様、ご配慮と賢明なアドバイス、本当にありがとうございました - 本当に助かりました。私のネットワークでは予測速度を上げるために、学習サイクル(Epochsというのでしょうか)の回数を100回に制限していることです。もちろん、それだけでは不十分で、ネットワークはきちんと学習していませんでした。エポック数を1000に増やしたところ、すべてうまくいきました - tick to tick (まあ、ほとんど)。

私は双曲線正接の形で非線形性を持つ2層ネットワークを持っており、隠れ層のニューロン数2、シナプス数d*2+2、dはNS入力の次元である。図に示すようなケースでd=2、学習ベクトル数は6としました。学習サンプルのベクトル数はシナプスの数と同じなので、ネットワークは再学習せず、予測を滑らかにしようとしないので、価格のジャンプをより効果的に追跡することができますね。また、学習用に、一連のインクリメンタルな値を入力として与えてみた。入力データを準備する細かい技術(あなたの「2回目のトレーニングからスパイクを除外した」という意味です)にはまだ精通していませんが、近いうちにこの技術をマスターしたいと思っています。

以下は、興味深い以前の結果です。


ONE入力!で学習サンプル=1要素ずつの2ベクトルで単層非線形NSの各ステップでの再学習で1段階前進予測です。

ぶっ飛びましたね...。

ネロンネットワークと人工知能は単純ではなく、とてもシンプルであることがわかったのです

 
Neutron:
ds2 です。

トレンドセクションで同じ入力データを受け取りながら、異なる予測をする(グラフ上では直線であるべきところが折れ線に見える)。この点で、疑問がある。

1) 中間ネットワーク層には何個のニューロンがあるか?

2) 入力数は?

3)入力に何を供給しているのか?


トレンドに対する予測の遅れについて。そういうものなんです。0.1の上昇値が連続して発生する学習ベクトルを30個ほどネットワークに投入し、同じように上昇値が連続して3下落するベクトルを1個投入しましたね。一貫性のないデータでネットワークを学習させたのでは?つまり、あなたの31の矛盾した予測を平均化した...。


2層式のNSも作りました。3つの入力と3つの中間ニューロンで入力はインクリメンタルな値でした。比較のため、このネットワークをすべてのデータで一度学習させ、二度目は異常値を学習から除外しました。つまり、入力に大きすぎる値を含むすべての学習ベクトル、つまり3によって非常に急激に崩壊するものを除外したのです。その差は歴然としています。

ds2さん、そして ご回答くださった皆様、ご配慮と有益なアドバイス、本当にありがとうございました。私のネットワークでは予測速度を上げるために、学習サイクル(Epochsというのでしょうか)の回数を100回に制限していることです。もちろん、それだけでは不十分で、ネットワークはきちんと学習していませんでした。エポック数を1000に増やしたところ、すべてうまくいきました - tick to tick (まあ、ほとんど)。

私は双曲線正接の形で非線形性を持つ2層ネットワークを持っており、隠れ層のニューロン数2、シナプス数d*2+2、dはNS入力の次元である。図に示すようなケースでd=2、学習ベクトル数は6としました。学習サンプルのベクトル数はシナプスの数と同じなので、ネットワークが再学習せず、予測を滑らかにしようとしないことがわかり、価格のジャンプをより効果的にトレースできるようになりました。また、学習用に、一連のインクリメンタルな値を入力として与えてみた。まだまだ入力データ準備の細かい技術にはほど遠いですが(あなたの「2回目のトレーニングからスパイクを除外する」のことです)、早くコツを覚えたいものです。

サンプルを改善するには、この原理で、例えばトレーニングシリーズを大きくしてみる。

x1,x2が加算される区間で、系列の隣接する2つの値 - x1,x2 = (x1+x2)/2 が存在する。


この方法は、隣接する値の相関が高い時系列に 有効である。

引用の流れのケースは、まさにそれです。

 
Neutron:


以下は、興味深い以前の結果です。


これは、単層非線形NSの各ステップで再トレーニングを行い、1ステップ進む予測です。 入力は1つ!、トレーニングサンプル=各要素1つの2つのベクトルです。

ぶっ飛んでる...。


学習ベクトルを生成した生データファイルを掲載してもらってもいいですか?

 

ファイルの形式はどうすれば読めるようになるのでしょうか。要は、自分でNSを一から書いて、自分の納得のいく形でデータを使うということです。


Для улучшения выборки попробуйте расширить обучающий ряд, скажем по такому принципу:

隣り合う二つの系列の値 - x1,x2 の間に x1,2 = (x1+x2)/2 を足す。

この方法は、隣接する値の相関が高い時系列に有効である。

ストリーミングクォートの事例がまさにそれです。

このケースは正相関の系列に適しています。価格VRは隣接するサンプル間で有意な負の相関があるため、この方法は正しくないと思われます。

もうひとつ。他の条件が同じなら、2層NSの方が1層NSより予測能力が高いという合理的な主張を、尊敬するフォーラムユーザーの方々に投稿していただければと思います。

オプションとして以下に、図に示すようなテストベクターが入ったZIPアーカイブがあります。 適当な大きさに自分でカットしてください。

ファイル:
rnd.zip  1 kb
 
Neutron:

ぶっ飛びましたね・・・。

ネロ・ネットワークスと人工知能は、ただものではなく、とてもシンプルであることがわかりました


私はまだNSを実用化しようとしたことはないのですが(最後のアイデアの文脈でそこに運ばれそうですが)、人間の視点から見ると、テストベクトルは非常に単純な依存関係(2つか3つのパラメータ程度)から成り、非常に簡単に区分的近似ができるはずなのです。 まさにNSがそうなのだろう。高速な再配置は、NSのシンプルさ、つまりこの場合、ショートメモリが幸いしているのかもしれない。

 

一般的には、Candidさんの意見に賛成ですが、もっと深く掘り下げたい...。例えば、NS(隠れ層)を複雑にすることがどれだけ正当化されるのか。

そして、実は、私がおかしいのです!要は、NSの非線形性をある形で表現すれば、重みの厳密な解析解が得られるということです。これはつまり、ネットワークの学習に誤差の逆伝播法を使わないで、1回の操作で、1000エポックの学習なしに、可能な限り正確な結果を得ることができるようになることを意味します!!!


P.S. 警告するのを忘れていましたが、私は各ニューロンで一定レベルの励起を持つ1つのシナプスを使用しています。


追記

持ってきた、持ってきた、持ってきた;-)

これは、単層非線形NSのスケールに対する "FINE "解析解である。

思わず微笑んでしまいました。

しかし、全体の計算には1ミリ秒を要します。
 

神経科学者」の素人である私に説明してください...。当該ネットワークは、多層パーセプトロンであると理解しています。

このようなネットワークを選んだ理由は何ですか?なぜホップフィールドやコウホネンなどではなく、他のネットワークなのですか?