Библиотека компонентов , предназначена для программной реализации нейронных сетей. В качестве примера, созданы компоненты реализующие две нейросетевые парадигмы: рекуррентную нейронную сеть, в нашем случае – это сеть Хопфилда и многослойную нейронную сеть обучаемую по алгоритму обратного распространения ошибки (back propagation). Основным...
何かコード化する必要があるのでしょう。実施計画については、プロジェクト・アドミニストレータを待っているところです。
実は、同じsorsforgeで契約して始めるという選択肢も...。
でも、メタクウォーツが正しい環境を持ち出してくれるのを待ったほうがいいかもしれませんね。
ところで、パラレリングを考えるのは悪いことではありません。ただ、どうやったら実現できるのか、まったくわからないんです。
ところで、パラレルを考えるのはいいことですね。ただ、それをどう実装すればいいのかがわからない。
Andrey、再帰処理についてのメッセージを確認しました。あなたの言う通り、再帰処理は1.5倍遅く、深さにも制限があるので、ループの勝利です。
ニューラルネットワークは単純なタスクなので、コア間で並列化することはできません(スレッド呼び出しには数百クロック必要です)。
MQが少なくともニューラルネットワークのAPIを提供してくれれば別ですが、そのためにはユニバーサルネットワークの形式化が必要です。だから、まずプロジェクトがあって、それからドアを叩いて、GPUのAPIをくれ、と。
5ページ 目のコードに説明用の絵を作りました。
黄色い のはリンクしているメモリセル(正確には、異なるメモリオブジェクトを参照しているだけで、同じメモリセルである)。
他は、赤は 次、緑は 前、青は 側面というように、記憶の 対象を連想させる。
矢印の方向は、ポインタの受け渡し方向を示す。
遅延演算子メモリのゼロセルが出力メモリセルとして使用されます。
メモリは逆順にリンクしており、1つの入力には1つの出力(そこからデータを受け取る)しかないため、逆順にはならない。
まあ、丸が入力、四角が重み、三角が遅延演算子(ゼロ演算子セルZニューロン出力)であることは直感的にわかるかもしれませんね。
ZZZY この計画は最終的なもので、これ以上変更することはありません :o)
1.イムハ、最も重要なことは取引に特化することであり、ここでは入力データの前処理をシステム化 することが重要である。離散的な信号(例えば、ある極値の突破やある閾値を超えた期間内の価格変動)と連続的な信号(例えば、2輪間の距離や期間内の価格変動)の両方を入力する必要があります。もちろん、NSは連続的な学習から離散的な学習を得ることができるが、その場合はブラックボックス化されてしまうので、必ずしも必要ではない。一般に、入力には別のクラスが必要で、そこでは価格-動作計算が仮想メソッドで定義され、ユーザーは既に書かれたものから選択するか、自分で書くことができる。
2.標準的なEAは、基本的に初歩的な価格アクションのシグナルとそれらとのブール代数(および/または/ない)と同じです。したがって、標準的なEAも、あるトポロジーのNSと重みの設定という形で記述することができる。標準的なEAをNSに自動変換する(難しいけど)とか、せめてブール論理パターンを使ってNSを設計 できるようにするとか。貿易の観点から論理的なNSを作るための出発点とするために、あるトポロジーを持ったレイヤーのセットだけではありません。
また、構築したNSにブール代数の要素を追加すること。例えば、CSを構築して、価格がМА200以上になったら買い、その逆になったら売るというように、簡単なフィルターの影響を確認したいのです。もちろん、新しいエントリーを入力して、ネットワークを再トレーニングすることなども可能です。また、このフィルターをブール論理として追加し、結果への影響を確認することも可能です。
つまり、人が直感的に理解できるブール論理とNSをTS設計の異なるステージで組み合わせることです。
3.一部の接続を修正する機会を作り、その後のトレーニングに参加しないようにすることが論理的である。つまり、頻繁に作り直すべきでないシステムの基幹部分と、より頻繁に適応できる部分があるのです。すべてのウェイトを再トレーニングすることは、フィッティングを高めることです。
4.ポイント3からのバックボーンが自動的に選択されるようになれば、悪くない。I.e.例えば、私たちはテストセクションを持っています。Nパートに分かれています。NSは部品ごとに逐次学習されるが、一部は固定されたままである(部品ごとに再学習しない)。
つまり、現在の市場に対して最小限の調整で済むような堅牢なNSを構築することがポイントです。
5. 対象となるf-studyは、予測(トレード)における個人の成功ではなく、エクイティカーブの特性であるものとする。例えばプロフィット・ファクター、あるいはユーザーが定義したもの。
6.上記のような機会には、NSプロジェクタのビジュアルインターフェースが必要である。
純粋に手始めとして、http://www.basegroup.ru/library/analysis/neural/fastneuralnet/ のよう なオープンソースのオブジェクト指向モデルを検討してみてはいかがでしょうか。
アナログでやることに意味があるのか、トレーディングの仕様やMQL5を考えるとデメリットは何なのか。あるいは、車輪の再発明をしないように、より高度なオープンソースモデルを :)
1.イムハ、最も重要なことは取引に特化することであり、ここでは入力データの前処理をシステム化 することが重要である。離散的な信号(例えば、ある極値の突破やある閾値を超えた期間内の価格変動)と連続的な信号(例えば、2輪間の距離や期間内の価格変動)の両方を入力する必要があります。もちろん、NSは連続的な学習から離散的な学習を得ることができるが、その場合はブラックボックス化されてしまうので、必ずしも必要ではない。一般に、入力には別のクラスが必要で、そこには価格-アクションを計算するための仮想メソッドが定義され、ユーザーは既に書かれたものから選択するか、自分で書くことができるようになっています。
ええ、書きましたよ。しかし、私は別の意味で書きました。プライスアクションの入力がどのようなものなのか、簡単な例を挙げていただけますか?
また、構築したNSにブール代数の要素を追加する。例えば、NSを構築して、МА200より高い値段の時だけ買い、その逆は売りというような簡単なフィルターの影響を確認したいと思います。もちろん、新しいエントリーを入力して、ネットワークを再トレーニングすることなども可能です。あるいは、このフィルターをブール論理の形で単純に追加し、結果への影響を確認することもできる。
ネットに載せる意味があるのか?ネットを介さずに簡単にチェックできる...
つまり、直感的に人間が理解できるブール論理とNSを、TC設計のさまざまな段階で組み合わせることです。
では、NSは何のためにあるのでしょうか?NSはどんな場合でも、入力を出力に変換するブラックボックスと考えるべきでしょう。
3.一部の接続を固定し、その後の学習に参加させない機会を作ることは論理的である。つまり、頻繁に作り直すべきでないシステムの基幹部分と、より頻繁に適応できる部分があるのです。すべてのウェイトを鍛え直すことは、フィット感を高めることです。
そして、どのような原理で?まあトポロジーは変わるかもしれませんが(笑)。量を減らすことは可能です。しかし、手動で選んだシナプスのみを学習させるのは...。
4.手順3で変更しなかったナックルが自動的に選択されるようになると良いですね。I.e.例えば、私たちはテストセクションを持っています。Nパートに分かれています。NSは部品ごとに連続的に学習されるが、NSの一部は固定される(部品ごとに再学習されない)。
接着剤で動作確認すればいい。どうせ、そんな工作でフィットを解消することはできない。
つまり、現在の市場に合わせて最小限のチューニングで済むような、堅牢なNSを作ることがポイントなのです。
5.対象となるf-studyは、個々の予測(トレード)の成功ではなく、エクイティカーブの特性であること。例えばプロフィットファクター、あるいはユーザーが設定するもの。
そういうわけにはいきません。すべてのエントリーをストラテジーに移行できるわけではありません。結局、NSはTSから分離して、独立しているんです。しかし、学習サンプルの入出力の形成のレベルで行うことができます。
_________________________________
あるいは、そうすると、一般的には違う目標を設定しなければなりません。
ええ、そのことを書きました。でも、少し違う意味で。プライスアクションの入力がどのように見えるか、簡単な例を教えてください。
bool F1(int period){。
if (High[0]>iHighest(NULL,0,MODE_HIGH,period,1)) return(true); else return(false);
}
double F2(int ma1P,int ma2P){.
return(iMA(...ma1P ...)-iMA(...ma2P ...))
}
ネットワークに入力する意味はあるのか?ネットワークを介さず、簡単・手軽に確認できる...
では、NSは何のためにあるのでしょうか?NSはあくまでブラックボックスであり、入力を出力に変換するものであると考えるべきでしょう。
NSと従来のロジックを融合させること。NSの解は、例えばフィルタリングのような取引問題の一部しか解決できず、その結果、買い取引か売り取引か、全く取引しないかのどちらかになってしまう。しかし、エントリーポイントとエグジットポイント、および他のフィルターは、標準的なブール論理に含めることができます。ブール演算の部分(利益を与えたり、価格の変化を予測したり)がないと動かないはずなのに、必要なNSをどのように教えたらいいのでしょうか?つまり、NSのトレーニングの各ステップは、ブール論理上でアルゴリズムを起動することを含まなければならない。
そして、どのような原理で?まあ、トポロジーを変えてもいいんですけどね(へっへっへ)。量を減らすことは可能です。しかし、手動で選んだシナプスのみをトレーニングすることも可能です。
例えば、トレンド・フロップの見極めがかなり上手いNSがあります。いろいろなプロジェクトで使うことができますし、他のNSに追加することも可能です。でも、いちいち再トレーニングするのはNG。
接着時の作業性を確認してください。どうせそんな工作でフィットは解消されないんだから。
NSにはそれしかないと思います :)
結局、NSはTSとは別物で、概ね独立しているんです。しかし、学習サンプルの入出力の形成のレベルで行うことができます。
そして、なぜそれらを組み合わせることができないのか。そうすると、NSは問題の一部だけを解決することになりますが、全体のシステムの一部として訓練されることになります。そして、一般的には、戦略の最適化のプロセスと、その一部であるNSのトレーニングは、本質的に同じことなので、組み合わせてください。I.e.例えば、テスターを実行するたびに、NSはテストサンプルで学習されます。もちろん、NSがスタンドアロンテスターでない場合、これは理にかなっています)) 価格ですが、システムの全体的なロジックの一部でしかありません
いいえ、そんなことはありません。
そんなことを言うと、デマゴギーになる。お互いに理解できないまま違うことを話して、だいたい同じようなことを言うこともあるんです。