RBF 神经网络类 - MetaTrader 5 库
这里代表了 RBFN 的经典实现,由两层神经元组成:具有径向对称激活函数的隐藏层神经元和具有线性和 sigmoid 激活函数的退出层。
根据测试输出数据自动选择输出层的激活函数来训练网络。对于 -1 到 1 的范围,应用双曲正切,对于 0 .. 1 的范围,应用 sigmoid。如果测试输出数据超出范围-1 .. 1,则不使用激活函数。
网络的创建被声明为类参数构造函数。
CNetRBF * 净 =新的CNetRBF(输入向量的大小,隐藏层神经元的最大数量,输出向量的大小);
创建网络时,设置网络可以使用的隐藏层中神经元的最大数量。实际所需的神经元数量由学习网络决定。
学习网络是通过调用Learn方法提供的(学习模式的数量、输入数据数组、输出数据数组、学习周期数、最大学习误差)。
输入和输出学习数据逐个向量位于一维数组中。学习过程受到学习时期数或可接受误差的限制。
Learn 方法返回以下值:
-4 - 内存不足。
计算方法(输入向量数组,网络响应数组)用于获取网络响应。
Save(使用 FILE_WRITE 和 FILE_BIN 标志打开文件句柄)和 Load(使用 FILE_READ 和 FILE_BIN 标志打开文件句柄)方法分别用于将网络保存到文件和从文件加载网络。网络拓扑、学习错误和数组权重保存到文件中。如果加载的网络拓扑参数与已建立的网络拓扑参数不同,则不会加载网络,并且 Load 方法将返回 false。
该类的使用如所附样本所示:Test_RBFN_XOR - 学习网络函数“排除 OR”,Test_RBFN_MUL_ADD - 学习整数乘法和加法网络。这意味着类和示例文件放置在一个文件夹中。
附件下载
📎 class_netrbf.mqh (22.75 KB)
📎 test_rbfn_xor.mq5 (2.48 KB)
📎 test_rbfn_mul_add.mq5 (2.14 KB)
Source: MQL5 #1267
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
