c++ - Neural Network seems to work fine until used for processing data (all of the results are practically the same) -


i have implemented typical 3 layer neural network (input -> hidden -> output) , i'm using sigmoid function activation. far, host program has 3 modes:

  1. creation, seems work fine. creates network specified number of input, hidden , output neurons, initializes weights either random values or zero.
  2. training, loads dataset, computes output of network backpropagates error , updates weights. far can tell, works ok. weights change, not extremely, after training on dataset.
  3. processing, seems work ok. however, data output dataset used training, or other dataset matter bad. it's either continuuous stream of 1's, occasional 0.999999 or every output value every input 0.9999 last digits being different between inputs. far tell there no correlation between last 2 digits , supposed outputed.

how should go figuring out what's not working right?

you need find set of parameters (number of neurons, learning rate, number of iterations training) works classifying unseen data. people achieve separating data 3 groups: training, validation , testing.

whatever decide do, remember doesn't make sense testing on same data trained, because classifcation method close reasonable should getting 100% right under such setup.


Comments