Spu
Spu

Reputation: 483

Do I need to normalize targets for Neural Network?

I use backpropagation neural network for multiclass classification.

My data looks like this

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

Before I feed it to the network I scale the data to be in the range [0,1]

And the targets are:

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

Do I need to normalize targets to be in the range [0,1]?

Upvotes: 4

Views: 1471

Answers (1)

Artem Sobolev
Artem Sobolev

Reputation: 6069

Normalizing targets makes sense only in regression problems when your Network is asked to predict a (possibly, vector of) real value(s).

In your case targets are too "round" and, apparently, class indicators. Thus, solving regression problem would be incorrect and you need to go with classification instead. Normalizing targets would be a total disaster in that case: you'd make targets incomparable (since limitations of computer floating arithmetic do not allow us to compare floats for equality) and will not simplify NN's (or any other ML algorthm's) work because numerical values of these classes aren't used at all.

Upvotes: 4

Related Questions