【发布时间】:2011-11-19 09:22:37
【问题描述】:
我想知道人工神经网络是否可以应用于离散值输入?我知道它们可以应用于连续值输入,但它们可以应用于离散值输入吗?此外,对于离散值输入是否会表现良好?
【问题讨论】:
-
如果所有输入都是离散的,那么您只有有限数量的输入组合。如果这个数字不是很大,你甚至可以在完全不使用人工神经网络的情况下计算出最佳输出。
标签: artificial-intelligence neural-network
我想知道人工神经网络是否可以应用于离散值输入?我知道它们可以应用于连续值输入,但它们可以应用于离散值输入吗?此外,对于离散值输入是否会表现良好?
【问题讨论】:
标签: artificial-intelligence neural-network
好吧,好问题让我说!
首先让我直接回答你的问题!
答案意味着要考虑有关网络本身的使用和实施的几个方面。
让我解释一下原因:
作为一个优点,您可以考虑在层之间使用“step”传递函数,而不是“tan-sigmoid”,以加强和模拟一种强制输出仅为 0 或 1 的数字化。但您应该还要重新考虑开始标准化以及使用经过良好调整的阈值。
注意:后一种技巧并不是真正必要的,但可能会带来一些次要的好处;也许在您的开发的第二阶段对其进行测试并查看差异。
PS:请允许我提出一些适用于您的问题的建议;如果您很聪明,请考虑在您的学习算法中使用一些模糊逻辑;-)
干杯!
【讨论】:
神经网络的目的是通过插值样本来逼近复杂的函数。因此,它们往往不适合离散数据,除非该数据可以通过对连续函数进行阈值化来表示。根据您的问题,可能会有更有效的学习方法。
【讨论】:
是的,人工神经网络可以应用于具有离散值输入变量的数据。在最常用的神经网络架构(数值型)中,离散输入通常由一系列虚拟变量表示,就像在统计回归中一样。此外,与回归一样,需要比不同值虚拟变量的数量少一个。还有其他方法,但这是最直接的。
【讨论】:
我在这个问题上迟到了,但这可能会对某人有所帮助。
假设您有一个分类输出变量,例如 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 hill 有 3 个输出节点,因此取最大值。 为了改善这一点,在输出层使用熵作为误差度量和 softmax 激活,使输出总和为 1。
【讨论】: