記事「MQL言語を使用したゼロからのディープニューラルネットワークプログラミング」についてのディスカッション - ページ 2

 
Anddy Cabrera #:

李さん、こんにちは、

記事を更新し、2つのデモファイルを追加しました。1つはMQL5用、もう1つはMQL4用です。DeepNeuralNetwork.mqhは、MQL5とMQL4の両方に使用できます。


いずれにせよ、使い方を示すためにこのファイルをここに添付する。


また質問があれば教えてください。

yValues[0]とyValues[2]の値は最大でも0.2か0.3です。最適化でも、1つの売り注文である1つ以上の取引は開きません。
 
nail sertoglu #:

コードを教えてくれてありがとう。あなたのやり方を理解しようとした。


yValues[0]、yValues[1]、yValues[2]は変化せず、常に 0 ,33333。xValues[1,2,3]は新しいバーで変化して いるので、yValuesに基づいて 取引すると、_xValuesに基づく条件では取引が発生する一方で、私は何の取引も表示されませんでした

これは私のミスでしょうか、それとも単に元のコードのコーディングミスでしょうか?

以下の関数を更新して `void` ではなく `bool` を返すようにすれば、重みの数が間違っていたことがわかります。

bool SetWeights(double &weights[])
     {
      int numWeights=(numInput*numHiddenA)+numHiddenA+(numHiddenA*numHiddenB)+numHiddenB+(numHiddenB*numOutput)+numOutput;
      if(ArraySize(weights)!=numWeights)
        {
         printf("Bad weights length (%i), expected %i", ArraySize(weights), numWeights);
         return false;
        }

重みの更新はファイルの上でも行う必要があることに注意してください(ネットワークを初期化するときだけ更新すればいいというわけではありません :P

#define  SIZEI 25 // 入力 * 非表示 A
#define  SIZEA 25 // 非表示A * 非表示B
#define  SIZEB 15 // 隠れB * 出力
 
こんにちは、アンディ、

とても良い記事ですね。
いくつか質問があります。
1) 多層ニューロンの出力にSigmoidとTan-hの両方の活性化導線を組み合わせて使うことはできますか?
2) Karlis Balcersが提案したように、ファイルの先頭のwheightsを更新する必要がありますか?
#define  SIZEI 20 // (入力 * 非表示A)+非表示A
#define  SIZEA 25 // (非表示A * 非表示B)+非表示B
#define  SIZEB 18 // (非表示B * 出力)+出力
注:SIZEIは20、SIZEBは18であるべきです。
3) この記事に記載されているように、ディープ・ニューラル・ネットワークの図を添付しました。

ありがとうございます。


EADNN

 
オプティマイザを持つ遺伝的アルゴリズムと同じように動作し、最終的な結果をより良くする値を選択する。
 
<削除
 

素敵なアニメーション

2層のニューラルネットワークは "浅い "ニューラルネットワークであり、ディープ・ニューラル・ネットワークではない。ディープ・ニューラル・ネットワークには、3層以上の隠れ層を持つネットワークが含まれる。このようなニューラルネットワークのトレーニングの特殊性から、ディープラーニングの手法が開発されている。

MCL でのプログラミングの例としての記事は、おそらく役に立つでしょう。MLPのトピックに慣れるためには - 確かに必要である。ニューラルネットワークの応用 例として - 完全ではなく、このトピックの現状から大きく遅れている。

ハイパーパラメータの最適化なしには、原則としてニューラルネットワークは満足のいく品質を提供しない。

このトピックに関するプログラムはいくらでもあるのに、なぜ即席の手段で自転車を作るのか理解できない。

 
NSを理解するのは良いことだし、明確だ。
 

訂正。記事の中にディープネットの定義があります。私はそれを見ていなかった。

遺伝学を用いてニューラルネットワークの重みを最適化するプロセスは、文字通り「学習」ではない。結局は最適化なのだ。トレーニングはまったく別の方法を使う。しかし、このようなニューラルネットワークの使用法も実践されており、かなり成功している。

ニューラルネットワークの働きを理解するには、誤差の逆伝播によってニューラルネットワークが どのように訓練されるかを 理解することが重要である。さて、私はすでにあなたをいじめている。)

幸運を祈る

 
この記事を書いてくれた著者に感謝します。ニューラルネットワークから遠く離れた人間として、物事の本質を理解するのにとても役立ちましたし、このトピックにさらに精通するという観点からもとても興味深いものでした。本当にありがとう!
 

このネットワークにエラーの逆伝播を組み込む方法はあるのか?

なぜか、そのようなネットワークの方が柔軟性があり、より良い入力-出力が得られるという意見があるのだが...。

誤差逆伝播を使ったネットワークは、まったく別のネットワークではないのですよね?