RBF 神经网络类 - MetaTrader 5程序库
- 显示:
- 1775
- 等级:
- 已发布:
- 2014.02.05 10:28
- 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
此处示意的是经典 RBFN 实现, 包括两层神经元: 隐层神经元的激活函数的径向对称以及线性和非线性退出层的激活函数。
输出层激活函数会根据测试输出数据自动选择训练网络。对于 -1 到1 范围内的双曲正切值所适用的范围为 0 .. 1 非线性适用。如果测试输出数据超出了范围 -1 .. 1, 激活函数未使用。
网络创建被声明为类参数的构造函数。
CNetRBF * net =new CNetRBF (输入向量大小, 隐藏层的最大神经元数量, 输出向量大小);
当创建一个网络时, 网络可使用的最大隐含层神经元数量被设置。实际神经元数量需要在学习网络中判断。
学习网络是通过调用学习方法提供 (学习范式的数量, 输入数据数组, 输出数据数组, 学习周期数量, 最大学习错误)。
输入和输出学习数据位于一维数组的逐个向量。学习进程受限于学习时代或允许的误差。
该学习方法返回如下值:
0 - 完整的网络学习和学习结果可以通过类变量进行检查: mse – 学习错误, epoch – 完成的学习周期和神经元的数量 - 隐含层的神经元数目;-3 - 隐含层的神经元不足;
-4 - 内存不足。
计算方法 (输入向量数组, 网络响应数组) 用于得到网络响应。
保存 (以 FILE_WRITE 和 FILE_BIN 标志打开文件句柄) 和加载 (以 FILE_READ 和 FILE_BIN 标志打开文件句柄) 方法旨在分别保存网络至文件和从文件中加载网络。网络拓扑结构, 学习错误和数组权值保存到文件。如果加载网络拓扑结构的参数与既定的网络拓扑结构的参数不同, 网络将不会被载入, Load 方法将返回 false。
类的使用示意在附加样本中:Test_RBFN_XOR - 学习网络函数 "排除或", Test_RBFN_MUL_ADD - 学习乘法和整数加的网络。类和例子文件隐含要放在同一文件夹。
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/1267
一键加载, 检查并导出所有必要的金融工具的所有时间帧的历史数据
CheckHistory - 检查并加载历史功能历史加载功能, 由 MetaQuotes 的版本稍加修改
该 Heikin Ashi 指标绘制在分离子窗口, 并可选择周期。
KeltnerChannelWithFlatZone该 Keltner 通道指标有附加的横盘区域