Neural Networks/Neural Computation
(Lecture notes are available at the end of this file)

This document describes the course objectives and organisation, and contains a course timetable.

1. Objectives

The course will teach a variety of contemporary approaches to neural networks and introduce the theory underlying these approaches. The approaches to be covered will include such things as biological and statistical foundations of neural networks, Perceptron, MLPs , SVMs, RBFN and competitive learning. Additionally, a brief introduction to information theory and its applications in neural networks will be given. Finally, we will discuss some aspects of using neural networks for robot control.

2. General Information

2.1 Tutors for the course

Andy Philippides
CCNR, BIOLS 3D10
Email: andrewop
Office hour: Friday 12.30 - 1.30

2.2 Teaching methods

Lectures: 2 per week, held at the following times

Day Time Place
Mon 12.30-1.20 Arun-401
Wed 11.30-12.20 Arun-401

These lectures will cover the introductory theory behind the topics above, as well as various topics related to these (e.g. implementation issues).

2.3 Exercise Classes

All students on this course will have a supervised exercise class every week. Details of times, and which exercise class you should attend are given on the COGS notice board.

2.4 Practical work

A lot of the work on the course is based on exercises that you should do using the computer. In addition to the timetabled exercise classes you are expected to spend many hours a week both using the computer, and reading supporting material from the reading list in order to deepen your understanding of the topics being covered. All students experience problems learning new concepts and skills and it is important not to be discouraged and give up. If you get stuck ask other students, a demonstrator, or a tutor for help.
Assessed pieces of work should be handed in at the COGS School Office.

2.5 Background Reading

Remember that the lectures for this (and any other) course really aim to provide you with the minimal essential information on a subject. To get a deeper understanding (and in order to do well in the exams, and in subsequent courses which build on these) you Must read around the subject. The lecture notes below are therefore not an exhaustive resource about the given subjects. They may be modified before each lecture. Also, they may contain typographic errors: please let me know if you find any.

2.6 Assessment

The coursework consists of two pieces of work that you will be required to submit during the term. Remember that the work is assessed not just on the program, but also on how well it is 'written up'. The first assignment counts for 20% of the coursework mark while the second assignment counts for 80%. This work will be due in on the following dates (N.B. Master's students must hand in their work on Fridays while undergraduates must hand in their's on Thursdays):

The final mark is made up from 50% coursework + 50 % exam (for Master students) and 100% course work for Y3 students.

3. Course Outline

The list below gives a provisional week-by-week list of topics (note these many change depending on how the course progresses). Some lectures will incorporate important announcements, including changes in later lectures, so if you ever miss a lecture make sure you find out form another student exactly what was said.

Week 2 Monday Introduction to neural networks [Lecture notes] [html]
Wednesday Basics of network training [Lecture notes] [html]
Week 3 Monday The Perceptron [Lecture notes] [html]
Wednesday Probability density estimation [Lecture notes] [html]
Week 4 Monday/Wednesday Multi-layer perceptrons (MLPs) [Lecture notes] [html]
Week 5 Monday/Wednesday Radial basis function networks (RBFNs) [Lecture notes] [html]
Week 6 Monday/Wednesday Pre-Processing [Lecture notes] [html]
Week 7 Monday Unsupervised Learning [Lecture notes] [html]
Wednesday Committee Machines and Mixtures of Experts [Lecture notes] [html]
Week 8 Monday/Wednesday Support Vector Machines (SVMs) [Lecture notes] [html]
Week 9 Monday/Wednesday Neural Networks for Robot Control [Lecture notes] [html]

Warning: Lecture notes may be modified before each lecture. Also, they may contain typographic errors: please let me know if you find any.

4. Reading List

5. Information about MATLAB

Although the projects can be undertaken in any language, the MATLAB environment is well suited to them. MATLAB is a high-level scientific and engineering programming environment which allows easy visualization of data, has an extensive library of built-in functions for data manipulation, and is widely used in universities and research labs around the world. It is particularly convenient for handling and manipulating image data.

There are some useful tutorials on MATLAB online