神经网络是否需要标准化目标?

我使用反向传播神经网络进行多类分类。

我的数据如下所示

65535, 8710, 55641, 5396, 23.605664062565535, 8600, 65535, 5305, 10.031835937564539, 8664, 65535, 5305, 11.0232421875 65535, 8674, 65535, 5257, 21.96210937532018, 8661, 65535, 5313, 2.898632812535569, 8665, 65535, 5289, 2.849414062499999723652, 8656, 65535, 5260, 22.480664062542031, 8551, 65535, 5239, 2.729882812565535, 8573, 65535, 5232, 10.3728515625

在将数据输入网络之前,我将其缩放到[0,1]范围内

目标如下:

[0, 1, 1, 0, 2, 2, 0, 2, 1]

我是否需要将目标标准化到[0,1]范围内?


回答:

只有在回归问题中,当你的网络需要预测一个(可能是向量的)实值时,标准化目标才有意义。

在你的案例中,目标值过于“圆整”,显然是类别指示器。因此,解决回归问题将是不正确的,你需要选择分类方法。在这种情况下,标准化目标将是完全错误的:你会使目标值无法比较(因为计算机浮点运算的限制不允许我们将浮点数进行相等比较),而且不会简化神经网络(或任何其他机器学习算法)的工作,因为这些类别的数值完全没有被使用。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注