【发布时间】:2013-03-02 18:08:12
【问题描述】:
您好,我正在构建一个简单的多层网络,该网络使用反向传播进行训练。我目前的问题是我的数据集中的某些属性是名义上的(非数字),我必须对它们进行规范化。我想知道最好的方法是什么。我正在考虑计算每个属性有多少不同的值,并为每个属性分配一个介于 0 和 1 之间的相等数字。例如,假设我的一个属性具有值 A 到 E,那么以下是否合适?:
A = 0
B = 0.25
C = 0.5
D = 0.75
E = 1
我的问题的第二部分是对输出进行非规范化以使其恢复到标称值。为了获得数字表示,我是否首先对数据集中的每个不同的输出属性值执行与上述相同的操作?此外,在我从网络获得输出后,我是否只看到它更接近哪个数字?例如,如果我得到 0.435 作为输出并且我的输出属性值是这样分配的:
x = 0
y = 0.5
z = 1
我是否只找到最接近输出 (0.435) 的值,即 y (0.5)?
【问题讨论】:
-
另外,顺序是否重要,例如 A 被分配 0 而不是 B 等重要吗?
标签: java arrays neural-network backpropagation