Evolutionary Computation - Ex 4
The Code
src.zip
Algorithm Description
I have used the following configuration:
- Network Structure: Two input perceptrons, one/two/three hidden layers and a single output perceptron. Adjacent layers are fully connected.
- Perceptron Types: Hidden and output perceptrons are sigmoid, with Alpha=1.0.
- Training Algorithm: Backpropagation, with learning rate of 0.4. In each epoch all data set is learned, in the original order of appearance.
Results
Single hidden layer:
- We can see that the 'more is better' thesis does not apply in this case. When few perceptrons are involved, poor results are given.
Adding perceptrons improves the results, and the 100-perceptrons model gave the best results;
More than 100 perceptrons gave poorer results.
- The single hidden layer model does seems to converage within the given epoch limit.
Two hidden layers:
- I have tried three models with 50 perceptrons (with different perceptron arrangements), and two 'extreme cases' with 102 perceptrons.
- It is noticeable that the 50-perceptrons models did not converge within the given epoch limit. In addition, there is no guarantee that the best results are the latest results, as could be done in GA/GP (using elitism).
- The 40-10 model (input perceptrons->40 hidden perceptrons->10 hidden perceptrons->output perceptron) gave the best results. This model will be explored later.
- The extreme cases of 100-2 and 2-100 models gave poor results, and converged quickly.
Three hidden layers:
- I have tried three different arrangemenst of 50 perceptrons in three layers.
- This model gave poorer results than the other models. The 30-10-10 model gave the best results for this network architecture.
Some pictures of the 40-10 model
Keep in mind that the mark colors are set to be opposite to their spiral color...