This is a ‘LIVE COURSE’ – the instructor will be delivering lectures and coaching attendees through the accompanying computer practical’s via video link, a good internet connection is essential.
TIME ZONE – GMT – however all sessions will be recorded and made available allowing attendees from different time zones to follow.
Please email firstname.lastname@example.org for full details or to discuss how we can accommodate you).
Python is one of the most widely used and highly valued programming languages in the world, and is especially widely used in machine learning and for deep learning. In this two day course, we provide an introduction to machine learning and deep learning using Python. We begin by providing an overview of the machine learning and deep learning landscape, and discuss the prominent role that Python has come to play in this area. We then turn to machine learning in practice, and for this, we will primarily using the widely used and acclaimed scikit-learn toolbox. We begin with binary and multiclass classification problems, then look at decision trees and random forests, then look at unsupervised learning methods, all of which are major topics in machine learning. We then cover artificial neural networks and deep learning. For this, we will using the PyTorch deep learning toolbox. Here, we will cover the relatively easy to understand multilayer perceptron and then turn to convolutional neural networks.
Availability – TBC
Duration – 2 days
Contact hours – Approx. 15 hours
ECT’s – Equal to 1 ECT’s
Language – English
This course will be hands-on and workshop based. Throughout each day, there will be some brief introductory remarks for each new topic, introducing and explaining key concepts.
The course will take place online using Zoom. On each day, the live video broadcasts will occur between (UK local time) at:
All sessions will be video recorded and made available to all attendees as soon as possible, hopefully soon after each 2hr session. Attendees in different time zones will be able to join in to some of these live broadcasts, even if all of them are not convenient times. By joining any live sessions that are possible, this will allow attendees to benefit from asking questions and having discussions, rather than just watching prerecorded sessions. Although not strictly required, using a large monitor or preferably even a second monitor will make the learning experience better. All the sessions will be video recorded, and made available immediately on a private video hosting website. Any materials, such as slides, data sets, etc., will be shared via GitHub.
We will assume familiarity with some general statistical and mathematical concepts such as matrix algebra, calculus,probability distributions. However, expertise with these concepts are not necessary. Anyone who has taken anyundergraduate (Bachelor’s) level course in mathematics, or even advanced high school level, can be assumed to havesufficient familiarity with these concepts.
We assume familiarity with using Python, general purpose programming in Python, and numerical programming in Python. Note that both of these topics covered comprehensively in two preceding two-day courses, which together will provide all the computing prerequisites for this course.
Attendees of the course must use a computer with Python (version 3) installed. This can in fact be done entirely online for free using Google’s Colaboratory without needing to install any software on your own laptop or desktop. If you are new to Python, this approach is highly recommended. You will be able to immediately starting learning Python without any installation or configuration of software. This entire course can be done using this approach.
If you prefer to install and use Python on your machine, instructions on how to install and configure all the software needed for this course are provided here. We will also provide time during the workshops to ensure that all software is installed and configured properly.
PLEASE READ – CANCELLATION POLICY
Cancellations/refunds are accepted as long as the course materials have not been accessed,.
There is a 20% cancellation fee to cover administration and possible bank fess.
If you need to discuss cancelling please contact email@example.com.
If you are unsure about course suitability, please get in touch by email to find out more firstname.lastname@example.org
Classes from 10:00 to 18:00
• Topic 1: Machine learning and Deep Learning Landscape. Concepts like machine learning, deep learning, big data, data science have become widely used and celebrated in the last 10 years. However, their definitions are relatively nebulous, and how they related to one another and to major fields like artificial intelligence and general statistics are not simple matters. In this introduction, we briefly overview the field of machine learning and deep learning, discussing its major characteristics and sub-topics, and also discuss the prominence of Python in the area.
• Topic 2: Classification problems. Classification problems is one of the bread and butter topics in machine learning, and is usually the first topic covered in introductions to machine learning. Here, we will cover image classification (itself a “hello world” type problem in machine learning), and particularly focus on logistic regression and support vector machines (SVMs).
• Topic 3: Decision trees and random forests. Decision trees are a widely used machine learning method, particularly for classification. Random forests are an ensemble learning extension of decision trees whereby large number of decision tree classifiers are aggregated, which often leads to much improved performance.
Classes from 10:00 to 18:00
• Topic 4: Unsupervised machine learning. Unsupervised learning is essentially a method of finding patterns in unclassified data. Here, we will look at two of the most widely used unsupervised techniques: k-means clustering and probabilistic mixture models.
• Topic 5: Introducing artificial neural networks and deep learning with PyTorch. Python provides many popular libraries for artificial neural networks and deep learning. These include Keras and TensorFlow. Here, we will use PyTorch, which is a relatively new but increasingly high-level neural network model building and training language. These models often use graphical processing units (GPUs) for computing. Given that most personal computers don’t have adequate GPUs, we will use Google’s Colaboratory https://colab.research.google.com/,
which is a free Python Jupyter notebook service from Google.
• Topic 6: Multilayer perceptons. Multilayer perceptrons are very powerful, yet relatively easy to understand, artificial neural networks. They are also the simplest type of deep learning model. Here, we will build and train a multilayer perceptron for a classification problem.
• Topic 7: Convolutional neural networks. Convolutional neural networks (CNNs) have proved high successful at image classification, primarily due to their translation invariance, which is highly suitable for computational vision. Here, we use PyTorch to build and train a CNN for image classification.
Dr. Mark Andrews
Mark Andrews is a Senior Lecturer in the Psychology Department at Nottingham Trent University in Nottingham, England. Mark is a graduate of the National University of Ireland and obtained an MA and PhD from Cornell University in New York. Mark’s research focuses on developing and testing Bayesian models of human cognition, with particular focus on human language processing and human memory. Mark’s research also focuses on general Bayesian data analysis, particularly as applied to data from the social and behavioural sciences. Since 2015, he and his colleague Professor Thom Baguley have been funded by the UK’s ESRC funding body to provide intensive workshops on Bayesian data analysis for researchers in the social sciences.