2010-04-19 97 views
4

我在试图确定如何将我的“有意义的输入”转换为人工神经网络的数据,以及如何将输出转换为“有意义的输出”。神经网络输入和输出为有意义的值

我总是可以看到这样做的方式是通过将所有内容都转换为二进制值类别。

例如,而不是输出年龄,具有0-1 < 10,10 0-1 - 19等

与相同的输入,其中,I可能使用,例如,头发颜色。是唯一的方法把它变成输入有金发0-1,布朗0-1等?

我错过了ANN的一些完整主题吗?我阅读的大部分书籍和类似文章都使用理论实例。

回答

3

你的例子是点亮的,被称为离散化。另一种方法是将连续输入/输出缩放到0-1范围内。对于你的另一个头发颜色的例子,这将是一个名义上的属性,所以唯一真正的选择就是将它离散为每种颜色的单独输入。

+0

我认为这可能是这种情况。我缩小了输入年龄,但对于头发的颜色,我很高兴至少有一个人看到与我相同的解决方案。 :)(但知道正确的术语:)) – Micheal 2010-04-19 21:09:44

+0

其实,我一直在想这个,我不确定缩放年龄。如果我理解正确,缩放将无法处理异常高峰(例如20岁左右的高峰和40岁左右的高峰,中间下降)。这是另一个要求离散的呼吁吗? – Micheal 2010-04-19 21:36:27

+0

缩放连续值有多种方法。我认为线性缩放会保留“高峰”,但你必须为你的年龄建立一个界限。例如,您可以将最小年龄设置为0(出于显而易见的原因),并且最大年龄为100岁,以便50岁的年龄将变为0.5。如果你使用对数标度,那么你不需要设置明确的界限,但是你的分布可能会失真,使NN难以理解它。 – Cerin 2010-04-20 13:58:46