Is there any non-emperical way to select the optimal number of hidden layers and hidden nodes based on the number of samples and application, without performing a grid search and trail-and-error approaches ?
I think optimizing neural network parameters and deciding its architecture is in a sense similar to feature engineering that was a core step in the past. I mean they require time and determine how successful your model will perform.
I'd rather say at the moment such technique does not exist (if it does, I'd be very interested to know it).
In practice, people sometimes do layer-wise training and check validation loss that indicates over-fit. Then you can tune dropout and regularization parameters.
It also depends on the architecture. Max-out and convolutional neural networks have sparse connections and thus benefit from a different number of parameters. More recent highway networks can be trained really deep compared to conventional fully-connected network.
As Arseniy replied, I'm also not aware of such approach and I would like to know if there's one (or several) out there. What I usually do is to start with a simple (as possible) and then try a rough grid approach (as you mentioned) with an increasing number of hidden neurons and layers. I guess it is the price to pay in order to be able to use such a powerful tool. The ANN amazing ability to deal with really complex problems comes with that price...
I used a rule in this paper (https://www.researchgate.net/publication/283080717_Potential_of_artificial_neural_networks_to_predict_thermal_sensation_votes) wwhich was quite helpful. Maybe it is also helpful for your purposes!
Article Potential of artificial neural networks to predict thermal s...
since Artificial Neural Networks (ANN) is a model of Biological Neural Networks so there is no solid answer to know how many layers and neurons should be used. however many times using recurrent signals (RING) can increase the performance of the ANN. also optimization techniques such as GA, PSO , RPLNN can be adopted to increase the performance of any ANN. please check the below papers:
Hi. Actually my recent research has suggested the number of layers to be 6, which is a biologically plausable result as the number of layers in a human brain is 6. This paper has not been published yet (in the process); however, you can find more information of the model that has achieved those result by reading the attached paper published earlier this year
Conference Paper A novel neuroscience-inspired architecture: For computer vis...