首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何表示人工神经网络的4个状态作为输入?

如何表示人工神经网络的4个状态作为输入?
EN

Stack Overflow用户
提问于 2017-09-12 22:21:52
回答 1查看 208关注 0票数 0

标题可能有点不清楚。可悲的是,我想不出更好的办法了。

因此,问题如下。有一个固定大小的数组,每个位置可以有4个状态:空的、阻塞的、正的(0到1之间的限值)和负的(0到1之间的限值(尽管这可能是0到- 1) )。我的意思是,这个值只能以0.1、0.2、. 1.0的形式出现,而且每个值也只能出现一次。根据数组的填充方式,我想预测下一个版本的数组将是什么样子。我试图将数组中的每个位置表示为一个输入节点,但我想不出如何做到这一点(如何将所有四种状态表示为一个数字)。还应该注意的是,每个州的最大数量都是已知的。因此,与其让每个节点表示数组中的索引,不如让每个节点表示一个状态(阻塞,-1.0,-0.9,……,0.9,1.0),然后说明该状态作为该节点的输入值发生在什么索引上。

对于神经网络来说,哪一种方法更实用或更有效?

另外,它是一个具有一个输入层、一个隐藏层和一个输出层的神经网络。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-14 08:44:29

我建议你首先对数组中的每个细胞使用3个神经元:

  • 它告诉网络如果单元格是空的。您可以只对空值使用0,对非空值使用1(只是一个例子,其他值也应该工作,只需确保一致)。
  • 一个做完全相同的事情,但它告诉网络,如果细胞被封锁。(同样是0和1作为可能的输入)
  • 最后接受神经元的正/负值。你可以在这里尝试各种不同的东西。您可能应该首先尝试,如果它只在有值的情况下设置值,而如果没有值,则将输入设置为0。这可能会使网络有点混乱,因为它看不到0 = null和0=0之间的区别。如果不能工作,您可以尝试将所有输入值映射到0到1之间(在您的示例中,只需添加1,然后再将值除以2,然后将值传递给网络)和输入-1 (如果单元格被阻塞/空的话)。

如果你不能让它先工作一段时间,改变隐藏层和神经元的数量,改变学习率和训练的动力。

如果输入结果对你的任务不是很好,我建议你做你前面提到的:每个细胞的每一个可能的状态都有一个神经元。这种方法需要更长的时间来训练,但是它肯定会起作用(如果不是,你的任务对网络来说太复杂了,或者你需要更多的培训时间)。

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

https://stackoverflow.com/questions/46186164

复制
相关文章

相似问题

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