記事「データサイエンスと機械学習—ニューラルネットワーク(第02回):フィードフォワードNNアーキテクチャの設計」についてのディスカッション

 

新しい記事「データサイエンスと機械学習—ニューラルネットワーク(第02回):フィードフォワードNNアーキテクチャの設計」はパブリッシュされました:

フィードフォワード(予測制御)ニューラルネットワークについて説明する前に、少し説明しておくことがあって、設計もその1つです。入力、隠れ層の数、および各ネットワークのノードに対する柔軟なニューラルネットワークを構築および設計する方法を見てみましょう。

ハードコーディングされたモデルは、新しいパラメータに合わせて最適化しようとすると失敗し、手順全体に時間がかかって面倒なことは誰もが知っています. (それだけの価値はありません)

ニューラルネットワークの背後にある操作を詳しく見てみると、各入力に割り当てられた重みが乗算され、出力がバイアスに追加されることがわかります。これは行列演算でうまく処理できます。

ニューラルネットワークの行列乗算

作者: Omega J Msigwa

 

このサイクルでは、例えば「ニューラルネットワーク - それは簡単です」のサイクルよりも、はるかに良い材料が提示されていると思います。

管理人に質問です。有料文献へのリンクを コードに挿入することは可能でしょうか?

//+------------------------------------------------------------------+
//|ニューラルネットmqh
//|Copyright 2022, オメガジョクタン.|
//|https://www.mql5.com/en/users/omegajoctan
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, Omega Joctan."
#property link      "https://www.mql5.com/en/users/omegajoctan"
//+------------------------------------------------------------------+

#import "The_Matrix.ex5" ソースコードはこちら >>https://www.mql5.com/en/market/product/81533
   void MatrixMultiply(double &A[],double &B[],double &AxBMatrix[], int colsA,int rowsB,int &new_rows,int &new_cols);
   void CSVToMatrix(double &Matrix[],int &mat_rows,int &mat_cols,string csv_file,string sep=",");
   void MatrixPrint(double &Matrix[],int cols,int digits=5);
#import

bool m_debug = true;
 
Denis Kirichenko #:

このサイクルの教材は、例えば「ニューラル・ネットワーク - それは簡単だ」のサイクルよりもずっと良く表現されていると思う。

管理人に質問です。有料文献へのリンクを コードに挿入することは可能でしょうか?

いいえ、できません。リンクを削除するのを忘れていました。

 

記事の中にそのようなものがある:

Ok so here is the function responsible for training the neural network.

void CNeuralNets::train_feedforwardMLP(double &XMatrix[],int epochs=1)

私はあえて著者が記事を書いた 言語で抜粋している。

恥ずかしながら、どこで学習が 行われているのでしょうか?直接的な普及が行われていると思うのですが......。

おかしいですね:

CNeuralNets::CNeuralNets(fx HActivationFx, fx OActivationFx, int inputs, int &NodesHL[], int outputs=NULL, bool SoftMax=false)
   {
   e = 2.718281828;
    ...
   }

もしそうだとしたら?)

CNeuralNets::CNeuralNets(fx HActivationFx, fx OActivationFx, int inputs, int &NodesHL[], int outputs=NULL, bool SoftMax=false)
   {
    e = M_E;
   ...
   }
 

という項目があるのを知った:

Матрицы в помощь

静的なコードでモデルのパラメータを突然変更する必要がある場合、最適化には多くの時間がかかる。

私は、ついにMOをネイティブの行列で 説明する人が現れたと思った。しかし、XMatrix[]の ような1次元配列の形で自作した行列の頭痛の種は 増えるばかりでした ...。

Документация по MQL5: Основы языка / Типы данных / Матрицы и векторы
Документация по MQL5: Основы языка / Типы данных / Матрицы и векторы
  • www.mql5.com
Матрицы и векторы - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
これはどういう意味ですか?
int hlnodes[3] = {4,6,1};

4つの入力、6つのニューロンを持つ1つの隠れ層、そして1つの出力?


最も重要なことをうまく説明していない。 モデルのアーキテクチャをどのように宣言するか。

隠れ層はいくつ使えるのか?

各隠れ層のニューロンの数をどのように定義すればいいのか?
例8入力のネットワークが欲しい。
16、8、4ニューロンを持つ3つの隠れ層。
そして2つの出力。
可能ですか?