Question

I have a question about normalization of my dataset. We are working on a school assignment, where we have to make sense of a dataset and classify new examples. We have a few dataset available, which are compressed forms of the original. We tried to work with the smallest dataset, just to get a grip on ANN's.

The dataset consists of 8 columns of data and one for the ideal values. The data columns are all floating point values and the ideal values are integers. The ideal field is 1 if the line belongs to the class and 0 if not. But when applying normalize() on AnalystNormalizeCSV, the ideal field is transformed to two fields.

Now, assume a simple feed forward neural network. Do I need one or two output neurons?

When I use 1 neuron and 1 for the number of ideal fields, then it seems to work, but hangs around 60%. When I use 2 output neurons and 1 for the number of ideal fields, I get an ArrayOutOfBoundsException in Propagation.iteration(). And when we use 2 for number of output neurons and ideal fields, it works, but hangs around 60% again. The middle option seems to be sane, since there is actually 1 ideal field and after normalization there are 2 ideal fields, therefore 2 output neurons.

The default

Thanks in advance, Chris

Was it helpful?

Solution

If you are using "one of" normalization then you do need two. You have two classes. You can model this with just one output neuron but then it is much more of a regression (predict a number) than classification (which class).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top