资料库: MLP Neural Network Class - 页 2

 
elibrarius:

比较乘法表训练的结果,你的网络输得很明显。在 ALGLIB 上,2,5,1 网络经过 100 个历元的训练(https://www.mql5.com/ru/forum/8265/page2) 所给出的答案比你的网络经过 1000000 个历元的训练所给出的答案要好。计算 10000000000 个历元的速度也不令人满意。

显然,学习方法不是很有效。不过还是要感谢你的工作,小代码比 ALGLIB 更容易理解。不过,我们还需要继续努力。

错误的比较是,所有 100 个示例都显示在学习的 alglib 变体中,这就是答案更正确的原因。

 

你好,非常感谢你花时间制作了这个本地库!

我试着做了一次热编码,并在隐藏层中添加了 relu,在输出层调用中添加了 Softmax函数。它成功了,并产生了 100% 的总结果。

但是,即使切换回 Sigmoud,训练也是一团糟,难道 iRprop 不适合分类?无论输入是什么,它都会给出相同的输出结果。有时会有变化,但变化不大。


第二个问题,我看到在 Lern 方法中,Tanh 和 Sigmod 的处理方法不同,我还不太理解这部分代码,但哪种方法适合 Relu?

 
感谢您的精彩贡献...请解释一下如何确定允许的错误?
 
northedan:
感谢您的精彩贡献...请解释一下如何确定允许的错误?
//+------------------------------------------------------------------+
//| 学习|
//+------------------------------------------------------------------+
void CNetMLP::Learn(int c_npat,       // 教学模式的数量
                    double &c_inp[],  // 输入数据
                    double &c_res[],  // 输出数据
                    int c_nep,        // 学习历元数
                    double c_err)     //允许的错误