我需要规范化神经网络的目标吗?
Do I need to normalize targets for Neural Network?
我使用反向传播神经网络进行多类分类。
我的数据是这样的
65535, 8710, 55641, 5396, 23.6056640625
65535, 8600, 65535, 5305, 10.0318359375
64539, 8664, 65535, 5305, 11.0232421875
65535, 8674, 65535, 5257, 21.962109375
32018, 8661, 65535, 5313, 2.8986328125
35569, 8665, 65535, 5289, 2.8494140624999997
23652, 8656, 65535, 5260, 22.4806640625
42031, 8551, 65535, 5239, 2.7298828125
65535, 8573, 65535, 5232, 10.3728515625
在我将它提供给网络之前,我将数据缩放到 [0,1]
范围内
目标是:
[0, 1, 1, 0, 2, 2, 0, 2, 1]
我是否需要将目标标准化到 [0,1] 范围内?
规范化目标仅在 regression 问题中当您的网络被要求预测一个(可能是向量的)真实值时才有意义。
在您的案例中,目标太 "round" 并且显然是 class 指标。因此,解决回归问题是不正确的,您需要使用 classification 代替。在那种情况下,规范化目标将是一场彻底的灾难:你会让目标变得无法比较(因为计算机浮动算法的局限性不允许我们比较浮动是否相等)并且不会简化 NN(或任何其他 ML 算法)的工作,因为数值其中 class 根本没有使用。
我使用反向传播神经网络进行多类分类。
我的数据是这样的
65535, 8710, 55641, 5396, 23.6056640625
65535, 8600, 65535, 5305, 10.0318359375
64539, 8664, 65535, 5305, 11.0232421875
65535, 8674, 65535, 5257, 21.962109375
32018, 8661, 65535, 5313, 2.8986328125
35569, 8665, 65535, 5289, 2.8494140624999997
23652, 8656, 65535, 5260, 22.4806640625
42031, 8551, 65535, 5239, 2.7298828125
65535, 8573, 65535, 5232, 10.3728515625
在我将它提供给网络之前,我将数据缩放到 [0,1]
范围内目标是:
[0, 1, 1, 0, 2, 2, 0, 2, 1]
我是否需要将目标标准化到 [0,1] 范围内?
规范化目标仅在 regression 问题中当您的网络被要求预测一个(可能是向量的)真实值时才有意义。
在您的案例中,目标太 "round" 并且显然是 class 指标。因此,解决回归问题是不正确的,您需要使用 classification 代替。在那种情况下,规范化目标将是一场彻底的灾难:你会让目标变得无法比较(因为计算机浮动算法的局限性不允许我们比较浮动是否相等)并且不会简化 NN(或任何其他 ML 算法)的工作,因为数值其中 class 根本没有使用。