記事"パーセプトロンニューラルネットワーク"についてのディスカッション - ページ 7

 

残念ながら、ニューラルネットワークは万能ではない。入力にゴミを送り込めば、どれだけ訓練しても、どれだけレイヤーを増やさなくても、出力はゴミになる。

私は、取引端末に組み込まれているすべてのインジケーターや、過去の値動きから将来を予測しようとする一般的なテカナリシス手法をすべてそう呼んでいる。

そのため、NSを取引に使用する場合は、入力信号を正しく選択することが成功の基礎となります。NSのアーキテクチャでさえ、優れた入力シグナルほど重要ではありません。


P.S.強化学習の 使用に関する記事を見たいと思います。

私自身、この方向に進もうとしているので、知識のある人からの追加情報が必要です。

 
この記事を実用的に利用できる人がいれば素晴らしいことだ。
 

バックプロパゲーション関数に何か問題があるのでしょうか?

このライブラリを使ってとても簡単なエキスパートを作っているのですが、出力層がいつも同じ値を出力してしまいます。

//--- オープン
   m_Trade.SetExpertMagicNumber(symbol.magicnumber);
   
   BackPropagation(symbol);
   
   CArrayDouble *inputVals = new CArrayDouble();
   
   for(int i=0;i<inputNeurons;i++)inputVals.Add((iClose(symbol.name,PERIOD_CURRENT,i)-iClose(symbol.name,PERIOD_CURRENT,i+1))/iClose(symbol.name,PERIOD_CURRENT,i+1));
   
   symbol.Net.feedForward(inputVals);
   
   CArrayDouble *results = new CArrayDouble();
   
   symbol.Net.getResults(results);
   
   Print(results.At(0)," ",results.At(1));
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
void BackPropagation(CSymbol &symbol)
{
   
   CArrayDouble *targetVals = new CArrayDouble();
     
   if(iClose(symbol.name,PERIOD_CURRENT,0)-iClose(symbol.name,PERIOD_CURRENT,1) > 0)
   {
      targetVals.Add(1);targetVals.Add(0);
   }
   else
   {
      targetVals.Add(0);targetVals.Add(1);
   }
   
   symbol.Net.backProp(targetVals);
}


もし私がプロセスのステップを見逃しているのであれば、どなたか教えていただけると助かります。

ありがとうございました。

削除済み  
メモリリークを起こし続けた自分のモデルを作っているところです。
削除済み  
Vitaliy davydov :

残念ながら、ニューラルネットワークは万能ではない。入力にゴミが供給されれば、いくら訓練しなくても、いくらレイヤー数を増やさなくても、出力にはゴミが供給される。

そして、私は取引端末に組み込まれているすべての指標と、過去の価格行動でその将来を予測しようとするテクニカル分析のすべての一般的な方法をゴミと呼ぶ。

したがって、取引でNSを使用する場合は、入力入力信号を正しく選択することが成功の基礎である。NSのアーキテクチャでさえ、優れた入力シグナルほど重要ではありません(石を投げつけてもかまいません :))。


PS 強化トレーニングの使用に関する記事を見てみたい。

私自身、この方向に進もうとしているので、知識のある人からの追加情報が必要なのです。

僕もだ。しかし、自分自身の強化学習アルゴリズムを理解し、作成する最善の方法は、まずニューラルネットワークがどのように学習するかを理解することだと考えました。

追記:私は純粋なプライスアクションに基づいてカスタムインジケーターを作成 し、EAから計算結果を読み取ります。2つのスレッドを使用する良い方法です。

削除済み  
Nelson Wanyama:
メモリリークを起こし続けた自分のモデルを作っているところです。

モデルの準備はできています。https://www.mql5.com/en/forum/338341/page4#comment_17770620、ソースと簡単な動作例をご覧ください。

現在進行中のプロジェクトです。まだ開発中の素晴らしいアップグレードを手に入れるために、時々このスレッドを訪れるといいかもしれません。

The Ultimate AI EA Project
The Ultimate AI EA Project
  • 2020.07.14
  • www.mql5.com
Hello everyone. I would like to call upon every worthy programmer and trader to a crucial mission...
 
Dmitriy Gizlyk:

5 Whyテクニックは、各質問が前の質問の理由に答えるという連続した質問で構成されています。例えば、チャートと上昇価格チャートを見て、質問を組み立てていきます(質問はテクニックを説明するために抽象的に答えています):
1.どこで取引するか - 買う
2.なぜ買うのか?- 上昇トレンドだから
3.なぜ上昇トレンドなのか?- MA50が上昇しているから
4.なぜMA50は上昇しているのか?- 1のシフトを持つ50本のローソク足の平均終値は、最後の50本のローソク足の平均終値よりも低い。

など
質問は連続的で因果関係があるため、この関係に従うようにレイヤーを作成します。レイヤーを2つしか使用しないと、因果関係が失われ、ニューラルネットは独立した多くのオプションを分析し、最良のものを選択します。

私はこれを読んでこう思った。

しかし、そうではない!私は1層でニューラルネットワークを作り、良い結果を出した。2層目を追加すると、結果は悪くなる。

つまり、層の数は論理的な推論によって決まるのではなく、作業の結果によって決まるのだ。あなたは仕事の結果を持っていない、それが戦略であるかどうかを考えていない、だからそれは何かと何かであるように見える。

あとね。なぜ、買うことと売ることが違うニューラルネットワークの決断だと思うのですか?買いも売りも資産を買うという同じ決断です。そうでなければ、まったくナンセンスだ。オシレーターの負の値を入力に与えると出力がゼロより小さくなり、正の値を入力に与えると出力がゼロより大きくなるのか?しかし実際には、オシレーターがゼロを下回れば売られ過ぎのゾーンであり、売るのではなく買うべきなのだ。

要するに、結果を考えれば、物事はすぐに違う方向に進むということだ。かわいそうな、かわいそうなローゼンブラット・・・。

 
Evgeniy Scherbina:

これを読んで思ったのは、これは理にかなっているということだ。

しかし、そうではない!ニューラルネットワークを1層で作ると、良い結果が得られる。2層目を追加すると、結果は悪くなる。

つまり、層の数は論理的な推論ではなく、作業の結果によって決まるのだ。作業の結果がないから、それが戦略かどうかを考えていないから、何かを使って何かを考えている。

また。買い」と「売り」が違うニューラルネットワークの判断だと思うのはなぜですか?買いも売りも、資産を買うという同じ決断です。そうでなければ、まったくナンセンスだ。オシレーターの負の値を入力に与えると出力がゼロより小さくなり、正の値を入力に与えると出力がゼロより大きくなるのですか?しかし実際には、オシレーターがゼロ以下であれば売られすぎのゾーンであり、売るのではなく買うべきなのだ。

要するに、結果を考えれば、物事はすぐに違う方向に進むということだ。かわいそうな、かわいそうなローゼンブラット・・・。


そして、売りと買いの話だが、どちらの場合も、異なる資産を買うだけだ。そしてニューラルネットワークは、入力に供給された同じデータの分析に基づいて、ある資産を買うか別の資産を買うかの決定を下す。そして、その判断は訓練サンプルの分析に基づいて行われる。トレーニングの過程で、重み付け係数が変化し、その符号が反対の符号に変わることもある。

 
Aleksey Mavrin:

メソッド5は、決定木に似ており、解答・原因の探索領域が徐々に絞られていく。それにしても、このような構造でNSに4層が使われていることと、どのような関係があるのかよくわからない。例えば、2層目には1層目の出力を合計したものと変化していない入力信号が入力されるなど、トリッキーな構造になることは理解できる。

層数を選択する際に、そのような基準を用いた他の研究を参考にされたのでしょうか?それとも、これはあなたのノウハウですか?

s.s. 作品は素晴らしいです。

お答えいただけますか?

 
Aleksey Mavrin:

答えられますか?

方法5-なぜ比喩的に与えられるのか。層の数は実験的に選ばれることが多い。文献によると、隠れ層が1つのネットワークは、物体が直線的に2つの部分に分けられるような問題に使われる。層数を増やすと、より複雑な問題を解くことができる。