人工神经网络

时间:2011-09-17 18:21:40

标签: artificial-intelligence neural-network

我想知道人工神经网络是否可以应用于离散值输入?我知道它们可以应用于连续值输入,但它们是否可以应用于离散值的输入?此外,对离散值输入表现良好吗?

4 个答案:

答案 0 :(得分:2)

是的,人工神经网络可以应用于具有离散值输入变量的数据。在最常用的神经网络架构(数字)中,离散输入通常由一系列虚拟变量表示,就像在统计回归中一样。此外,与回归一样,需要比不同值虚拟变量的数量少一个。还有其他方法,但这是最直接的。

答案 1 :(得分:1)

好吧,好问题让我说!

首先让我直接回答你的问题!

答案意味着要考虑关于网络本身的使用和实施的几个方面。

让我解释原因:

  • 最简单的方法是像往常一样对输入进行标准化,这是NN的第一个经验法则, 而不是让神经网络计算任务,一旦你有输出,反转标准化以获得原始范围内的输出但仍然是连续的,以获得离散值只考虑输出的整数部分。它很简单,工作正常,完成!一个好的结果取决于您为网络设计的拓扑结构。

作为一个加分你可以考虑在层之间使用“步”传递函数,而不是“tan-sigmoid”,只是为了强化和模仿一种数字化,迫使输出只有0或1.但是你应该重新考虑起始标准化以及使用调整好的阈值。

注意:后一种技巧并不是必需的,但可以带来一些次要的好处;也许在开发的第二阶段测试它并查看差异。

PS:请允许我建议一些适用于您的问题的内容;如果你聪明,请考虑在你的学习算法中使用一些模糊逻辑; - )

干杯!

答案 2 :(得分:0)

我在这个问题上迟到了,但这可能对某人有所帮助。

假设您有一个分类输出变量,例如3个不同的类别(0,1和2),

输出

0
2
1
2
1
0

然后变成

1, 0, 0
0, 0, 1
0, 1, 0
0, 0, 1
0, 1, 0
1, 0, 0

可能的NN输出结果是

0.2, 0.3, 0.5  (winner is categ 2) 
0.05, 0.9, 0.05  (winner is categ 1)
... 

然后你的NN山在这种情况下有3个输出节点,所以取最大值。 为了改善这一点,在输出层上使用熵作为误差测量和softmax激活,使输出总和为1。

答案 3 :(得分:-1)

神经网络的目的是通过内插样本来逼近复杂的函数。因此,它们往往不适合离散数据,除非可以通过对连续函数进行阈值处理来表示数据。根据您的问题,可能会有更有效的学习方法。