Pattern Recognition & Neural Networks
Run by School of Computer Science and Electronic Engineering
20.000 Credits or 10.000 ECTS Credits
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.
- 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
40% The student can demonstrate a basic understanding of pattern recognition and neural networks.
60% The student can detail and implement algorithms taught in class.
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
|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||Understands the difference between classification and clustering, and between hierarchical and non-hierarchical clustering|
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.|
A set of questions and problems to solve by hand covering various topics from the taught material.
A programming task to demonstrate data handling and training/testing protocols.
A set of tasks related to classification or clustering methods. Programming may be required.
Teaching and Learning Strategy
Depending on the requirements, the material will be delivered as full-hour lectures or on-line or lectures of suitable duration. The lectures will be staggered so as to give the students sufficient time to absorb the material. The total timing will be roughly 24 hours of lectures.
The laboratory work will be done mostly as self-study. The material will be presented to the students on a weekly basis. Q&A sessions and live coding sessions will be arranged as needed.
Self-study. Revision after the lectures. Preparation for the exam and writing the assignments.
- 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
Resource implications for students
Courses including this module
Compulsory in courses:
- H612: BEng Computer Systs Eng (3 yrs) year 3 (BENG/CSE)
- H61B: BEng Computer Sys Engineering (4yr with Incorp Foundation) year 3 (BENG/CSE1)
- H64B: BSc Computer Sys Engineering (4yr with Incorp Foundation) year 3 (BSC/CSE1)
- H603: BSc Computer Systems Engineering year 3 (BSC/CSENG)
- H661: MEng Control and Instrumentation Engineering year 3 (MENG/CIE)
- H617: MEng Computer Systs Eng (4 yrs) year 3 (MENG/CSE)
- H61P: Computer Systems Engineering with Industrial Placement year 4 (MENG/CSEP)
Optional in courses:
- G400: BSC Computer Science year 3 (BSC/CS)
- I102: BSc Computer Science (with International Experience) year 4 (BSC/CSIE)
- G40P: BSc Computer Science with Industrial Placement year 4 (BSC/CSIP)