I looked up this topic on the internet and haven't found a good method or technique yet. For the time being, I just used cross validation technique where you train a certain range of hidden neurons number and select the lowest validation error among them. Yet, this also trigger another question of how big is the 'certain range' is. I hope some experienced NN user can help me with this.