欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

PNN 神经网络类 - MetaTrader 5 库

author emer | 622 人阅读 | 0 人评论 |

CNetPNN类实现了概率神经网络(Probabilistic Neural Network - PNN)。

网络的创建被声明为类参数构造函数。

CNetPNN *网络=新的CNetPNN(输入向量大小,类数(分类目标));

类(分类目标)的编号从零开始,并且必须是连续的。例如,如果设置了3个类,则类数必须为:0,1,2。

学习网络是通过调用Learn方法提供的(学习模式的数量、输入数据数组、输出数据数组、学习周期数、最大学习误差)。

输入和输出学习数据逐个向量位于一维数组中。必须在每个输入学习向量上定义输入数据中的类号。学习过程要么受到学习时期的限制,要么受到允许错误的限制。

Learn 方法返回以下值:

为了获得网络的响应,使用计算方法(输入向量数组)。 Calculate 方法返回与输入向量相对应的类号,如果网络未学习,则返回 -1。

Save(使用 FILE_WRITE 和 FILE_BIN 标志打开文件句柄)和 Load(使用 FILE_READ 和 FILE_BIN 标志打开文件句柄)方法分别用于将网络保存到文件和从文件加载网络。网络拓扑、学习错误和数组权重保存到文件中。如果加载的网络拓扑参数与已建立的网络拓扑参数不同,则不会加载网络,并且 Load 方法将返回 false。

该类的使用如所附样本所示:Test_PNN_XOR - 学习网络函数“异或”。 


附件下载

📎 class_pnn.mqh (12.14 KB)

📎 test_pnn_xor.mq5 (2.01 KB)

Source: MQL5 #1323

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录