我想知道人工神经网络是否可以应用于离散值输入?我知道它们可以应用于连续值输入,但它们可以应用于离散值输入吗?另外,它们在处理离散值输入时表现良好吗?
回答:
嗯,问得好!
首先,让我直接回答你的问题:是的!
这个答案需要考虑关于网络本身的使用和实现的几个方面。
接下来让我解释一下原因:
- 最简单的方法是像往常一样对输入进行归一化,这是神经网络的首要经验法则。然后让神经网络计算任务,一旦得到输出,就反转归一化,以获得原始范围内的输出,但仍然是连续的。为了获得离散值,只需考虑输出的整数部分即可。这很简单,有效而且很好,完成!一个好的结果仅仅取决于你为你的网络设计的拓扑结构。
另外,您可以考虑使用“阶跃”传递函数,而不是层与层之间的“tan-sigmoid”,以此来加强和模仿一种数字化,迫使输出仅为0或1。但是你也应该重新考虑起始归一化以及微调过的阈值的使用。
注意:后一种技巧并不是真正必需的,但可能会带来一些次要的好处;也许可以在开发的第二阶段测试它,并观察差异。
PS: 我想建议一些可能适用于你问题的东西;如果你足够聪明,可以考虑在你的学习算法中使用一些模糊逻辑 😉
干杯!