Computing

Neural Networks

Module code: G5015
Level 6
15 credits in spring semester
Teaching method: Lecture, Laboratory
Assessment modes: Coursework

To take this module you must already be able to write software in one appropriate programming language such as Java, C, Python, or Matlab. Basic knowledge of formal computational skills is also a prerequisite.

In recent years neural computing has emerged as a practical technology with applications in many fields. The majority of these applications are concerned with problems in pattern recognition, and make use of feed-­forward network architectures such as the multi­layer perceptron and the radial basis function network.

It is widely acknowledged that the successful application of neural computing requires a principled approach, and this module will use the recent advances in neural computing to explore neural networks in-depth. By concentrating on the pattern-recognition aspects of neural networks, the module will cover many important topics such as:

  • spiking neural networks
  • multi­layer perception
  • radial basis function network
  • support vector machines
  • competitive learning
  • independent component analysis.

You will also learn to use neural networks in solving real world problems.

Pre-requisite

The course assumes an ability to write software in one appropriate programming language (e.g. Java, C, Python, Matlab). Basic knowledge of formal computational skills is also assumed.

Module learning outcomes

  • refer to relevant mathematical concepts to describe how modern, deep neural networks can be used as universal function approximators.
  • describe and critique the principles and applications of different neural network architectures.
  • describe and critique the principles underlying different design considerations and techniques used to optimise the performance of neural networks.
  • apply their knowledge of neural networks by building, optimising, and analysing a neural network for a real-world problem.