Document Sample
coursework Powered By Docstoc
The closing date for this coursework is Sunday 1st August 2004 at 09:30. Any work handed in after this time will
receive zero marks for the report (but may still receive marks for the presentation).

This coursework accounts for 15% (11% based on the report, 4% on your presentation) of the marks for this

What you need to submit
1. You need to submit your report.
2. You need to submit your source code. This will be used to check for plagiarism and may be run to check that
    it gives the results you claim. You should EMAIL your source code to, as an attachment.
Failure to submit either of these will result in zero marks for the coursework element of this course.

You will need to present your work. This will be a 10 minute presentation, with five minutes for questions. This
will take place on Sunday 1st August between 10:00 to 11:00 and 12:30 to 13:30.
The presentation will account for 4% of the course. The marks will be based on your presentation skills, your
ability to answer questions and how well you have explained your approach.

On my web site (, look at the navigation bar down the left) there is a word
document that you should use for your report. This includes a title page and the report structure that you
should adhere to.
   Every page should, at least, have your name and EMAIL address on it. The word file I have supplied on the
    course web site allows you to put this information into the header of the report.
   Do not include any appendices, extra pages, source code listings etc. These will not be looked at.
   Your assignment must be typed and should be no longer than three A4 sides. The font size used must be 10
    or greater. This limit does not include the title page.
   You must sign the report, stating it is all your own work.
Your assignment is to evolve a neural network that is able to predict the next value in a sequence series. Of
course, as we know the value the values, we could use a supervised learning algorithm (such as back
propagation) but I want you to use an evolutionary approach. Ideally, I should have set an assignment that does
not allow a supervised approach, but the time you have to complete the coursework does not allow for this.

On the web site, you find the data that you should use. The data consists of 16 values. Your task is to predict the
next one.

It is up to you how you approach this problem but here is a suggestion.

1. You instantiate a population of n artificial neural networks. The weights will be random.
2. Each network has x inputs, where x is the number of previous terms you think you should use in order to
   accurately predict the next sequence. The more terms you use, the less training samples you will have as the
   first x samples will be needed in order to make the first prediction.
3. You pass the training data through each of the n networks and compare the output against the required output.
   From the difference you calculate some overall error value for each network.
4. The n/2 networks that have the smallest error are retained. The other half are discarded.
5. The best networks are copied and are mutated using a gaussian random number.
6. Go to point 3 and repeat until some stopping criteria is met (e.g. number of generations, time etc.)
7. You take the best network and predict the next number in the sequence.

Below are the things I would like you to report on.

A. Briefly justify your choice of programming language and discuss your program design and implementation.
   (1 mark)

B. Describe your initial thoughts on the neural network architecture and discuss why you made these initial
   decision (e.g. number of hidden layers, number of nodes in the hidden layers, the activation function used
   etc.) (1 mark)

C. Describe the experiments you carried out in order to try and ensure that the results you produced were as
   accurate as possible. For example, did you try the approach on other data, did you use a reduced version of
   the data supplied in order to show that you could evolve a good predictor, did you experiment with different
   architectures etc. (6 marks)

D. Reflect on your experiences in carrying out this coursework (2 marks)

E. What is your prediction (to 9 decimal places)? (1 mark)

Shared By: