Module ICP-3083:
Pattn Recogn & Neural Networks

Module Facts

Run by School of Computer Science and Electronic Engineering

20 Credits or 10 ECTS Credits

Semester 1

Organiser: Prof Ludmila Kuncheva

Overall aims and purpose

To introduce the fundamentals of pattern recognition theory, the most common classification methods and the concept of neural networks. To enable the students to apply the learned methods to real data sets using MATLAB and WEKA.

Course content

  • Notions and concepts: object, class, feature, data set, classifier, discriminant function classification region.
  • Classification error, training and testing protocols.
  • Classifier design. 1. Linear discriminant classifier (LDC). 2. Nearest mean classifier. 3. Rule-based classifiers. 4. k-Nearest Neighbour Classifier (k-nn). 5. Decision tree classifier 6. SVM. 7. Classifier ensembles.
  • Hierarchical (agglomerative) clustering – nearest mean and nearest neighbour methods. K-means clustering
  • Feature selection and extraction. Basic algorithms (sequential forward/backward selection, SVM recursive feature evaluation). Filter and Wrapper approaches.
  • Single and multi-layer perceptron (MLP). The idea of error-back propagation training. RBF, SOM.
  • Deep learning neural networks.

Learning outcomes mapped to assessment criteria

  threshold

40% The student can demonstrate basic understanding of pattern recognition and neural networks.

good

60% The student can detail and implement algorithms taught in class.

excellent

70% The student has deep understanding of the material. They can reproduce from memory concepts and algorithms and can apply them to toy problems. They are able to write MATLAB code to implement and test rigorously some of the algorithms.

Understand the basic notions and principles of pattern recognition.

Understands the basic concepts. Can calculate classification regions for 1- and 2-dimensional data sets. Can construct confusion and loss matrices Can create an artificial data set. Understands training/testing protocols.

Explain how classifier models work

Understands conceptually the different classifier models Can apply a chosen classifier to a data set, obtain training and testing error for the experiment, derive posterior probabilities. Can write MATLAB code for simple classifiers. Can explain the basic algorithms. Can solve basic problems by applying a specified classifier model.

Understand and apply clustering algorithms

Understands the difference between classification and clustering, and between hierarchical and non-hierarchical clustering Can run clustering methods by hand, and can discuss the results, as well as the methods’ advantages and limitations. Can write MATLAB code for clustering algorithms. Can use Weka for clustering data and interpret the results. Can apply clustering methods by hand to a simple 1D or 2D data set. Can use Weka for clustering data and interpret the results

Understand neural network models and their training procedures

Understands the principles of working of the various models of NNs. Can describe the steps in the training procedures of a specific NN model. Understands the details of the NN training and operation. Can program simple NN algorithms in MATLAB, e.g., the perceptron training, SOM training, RBF. Can run experiments in Weka and interpret the results. Can reproduce a list of examples of applications of deep-learning NNs, and give some details. Can calculate the output of a specified NN model. Can run by hand a training step. Can use Weka for NN experiments on real a given data set. Can reproduce a list of examples of applications of deep-learning NNs.

Understand and apply feature selection methods

Excellent understanding of feature selection. Can program basic feature selection methods and interpret the results of an experiment. Understands the principles of feature selection. Can explain the approaches. Understands feature selection and can explain in details algorithms such that sequential forward and backward selection.

Assessment Methods

Type Name Description Weight
EXAM Examination

Answer Section A (compulsory) and any 2 questions from Section B (out of 3)

60
COURSEWORK Assignment 2

Problems to be solved through MATLAB and through self-study.

20
COURSEWORK Assignment 1

Problems to be solved through MATLAB and through self-study.

20

Teaching and Learning Strategy

Hours
Lecture

24 hours over 12 weeks includes 2 hour tutrorial in Lecture slots

24
Laboratory

24 hours over 12 weeks (2 hours per week) including 72 Laboratory preparation and reports

96
Private study

Self-study. Revision after the lectures. Preparation for the assessed and non-assessed labs and the exam.

80

Transferable skills

  • Numeracy - Proficiency in using numbers at appropriate levels of accuracy
  • Computer Literacy - Proficiency in using a varied range of computer software
  • Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
  • Exploring - Able to investigate, research and consider alternatives
  • Information retrieval - Able to access different and multiple sources of information
  • Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.
  • Presentation - Able to clearly present information and explanations to an audience. Through the written or oral mode of communication accurately and concisely.

Subject specific skills

  • Knowledge and understanding of facts, concepts, principles & theories
  • Use of such knowledge in modelling and design
  • Problem solving strategies
  • Development of general transferable skills
  • Methods, techniques and tools for information modelling, management and security
  • Knowledge and understanding of mathematical principles
  • Knowledge and understanding of computational modelling

Resources

Pre- and Co-requisite Modules

Courses including this module