多层感知器:降低误差

Multi-layer perceptron: error reduction

本文关键字:误差 感知      更新时间:2023-10-16

我正在研究多层感知器,并在2D空间中编写简单的网络以进行分类点。通过反向传播算法进行净火车。不幸的是,即使本地错误将零,全局错误仍然很高,我不明白为什么。控制台中全局误差的输出范围[100,150]。所以,我的主要问题:如何减少此错误?
显然,我提供了与我的项目一起进行档案的链接。关于此的几句话:NET的几乎所有参数都在文件库中。。NET的结构位于文件perceptron.cpp中,图形库在plot.cpp中。要测试项目,您应该运行它,请在出现的窗口上的点上单击鼠标左键,您想成为课程中心。右键单击窗口将在这些中心周围的半径5圆圈中生成随机点,并将用此点训练网。
如果有人可以提供一些理论解决方案,甚至可以重新查看我的代码,我将非常感谢。

代码

我成功解决了问题。
首先,我的积分中心不正确,所以这个要点在2D空间中完全不可分割。
次要,我不得不重写培训过程,以从集合选择随机点。
第三,我发现将双重施放到int并不是有史以来最好的想法(数据丢失很高)。
链接到最终版本的代码:单击