Search code examples
statisticsneural-networkbioinformaticspybrain

Unstable output values from ANN and improving accuracy


I am trying to develop an Artificial Neural Network using PyBrain to model biological data. My ANN compiles and runs, but its accuracy value is very low, never surpassing ~62%. From a coding perspective, how can I improve the ANN's accuracy? Something I noticed was that each time, the outputs of the ANN are not the same, either, even though the test data set doesn't change--is there a reason the ANN is acting to unstably, and how can I improve this?

Thank you! :)


Solution

  • If you creating new network each time you run your script then it is normal that outputs are different.

    Each time you create ANN pybrain initialize weights of connections with random values (range 0 to 1).

    You can save your ANN with NetworkWriter and read it with NetworkReader in pybrain.tools.customxml (see code documentation for reference, pybrain API is missing few things).

    You can adjust training process with learning rate and momentum. Also you could apply more training epoch to your network.

    If you provide your code I could say more.