Introduction to AI COM526

This module introduces the core concepts of Artificial Intelligence (AI) and Machine Learning (ML), providing an understanding of how intelligent systems make decisions, learn from data and solve real-world problems. Students explore the evolution of AI from traditional rule-based approaches through to modern machine learning techniques, gaining an appreciation of both their strengths and limitations.

Artificial Intelligence Fundamentals

The module begins by examining what Artificial Intelligence is and how intelligent systems are designed to perform tasks that would normally require human intelligence. Students explore how AI is used in everyday applications such as recommendation systems, virtual assistants, diagnostic tools and autonomous systems. A key theme is understanding the difference between traditional programming, where humans provide explicit instructions, and machine learning, where systems learn patterns from data.

Students are introduced to expert systems, one of the earliest forms of AI. These systems use stored knowledge and rule-based reasoning to emulate the decision-making abilities of human experts. The concepts of facts, rules, knowledge bases, inference engines and explanation mechanisms are explored, alongside different reasoning approaches such as forward and backward chaining. This helps students understand how computers can automate decision-making processes and provide explainable outcomes.

The module also investigates fuzzy logic as a way of modelling uncertainty and human-style reasoning. Rather than treating information as simply true or false, fuzzy systems use degrees of truth to handle vague concepts such as “cold”, “comfortable” or “hot”. Students learn how fuzzy inference systems convert real-world inputs into meaningful outputs through the processes of fuzzification, inference and defuzzification.

Intelligent Agents

A central concept within AI is the intelligent agent. Students examine how agents perceive their environment, make decisions and take actions in response. The role of sensors and actuators is discussed within both physical systems, such as robots, and software-based systems. Through practical examples, students develop an understanding of how intelligent behaviour emerges from the continuous cycle of perception, decision making and action.

Introduction to Machine Learning

The module then moves into machine learning, focusing on how computers can learn patterns from data rather than follow predefined instructions. Students are introduced to the major categories of machine learning: supervised learning, unsupervised learning and reinforcement learning. Emphasis is placed on supervised learning and classification, where models learn from labelled examples to predict categories for previously unseen data.

Students are introduced to a range of common machine learning algorithms, including Decision Trees, K-Nearest Neighbours (KNN), Random Forests, Support Vector Machines (SVMs) and Neural Networks. The strengths and applications of these approaches are explored alongside the general process of developing a machine learning solution, from data collection and preparation through to training, evaluation and model selection.

Preparing Data for Machine Learning

An important part of the module focuses on preparing data so that machine learning algorithms can use it effectively. Students learn how categorical data can be transformed using techniques such as label encoding and one-hot encoding. They also explore the importance of scaling numerical data through normalisation and standardisation to ensure that features contribute appropriately during model training.

The challenges associated with large and complex datasets are also considered. Students are introduced to dimensionality reduction techniques, particularly Principal Component Analysis (PCA), which can reduce the number of features while retaining the most important information. These techniques help improve efficiency, simplify analysis and support the training of more effective models.

Improving Model Performance

Students explore the factors that influence machine learning performance and learn how models can be refined and optimised. This includes understanding hyperparameters, which are configurable settings that influence how algorithms learn. Examples are drawn from Decision Trees, KNN models and Neural Networks to demonstrate how changing hyperparameter values can significantly affect the quality of predictions.

Training techniques such as K-Fold Cross Validation are examined to provide a more reliable assessment of model performance. Students learn how dividing data into multiple folds allows models to be evaluated across several training and testing cycles, producing more robust and trustworthy results.

Evaluating Machine Learning Models

A key aspect of the module is understanding how to evaluate the effectiveness of machine learning systems. Students learn how a confusion matrix can be used to visualise classification results and identify different types of prediction outcomes, including true positives, true negatives, false positives and false negatives.

A range of evaluation metrics are introduced, including accuracy, precision, recall, specificity, F1-score and Matthews Correlation Coefficient (MCC). Students learn that no single metric is suitable for every problem and that the most appropriate measure depends on the context and consequences of prediction errors. This develops a critical understanding of how machine learning performance should be assessed in real-world applications.

Overall Learning

By the end of the module, students will have developed a broad understanding of how intelligent systems perceive information, represent knowledge, reason about problems and learn from data. They will understand the complete machine learning pipeline, including data preparation, model training, optimisation and evaluation, while gaining experience with the key concepts, techniques and terminology that underpin modern AI and machine learning systems.


This site uses Just the Docs, a documentation theme for Jekyll.