首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >神经网络POC有限输出范围

神经网络POC有限输出范围
EN

Stack Overflow用户
提问于 2014-05-30 07:43:39
回答 1查看 62关注 0票数 0

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

这很好用,所以我转到了加载NN的输入/输出的概念证明。我已经更改了算法,以接受二进制,并读取它应该看到的数字。使用2位或3位作为输入,我可以用预期的输出获得很好的结果。

代码语言:javascript
复制
-- --> 0.000
-O --> 1.000
O- --> 2.000
OO --> 3.000  

代码语言:javascript
复制
--- --> 0.000
--O --> 1.000
-O- --> 2.000
-OO --> 3.000
O-- --> 4.000
O-O --> 5.000
OO- --> 6.000
OOO --> 7.000

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

代码语言:javascript
复制
---- --> 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  

发生这种情况的概念性原因是什么?我尝试了所有类型的隐藏层大小和层数,结果没有差别。

我将输出一个更大的结果。

代码语言:javascript
复制
----- --> 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

正如你所看到的,可以计算出明显的“聚束”。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2014-05-31 09:48:55

好吧,答案归结于我的响应中的位数。长话短说,如果您使用1个输出神经元作为整数预期输出,则数据类型的位数就是输出范围……

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

为了训练集的预期结果,我刚刚运行了numberYouWant/maxNumberTheResultYouWantTheNetworkToBe * outputsDataSize的转换

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

感谢您的帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23944810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档