Neural network 神经网络POC有限输出范围

Neural network 神经网络POC有限输出范围,neural-network,Neural Network,为了尽可能简短,我用Java实现了一个神经网络,它最初只是作为XOR的一个示例编写的 这非常有效,因此我继续讨论加载NN的输入/输出的概念验证。我把算法改成二进制,然后读取它应该看到的数字。使用2位或3位作为输入,我可以获得预期输出的良好结果 -- --> 0.000 -O --> 1.000 O- --> 2.000 OO --> 3.000 及 现在,一旦我将位输入/输出预期数增加到4,我就开始遇到问题 ---- --> 0.985 ---O -->

为了尽可能简短,我用Java实现了一个神经网络,它最初只是作为XOR的一个示例编写的

这非常有效,因此我继续讨论加载NN的输入/输出的概念验证。我把算法改成二进制,然后读取它应该看到的数字。使用2位或3位作为输入,我可以获得预期输出的良好结果

-- --> 0.000
-O --> 1.000
O- --> 2.000
OO --> 3.000  

现在,一旦我将位输入/输出预期数增加到4,我就开始遇到问题

---- --> 0.985
---O --> 0.985
--O- --> 3.160
--OO --> 3.160
-O-- --> 4.990
-O-O --> 4.990
-OO- --> 6.747
-OOO --> 6.747
O--- --> 8.094
O--O --> 8.094
O-O- --> 9.696
O-OO --> 9.696
OO-- --> 12.531
OO-O --> 12.531
OOO- --> 14.395
OOOO --> 14.395  
发生这种情况的概念原因是什么?我尝试了所有类型的隐藏层大小和层编号,结果没有任何差异

我将输出一个更大的结果

----- --> 2.515
----O --> 2.515
---O- --> 2.515
---OO --> 2.515
--O-- --> 6.598
--O-O --> 6.598
--OO- --> 6.598
--OOO --> 6.598
-O--- --> 10.241
-O--O --> 10.241
-O-O- --> 10.241
-O-OO --> 10.241
-OO-- --> 14.364
-OO-O --> 14.364
-OOO- --> 14.364
-OOOO --> 14.364
O---- --> 18.190
O---O --> 18.190
O--O- --> 18.190
O--OO --> 18.190
O-O-- --> 22.319
O-O-O --> 22.319
O-OO- --> 22.319
O-OOO --> 22.319
OO--- --> 26.824
OO--O --> 26.824
OO-O- --> 26.824
OO-OO --> 26.824
OOO-- --> 30.966
OOO-O --> 30.966
OOOO- --> 30.966
OOOOO --> 30.966
如你所见,可以计算出明显的“聚束”现象


谢谢你的帮助

好吧,答案取决于我回答中的位数。长话短说,如果将1个输出神经元用于整数预期输出,则数据类型的位数是输出范围

修复输出神经元返回类型的位数(浮点32,双64)是您不应超过的范围。

对于我的训练集的预期结果,我刚刚运行了numberYouWant/maxnumbertheresultyouwant网络到*outputsDataSize的转换

基本上,让它很好地数到32或64,并使任何数字系统都适合它

谢谢你的帮助:)

----- --> 2.515
----O --> 2.515
---O- --> 2.515
---OO --> 2.515
--O-- --> 6.598
--O-O --> 6.598
--OO- --> 6.598
--OOO --> 6.598
-O--- --> 10.241
-O--O --> 10.241
-O-O- --> 10.241
-O-OO --> 10.241
-OO-- --> 14.364
-OO-O --> 14.364
-OOO- --> 14.364
-OOOO --> 14.364
O---- --> 18.190
O---O --> 18.190
O--O- --> 18.190
O--OO --> 18.190
O-O-- --> 22.319
O-O-O --> 22.319
O-OO- --> 22.319
O-OOO --> 22.319
OO--- --> 26.824
OO--O --> 26.824
OO-O- --> 26.824
OO-OO --> 26.824
OOO-- --> 30.966
OOO-O --> 30.966
OOOO- --> 30.966
OOOOO --> 30.966