Evolutionary Computation and Artificial Life (202-1-5171), Semester B, 2008/9


Assignment 5

In this exercise you will apply a backpropagation-trained neural network to solve the popular Iris problem.

The database contains 150 instances. Use 75 to train the network (not FIRST 75 -- why?). Use the rest of the instances as test set, used to test the network AFTER training is done. (This method is called cross-validation.)

Network architecture:

Number of hidden neurons: experiment with several values of N.

Type of hidden neurons: Sigmoid.

Type of output neurons: Threshold (hard-limiting).

Training algorithm: Backpropagation, with learning rate η = 0.1.

The goal of the learning process is for the output layer to provide a correct classification. Class equals output neuron with highest value.

Vary the sizes of training/test sets. What happens to classification performance?

Submit:
1) Program.
2) Histogram of error per N (number of hidden units). Error = percent of incorrectly classified cases. Provide two histograms: one for training set, one for test set.
3) For best N: Plot of error versus time. Time is measured in training epochs, where an epoch is one run through all training cases.

You may change the network topolgy or any other paramter (e.g., use sigmoid output units).