文章 "数据科学与机器学习 — 神经网络(第 02 部分):前馈神经网络架构设计"

 

新文章 数据科学与机器学习 — 神经网络(第 02 部分):前馈神经网络架构设计已发布:

在我们透彻之前,还有一些涵盖前馈神经网络的次要事情,设计就是其中之一。 针对我们的输入,看看我们如何构建和设计一个灵活的神经网络、隐藏层的数量、以及每个网络的节点。

我们都知道,当涉及到优化新参数时,硬编码模型会落入钝化,整个过程很耗时,会导致头痛、背部疼痛、等等,(太不值了)

如果我们抵近观察神经网络背后的操作,您会注意到每个输入都被乘以分配给它的权重,然后它们的输出被添加到乖离之中。 矩阵运算可以很好地处理这一点。

神经网络矩阵乘法

作者:Omega J Msigwa

 

在我看来,本周期的材料比 "神经网络--很简单 "周期的材料要好得多......

请教管理员一个问题。是否可以在代码中插入付费书目的链接

//+------------------------------------------------------------------+
//|NeuralNets.mqh
//|版权所有 2022 年,Omega Joctan。|
//|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" //sourcecode here >>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[] 这样的一维数组形式自制矩阵所带来的头痛 只会 增加....。

Документация по MQL5: Основы языка / Типы данных / Матрицы и векторы
Документация по MQL5: Основы языка / Типы данных / Матрицы и векторы
  • www.mql5.com
Матрицы и векторы - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
这是什么意思?
int hlnodes[3] = {4,6,1};

4 个输入,1 个有 6 个神经元的隐藏层和 1 个输出?


你没有很好地解释最重要的事情。 如何声明模型的架构。

我可以使用多少个隐藏层?

如何定义每个隐藏层有多少个神经元?
举例说明:我想要一个有 8 个输入的网络。
3 个隐藏层,分别有 16、8、4 个神经元。
和 2 个输出。
可以吗?