# Applying neural network for simple x^2 function for demonstration purpose [closed]

I have tried to train a neural network for a simple x^2 function

1. I developed training data in excel. First column (X) is =RANDBETWEEN(-5,5) i.e random integer between -5 and 5
2. Second column simply squares first column
3. And third column, my output 'y' column is 0 or 1. 0 if second column is less than 12.5 else 1

I made 850 training examples and used the first column as 'X' and third column as 'y'

However I am only able to get a training accuracy of 63%!

Where could I have gone wrong? I changed input_layer to 1 and tried hidden units between 5 and 35. Tried regularization lambda 0 to 2 but still only 63% accuracy! Where could I have gone wrong?

My predict function is p = 1 if h2(i)>0.5 else 0.

Any help will be much appreciated! :-)

I also noticed that my neural network's output is 0.3XXX for all training examples...how is this possible??

• What is the architecture of your neural network? How many layers, what type of activation's, number of nodes, etc... Mar 14, 2016 at 15:03
• I used input layer of 1 unit, one hidden layer of 15 units (tried up to 25 units) and output layer of 1 unit. For activation I used the sigmoid function.
– Vin
Mar 14, 2016 at 15:43
• Is the sigmoid activation function applied to the output layer as well? Mar 15, 2016 at 0:20
• Yes for the output layer as well
– Vin
Mar 15, 2016 at 0:45
• Can you post the code somewhere? Have you scaled the input data to -1, 1? How did you initialize the weights and what learning rates did you try? Can you plot the learning curves - if they don't decrease, learning rate might be too low, if they jump around a lot, learning rate might be too high. You should definitely use the sigmoid function also on the output, don't remove it. Mar 15, 2016 at 7:59