I trained my neural network, but it generates negative values even though the target values are positive. I wonder why ?
Best Answer
the output of the neural network depends on the transfer function of the output layer, if the results are negative you probably have a transfer function like "tansig" or "purelin", I recommend that if you don't want negative values you should change the transfer function, if the answer is in the range from 0 to 1 you can change it to "logsig" or whatever function you desire :
Weights can be whatever the training algorithm determines the weights to be. If you take the simple case of a perceptron (1 layer NN), the weights are the slope of the separating (hyper)plane, it could be positive or negative.
Take a look at some examples in the neural network toolbox:
Best Answer