Why neural network gives negative output ?

I have 15000 dataset, 6 inputs and 12 outputs. Using feedforward net, I get training, validation, test and over all regression above 95%.
But when I check trained net with new inputs, I get negative values in the outputs.
(There is no negative values in the dataset)
What is the reason for it?
What could be the worng?
What should I do to overcome this issue?

 Accepted Answer

How different is the new data (e.g., Mahalanobis distance)?
If you know the true outputs, how do the error rates compare?
If you want positive outputs, use a sigmoid in the output layer.
Hope this helps.
*Thank you for formally accepting my answer*
Greg

4 Comments

@Greg
The new input data is in within the same range of dataset.
For few inputs, I get good accuracy [near 100%], but for someother inputs the error is too high.
Have you compared those inputs?
Yes, the mahal distance is 6.5
It is not uncommon for new data to lie outside the bounds of training data.
Take into account whether negative values have meaning.
If not, use sigmoids in the output layer.
Greg

Sign in to comment.

More Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!