The main advantage of OpenNN is its high performance. It is developed in C++ for better memory management and higher processing speed, and implements CPU parallelization by means of OpenMP and GPU acceleration with CUDA.
N+1 совместно с МФТИ продолжает знакомить читателя с наиболее яркими аспектами современных исследований в области искусственного интеллекта. В прошлый раз мы писали об общих принципах машинного обучения и конкретно о методе обратного распространения ошибки для обучения нейросетей. Сегодня наш собеседник — Валентин Малых, младший научный...
実際、インターネットやC++には、たくさんのニューロニックがあるという。でも、探したことはないんです。
http://www.opennn.net/
https://www.neuraldesigner.com/
ニューラルネットワークの探求を始めています。
MT5で直接実装できるオプションを探しています。
ALGLIB (https://www.mql5.com/ru/articles/2279) を使った変種に興味があるのですが、ネットワークの説明からすると、フィードバックのない逐次ネットワークであることがわかります。そして、(ニューラルネットワークを搭載したExpert Advisorを処理する)プロセッサの1スレッドでしか学習できないことがデメリットです。
記事 https://www.mql5.com/ru/articles/497 のニューラルネットワークに隠れ順次層を2つ追加し、テスターでフルブルートフォースかジェネリックで訓練するのはそれほど難しくないかと思います。しかし、この場合、より多くの計算スレッド(プロセッサのコア、ネットワーク、クラウド)を使用することができます。正しく理解できているか?
このようなネットワークの学習において、正解(買い場、売り場)に対する手動の指示を加えるにはどうしたらよいでしょうか。
もしかしたら、すでにどこかに多層逐次ネットワークのライブラリがあるのでは?
あと、FX・為替取引目的で、インナーレイヤーを使うことの有用性がよくわからないんです。追加することに意味はあるのでしょうか?なぜ?
MLP は市場予測には 不向きで、RNN、つまりメモリを持つネットワークが必要です。
https://nplus1.ru/material/2016/11/04/recurrent-networks
それなのに、デモでも満足な取引結果が出ない!?
最適化の問題で、まだ全バージョンをテッティングする意味はなく、すべてを完全に実装してからテストします
2つのMAを掛け合わせるニューラルネットワーク(NS)を学習させる実験は失敗した。上向きのクロスオーバーだけを認識するように学習させた。
実験では、NS - 3,3,3,1 を選択し、人工的に作成したパターンの学習と認識のためにテストした。しかし、MAを認識するための学習を行った結果、クロスオーバーは1つも認識されませんでした。その理由は、NSはよりコントラストの高い画像を必要とし、入力間の0.01〜0.1の差はすべて気にしないためです。
NSのある構造では、0.2~0.3以上の信号差でかなり信頼性の高い認識が得られると思われる。
MLPあなたはすべての時間とそのような混乱を与えるだろう、私はすでに彼らと実験してきた、層を拾う方法はありません - その後、再トレーニング、その後、十分な層ではない再トレーニング、その量
デモでも満足のいく結果は得られないようです
何ヶ月もかけて戦略を練り、それをデモ口座で自慢するような人はいないでしょう。そういうものはリアルで取引され、取引履歴は誰からも隠されている。フォーラムでは、わざと2つのブローカーで取引し、片方で負け、もう片方で損失を補填することで、どの取引がストラテジーで、どの取引が偽物なのかブローカーにも分からないようにしている、という話も読んだことがあります。
結果が出ています。良い予測因子とモデルの組み合わせは、数ヶ月の利益をもたらすこともありますが、それ以下の場合もあります。しかし、それらは他の人に取って代わられる。
個人的な意見ですが、ネウロイ、フォレスト、リグレッション、どれもこれもFXには弱すぎです。なぜなら、価格行動は常に変化しており、今日利益が出るルールも、1週間前には利益が出なかったかもしれないからです。そして、標準的なアプローチ - 数ヶ月間の指標と価格を取り、神経細胞を訓練する - それはすべての2ヶ月間、価格の動作の同じルールを見つけなければならないことを意味します。そして、そのようなルールはなく、何が見つかるかは誰にもわからないが、99%の確率で間違うだろう。時々、モデルは幸運に恵まれ、その1%に落ちることがありますが、それは聖杯からあまりにも遠く、そのようなExpert Advisorsは通常、最初のストップロスまでうまく取引し、その後、捨てることができます。
私は、歴史上の類似したパターンの後の価格行動を調べ、その統計値を取引に利用するパターン認識のモデルを研究しています。
Rのパッケージで必要なものがすべて揃っているものは見たことがありません。私は、他の人から断片的に組み立てたモデルと、自分のバイクを持っています。私が見た中で最もモデルの説明に近いのは他のスレッドで、私はこれ(以下引用)を使ってあなたの聖杯を作り始めることをお勧めします。その過程で新しい問題が出てくるので、それについて考え、実験する必要があります。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
パターンの最も重要な統計的特徴を分析し、それに基づいた取引方法を選択する。
ウラジミール さん 2017.04.06 06:20
コードベースでmy nearest neighborhood indicatorを検索してください。方法はいたってシンプル。現在のパターンの長さを設定する、履歴から類似のパターンを見つける(パターン間の距離として相関を使用するなど)、個々の予測に重みをつけて過去のパターンから将来の価格行動を予測する、などです。これは、クラスタリングやRBF、SVM、GRNNと本質的に同じである。現在のパターンと過去の類似パターンとの距離をどのように測るかによります。GRNNとベイズについて読む。そこでは、予測理論が統計分布の 観点から説明されている。GRNNや上記のような予測手法について多くのことが書かれていますが、すべては1つのシンプルな数式に集約されます。
予測値 y = SUM y[k]*exp(-d[k]/2s^2) / SUM exp(-d[k]/2s^2)
ここで、y[k]はk番目の過去のパターン、d[k]はk番目のパターンから現在のパターンまでの距離である。距離がガウス分布の場合、d[k] = (x - x[k])^2 となります。任意の(超ガウス)分布に対して、d[k] = |x - x[k]|^p, ここでpは、社会主義のように、最も近い隣人に重みを与えるか(大きなp)、すべての隣人にほぼ同じ重みを与えるか(小さなp)により選択します。p=0であれば、完全な社会主義になります。
最近傍とGRNNについて理解したところで、次のような疑問が湧いてきます。時間軸の歪みを考慮した場合、現在のパターンと過去のパターンとの距離の測り方(過去のパターンは現在のパターンと似ているが、時間軸が伸びているか縮まっているかのどちらか)。ここが問題なのです。
ML手法として遺伝的プログラミングを試された方はいらっしゃいますか?
カオスハンターのような?
MLP は市場予測には適して いません(上記のビデオを参照)。
https://nplus1.ru/material/2016/11/04/recurrent-networks
私の勘違いでなければ、RNNをMT5に実装するのは非常に難しく、良い結果を得るには、購入するか、莫大な人件費をかけて自社で開発する必要があります。
現在のバーの価格と指標の情報以外に、10~30本前のバーの同じ情報をMLPに送れば、一種の記憶となります。あるニューロンは現在の状態を処理し、あるニューロンは直近の過去の状況の推移を処理する。
手動で取引するときは、現在の指標の状態だけでなく、過去数本のバーも見ます。
計算量が増えるのは明らかですから、1つのコアからプロセッサの全コア、ネットワーク、クラウドに計算を転送することができないか、ということに興味を持ちました。どうしてこんなことができるのか。少なくともMLPには。
ML手法として遺伝的プログラミングを試された方はいらっしゃいますか?
カオスハンターのような?
計算量が増えるのは明らかなので、1つのコアからプロセッサの全コア、ネットワーク、クラウドに計算を転送することができないか、ということに興味を持ったのです。どうしてこんなことができるのか。少なくともMLPには。
OpenCLでは、怠け者でなければ、そうではありません ))