記事「ニューラルネットワークが簡単に(第30部):遺伝的アルゴリズム」についてのディスカッション

 

新しい記事「ニューラルネットワークが簡単に(第30部):遺伝的アルゴリズム」はパブリッシュされました:

今日はちょっと変わった学習法を紹介したいと思います。ダーウィンの進化論からの借用と言えます。先に述べた手法よりも制御性は劣るでしょうが、非差別的なモデルの訓練が可能です。

最適化過程は、以前に使用したすべてのパラメータでテストされました。訓練サンプルはEURUSDH1のヒストリカルデータです。最適化処理には、過去2年分の履歴を使いました。EAはデフォルトのパラメータで使用しました。テストのモデルとして、前回の記事から意思決定の最適な確率分布の探索でアーキテクチャを使用しました。この方法により、最適化されたモデルを、先に使用したExpertAdvisor「REINFORCE-test.mq5」に代入することができます。このように、同じアーキテクチャのモデルを訓練させる過程では、3つ目のアプローチとなります。以前、我々はすでにPolicyGradientとActor-Criticアルゴリズムを用いて同様のモデルを訓練しました。最適化の結果を観察するのは、さらに興味深いことです。

モデルを最適化する際、前月のデータは使用しませんでした。そのため、最適化されたモデルをテストするためのデータを残しています。最適化されたモデルは、ストラテジーテスターで実行されました。その結果、次のような結果が得られました。

最適化されたモデルテストグラフ

提示されたグラフからわかるように、成長するバランスグラフを得ることができました。しかし、アクタークリティック法で同様のモデルを訓練させた場合と比べて、収益性はやや低くなります。また、取引操作も減少しました。実際、取引件数は2分の1に減少しました。

モデル取引履歴のチャート

作者: Dmitriy Gizlyk

 

なぜトレンド志向の結果が出るのか不思議である。通常、規則性を見つけることが課題であるならば、ほとんどすべてのトレンドがジグザグに成長することを考えると、ニューラルネットワークは収益性の高いものを見つけ、並行して カウンタートレンド戦略を使用し、特に成長が長引く場合には、予想される極値でオープンするはずである。前回の経験(第29回)では、バランス曲線が全期間を通じて成長しているのに対し、今回は徐々に衰退している。


Dmitriy Gizlyk
Проведите свои эксперименты и будет интересно понаблюдать за их результатами.



残念ながら、それはテストされていない。エディタに入ろうとすると、コンパイル時にクラッシュする。すべての記事を見るときに、すべてのファイルをコピーしてしまったようです。 私が何をする必要があるのかアドバイスしてください。


 
インクルード・ファイルの1つで、名前空間Mathと中カッコを削除した、
それからコード中の問題の関数の前の "Math:: "を削除した。

今はInit 1を返す。
この関数の中でモデルに対して悪態をついていることがわかりました。どうすればいいのかわかりません。

transferの助けを借りて作ろうと思ったのですが、Geneticistのための方法は記事にはありませんでした。

この車をスタートさせるのを手伝ってください。
 
Ivan Butko #:
インクルード・ファイルの1つで、名前空間Mathと中カッコを削除した
それから、コード中の問題の関数の前の "Math:: "を削除したら、悪態をつかなくなったと思う。

今はInit 1を返します
この関数の中でモデルに悪態をついていることがわかりました。どうしたらいいのかわからない。

transferを使って作ればいいと思っていたのですが、Geneticistの記事にはその方法が載っていませんでした。

このマシンを立ち上げるのを手伝ってください。

記事中のトレーニングには、actor-criticとpolicy gradientでトレーニングしたものと同様のモデルを使いました。Expert Advisorに通常のモデルを与えるだけです。そして、母集団が埋まるまで、似たようなアーキテクチャのモデルを補充する。

 

こんにちは、これらの一連の記事のためのあなたの偉大な努力にかなり感謝しますが、私は進化EA、または遺伝的EAを実行しようとすると、私は5109のエラーが発生し、私はMQ5のガイドブックを回すと、このエラーは、OPENCLによって引き起こされることがわかりました。

5109のエラーが発生しました。MQ5のガイドブックを見ると、このエラーはOPENCLが原因となっています。5109のエラーが発生しました。MQ5のガイドブックを見ると、このエラーはOPENCLが原因であることがわかりました。

とにかく、ありがとうございました。

err_opencl_execute

err_opencl_execute

OpenCLプログラム・ランタイム・エラー


 
ディミトリ、モデルの学習にはどれくらい時間がかかるの?300回エポックしても結果は変わりません。これは普通のことですか?また、手動でモデルを再作成することなく、NetCreatorで重みをランダムにリセットする方法はありますか?