Neural network not training enough well

I read an idea for a project in the book "Introduction to Machine Learning" by Tom Mitchell. The project is about determining the direction of the face (left, right, down, straight). I use my own developed neural network, which works (tested with XOR, parabola function...), but can't train it enough well to determine them correctly. The best case I got is 43% correct, which is pretty low.

Here is a description of the project:

Images 32 x 30, grey-scale (I use 13 people x 32 images for training examples and 4 poeple x 32 images for tests).

Neural Network: 3 layers - input, hidden, output

32 x 30 input units

3 hidden units, using Sigmoid as a transfer function

1 output unit, using linear as a transfer function.

OUT: 0.2 = left ; 0.4 = down; 0.6 = right; 0.8 straight

Learning rate = Momentum = 0.3

Weights and biases are set to random small values.

After 25000 iterations, still, I have just ~40% correct. In the book they managed to get 90% accuracy!

Any ideas?

Upvotes: 0

Views: 1701

Answers (1)

After the comment of @ffriend everything worked like a charm. I used 4 output neurons and got more than 90% accuracy. If I use more neurons in the hidden layers, the errors get smaller, but the program needs more time to run through the network and back-propagate.

Upvotes: 1

Related Questions