記事についてのディスカッション

 

新しい記事「ニューラルネットワークができるように(その6)。ニューラルネットワークの学習率を実験する」はパブリッシュされました:

これまで、様々な種類のニューラルネットワークをその実装とともに考察してきました。 すべての場合において、ニューラルネットワークは、学習率を選択する必要があるグラディエントディーセント法を用いてトレーニングされました。 今回は、正しく選択されたレートの重要性とニューラルネットワーク学習への影響を例を用いて示したいと思います。

実験3は、この記事の本題から少し逸脱します。 そのアイデアは、最初の2つの実験の間に生まれました。 ということで、シェアすることにしました。 ニューラルネットワークのトレーニングを観察しているうちに、フラクタルが存在しない確率は60~70%前後で変動し、50%を下回ることはほとんどないことに気がつきました。 フラクタルの出現確率、売買は20~30%程度です。 トレンドの内側にあるローソク足よりも、チャート上のフラクタルの方がはるかに少ないので、ごく自然なことです。 このように、ニューラルネットワークは過剰にトレーニングされており、上記の結果が得られます。 フラクタルはほぼ100%が外れ、レアなものしか捉えられません。  

学習率0.01のEAのトレーニング

この問題を解決するために、サンプルの凹凸をわずかに補正することにしました。基準値にフラクタルがない場合、ネットワークを学習する際に1の代わりに0.5を指定しました。

            TempData.Add((double)buy);
            TempData.Add((double)sell);
            TempData.Add((double)((!buy && !sell) ? 0.5 : 0));

このステップで良い効果が得られました。 学習率0.01、過去の実験で得られた加重行列を用いて実行したエキスパートアドバイザは、5回の学習で約0.34の誤差安定化を示しました。 ミスフラクタルのシェアが51%に減少し、ヒット率が9.88%に上昇しました。 EAがグループ内のシグナルを生成し、したがって、特定のゾーンを示していることをチャートから見ることができます。 明らかに、このアイデアには追加の開発とテストが必要です。 しかし、この結果は、このアプローチがかなり有望であることを示唆します。 

フラクタルがない場合の0.5での学習

作者: Dmitriy Gizlyk

 
通りがかっただけです)))学べば学ぶほど誤差が大きくなることに戸惑いはないのでしょうか? 逆のはずなのですが))))
 
Александр Алексеевич:
通りすがりの者です))))トレーニングによって誤差が大きくなるという事実に混乱していませんか? 逆のはずです))))
ランダムな値で初期化した後、最初のパスでは誤差が大きくなります。数回通過すると、誤差は減少し始めます。これは、ターゲット関数のレベルからの初期値のカオス的な散乱のためかもしれません。また、誤差の一般的な減少傾向を背景に、誤差がわずかに増加していることに気づくことができますが、これはターゲット関数の非平滑性によって説明されます。
 

こんにちは、ドミトリー、


ニューラルネットワークの 学習ツールとして、このシリーズをとても気に入っています。私はMT4を使っていますが、SymbolInfoの実装を見つけました。実行はしているのですが、学習中に何もしないので、そこが問題なのだと思います。MT4で実行するために何が必要なのか、お分かりになりますか?ありがとうございます!

 

こんにちは!

NSのトレーニングは終値だけで 行うのですか?それとも、あるTMでの取引量も使うのですか?

 
Oleg Mazurenko:

こんにちは!

NSのトレーニングは終値だけで 行うのですか?それとも、あるTMでの取引量も使うのですか?

今説明した例では、ニューラル・ネットワークは 始値、終値、高値、安値、出来高、時間、4つのインジケーターの読み取り値を受け取ります。初期データをニューラル・ネットワークに転送するプロセスは、リンク 先に記載されています。

Нейросети — это просто (Часть 2): Обучение и тестирование сети
Нейросети — это просто (Часть 2): Обучение и тестирование сети
  • www.mql5.com
В данной статье мы продолжим изучение нейронных сетей, начатое в предыдущей статье и рассмотрим пример использования в советниках созданного нами класса CNet. Рассмотрены две модели нейронной сети, которые показали схожие результаты как по времени обучения, так и по точности предсказания.
 

私の後に来る人のために:最初の例Fractal_OCL1.mqlがコンパイルできないことに注意してください。

次のように変更する必要がある。

//#define lr 0. 1

double eta=0.1;

 
結局のところ、Tensor Floには、トレーニング中に係数を指定された値まで徐々に減少させ、最適なものを選択する機能がある。問題は、ニューラルネットワークが安定したパターンを見つけられず、何も保持できないことだ。私は、完全連結層から新顔のResNetやAttentionまでのモデルを使ったことがある。その効果は60%を超えることはなく、これは狭い範囲でのことで、一般的にはすべてが50/50になる。ニューラルネットワークでは、一般的に何が分析できるかを考える必要がある。価格と数量の配列だけでは、どのような組み合わせでも結果は得られない。
 
eccocom #:
結局のところ、Tensor Floには、トレーニング中に係数を指定された値まで徐々に減少させ、最適なものを選択する機能がある。問題は、ニューラルネットワークが安定したパターンを見つけられず、何も保持できないことだ。私は、完全連結層から新顔のResNetやAttentionまでのモデルを使ったことがある。その効果は60%を超えることはなく、これは狭い範囲でのことで、一般的にはすべてが50/50になる。ニューラルネットワークでは、一般的に何が分析できるかを考える必要がある。価格と出来高の配列だけでは、どのような組み合わせでも結果は得られない。

初期データと目標結果の相関関係を分析しよう。

 

"...基準値にフラクタルがない場合、ネットワークをトレーニングする 際、1ではなく0.5を指定した。"

なぜ正確に0.5なのか、この数字はどこから来たのか?

 
Gexon ネットワークを訓練する 際の基準値にフラクタルがない場合、1の代わりに0.5を指定した。"

なぜ正確に0.5なのか、この数字はどこから来たのか?

学習中、モデルは3つの事象のそれぞれの確率分布を学習する。フラクタルが存在しない確率は出現する確率よりもはるかに高いので、人為的に過小評価しているのです。0.5を指定するのは、この値で事象の最大確率がほぼ等しくなるからである。
このアプローチは非常に議論の余地があり、訓練サンプルからの観察に左右されることに同意する。