Данный доклад в сентябре 2004 г. был опубликован в научно-теоретическом журнале "Искусственный интеллект" и апробирован на V Международной конференции "Искусственный интеллект-2004. Интеллектуальные и многопроцессорные системы" (20-25 сентября 2004 года, Крым, п. Кацивели, ссылка на печатный источник: Паклин Н.Б., Сенилов М.А., Тененев В.А...
もし、このような動的な長配列を使うとしたら、おそらく大きく変わってしまうでしょう。最も遅いFF関数を想定すれば、アルゴリズムを大きく狂わせることはないでしょう。それは、アルゴリズムそのものを確認していない以上、再設計がどの程度複雑になるかはわからないというのが本音です。
すでにレンジの拡張を考えている。
ハイブリッドGAに関する悪くない記事を見つけました。http://masters.donntu.edu.ua/2006/kita/bashev/library/hybrid.html。
一言で言えば、「バイナリGA+擬似ニュートン最適化法のルール」です。
そして、いくつかのパラメータを選択して、テストをクリックすると......。朝、何本目か、何本残っているか数えてみると......。を計算すると、最適化終了まで50日あった...。私のコンピュータは4コア+2コアエージェントなのですが・・・。この最適化はクソだ、閉鎖しろ...。
パラメータは明らかに5-6ではないし、その期間も1年ではない :)) そして一般的に、最適化終了までの残り時間は常に間違っている(少なくともMT4ではそうだった)、最適化が進めば進むほど最適化終了までの時間は早くなる、もともとMT5では450時間と書いていたが、実際は100時間くらいかけていた。
ここで、ハイブリッドGAに関する良い記事に出会いました http://masters.donntu.edu.ua/2006/kita/bashev/library/hybrid.html
一言で言えば、「バイナリGA+擬似ニュートン最適化法」のルールです。
良いアイデアだが、著者は実装上の重大な問題につながる勾配法の小さな特徴、すなわち各適応パラメータに対する目標関数の偏微分の計算を省いている ))) 。
しかし、そうです、天才的な解決策です ))))
この問題が解決されたとすると、勾配に沿って移動するステップの選択に問題がある。
同じGAでも「エリート主義」の要素を持ち、母集団の人数が多いと、これらの問題がそれなりにクローズアップされます
数十のオーダーの探索空間の話です。これ以上の規模は時間の無駄です(個人的な経験ですが、10万本を超える履歴に対して30個の適応パラメータを持つ複数のTSを最適化したところ、愚かにも再トレーニングにつながったと断言します)。
すでにレンジの拡張を考えています。
オプティマイザーは64個のパラメータを扱うことができません、最大は62個、63個ですでに死んでしまいます (n/a) :)
トレーラーでエキスパートを確認し、そこにセットファイルする。書かないように生成する必要があったのです。
8つの直交ベクトルを生成する問題を解決します。
フィットネス関数は、すべてのペアワイズスカラー積を計算し、その絶対値を逆符号で合計する。
バカみたいに運が良かったのか、4回中2回ほど本格的な(正解率0%の)結果が出たんです。
また、いくつかの(2~3)ベクトルを固定して、他のベクトルが垂直に並ぼうとしているのを見るのも楽しいですね...。:)
すぐに解決してくれるので、間違いなく良いことだと思います。
最適化結果」タブに、最適化するパラメータが最大20個まで表示されるのが嫌だった。
// 入力パラメータが64個の場合、MetaEditorでハイライトされなくなりました。通常の変数として表示されるだけです。
--
スクリプトジェネレーターもトレーラーで
適切な次元のExpert Advisorとセットファイルを生成します。次元は生成時にパラメータで指定します。
もちろん、...◆MetaTrader 5◆Filesフォルダの中です。
また、より小さな次元のベクトルでも遊ぶことができます。
// 大型のものはまだ運がない。 待っているところだ。:)
ちなみに、オプティマイザは5つのベクトルに対する問題を一度も解いていません。 5つのベクトルに対する最良の結果は、CustomMax == -10です。
p.s. 後日談:まあ、そうなんですが、頭が悪いので、奇数ベクトルの最大結果 == -n*(n-1)/2 を、セットファイルで指定された条件で計算します。
ということで、すべてが正しく、遺伝子アルゴリズムは常に正常に最大値を見つけることができます。// まあ、ほとんどね)
すでにレンジの拡張を考えている。
イエーイ!開発者が制限のないテスターを必要としていることにやっと気づいてくれて嬉しい、mt5を自動売買の新しいステージと位置づけるなら、計算量の多いシステムはNSだろうが何だろうが64で障害を残すのはどうかと思う。
修正されたビルドと、標準テスターでのプロジェクトの 継続を期待します。(自分で一からテスターを書くのはお金がかかりすぎるから...)。
しかし、勾配法の小さな特徴であり、実装の際に深刻な問題となる、各適応パラメータに対する目標関数の私的微分の計算を省いています))。
しかし、そうです、天才的な解決策です ))))
この問題が解決されたとすると、勾配に沿って移動するステップの選択に問題がある。
同じGAでも「エリート主義」の要素を持ち、母集団の人数が多い場合は、これらの問題を合理的に解決している
...
偏導関数なしで勾配を計算する場合、近傍のいくつかのテストポイントが必要となる。FFがあれば、各パラメータの最小ステップの値も計算できます。そして、FFによる次の点が前の点より小さくなるまで、(最小の点から始めて)ステップを2倍にすることができます。それを前回のものと照らし合わせて、もう一度グラデーションを計算する。そして続けろ。
みんな賢いなー、恐ろしいなー。
ああ、私のデュアルコアにもっとAgentsを追加する方法を親切に教えてくれませんか。
どこかのテスト(3Dか何か)で見たのですが、画面の半分に全部飛んだりひらひらしたり、エージェントが映っていました。
まあ、2つの設定(1200パスあたり)のテストを30分以上我慢するのは、私には難しいです。ありがとうございます。
みんな賢いなー、恐ろしいなー。
ああ、私のデュアルコアにもっとAgentsを追加する方法を親切に教えてくれませんか。
どこかのテスト(3Dか何か)で見たのですが、画面の半分にすべてが飛んで、ひらひらとエージェントのように見えました。
まあ、2つのパラメータ(約1200パス)のテストを30分以上我慢するのは辛いですけどね。ありがとうございます。
このスレッドのチャット -->マルチコアテストネットワーク for all comers,
この問題を詳細に研究している人は十分にいる。