The majority of these course materials are made available under a CC-BY-SA licence, including all of the slides and the Day 1 practicals. Day 2 Practicals are © 2022-2024, University of Edinburgh, All Rights Reserved. (At the present time, permission is being sought to release these under CC).
Please note that slides contain some images produced by others. Use of these images in the context of this course is considered to be fair dealing in an educational context. Please seek permission of the original copyright holders (via the references provided) before using images in other contexts.
This course will introduce Data Science and Machine Learning and discuss how they are related. After a short introduction to Data Science in more general terms, the course will focus more specifically on Machine Learning.
We will introduce the ideas of Unsupervised and Supervised Learning, starting with some simple examples, building things up so that by the end of the course you should have some understanding of how Neural Networks work under the hood.
The primary goal of the course is to show you the kind of things that can be done with machine learning and give an outline of how these things are implemented. In practice, as a user, you will almost certainly end up using libraries and frameworks which implement the details for you, and we’ll give you some examples of these libraries and frameworks.
We won’t be able to make you machine learning experts in the space of two days, but hopefully after the end of the course, you’ll understand the important ideas, and have a base from which to explore those areas of Machine Learning that are relevant to your research domains. We also won’t get to the point where we can cover Machine Learning at scale on systems like ARCHER. That is for another day…
The practical exercises on the course will use Python, and we’ll expect you to be comfortable with the fundamentals of programming in Python if you want to do the practical exercises.
Times subject to change
- 09:30 Welcome & Introduction
- 09:40 Lecture: Introduction to Data Science
- 10:20 Practical: Intro to Jupyter Notebooks & Pandas
- 11:00 Break
- 11:15 Lecture: Introduction to Machine Learning
- 11:45 Lecture: Linear Regression
- 12:35 Lunch
- 13:30 Practical: Linear Regression
- 14:10 Lecture: kNN Classification
- 15:00 Practical: kNN Classification
- 15:15 Break
- 15:30 Lecture: KMeans Clustering
- 16:20 Practical: KMeans Clustering
- 16:35 Close
- 09:30 Welcome and recap
- 09:40 Lecture: Introduction to Neural Networks
- 10:30 Practical: Simple Neural Network
- 11:00 Break
- 11:15 Practical: Simple Neural Network (Part 2)
- 11:55 Lecture: More Advanced Neural Networks
- 12:45 Lunch
- 13:30 Practical: A Neural Network with PyTorch
- 14:30 Wrap-Up
- 14:40 Close
- The Course Lead will remain available for questions & discussion until 15:30
All attendees will need their own desktop or laptop.
To connect to ARCHER2 you will need to have an ssh client installed which comes as default for Linux and Mac systems. You will need an ARCHER2 account to run the practicals on ARCHER2. (You may also be able to run the practicals on your own machine if you have already installed the Anaconda python distribution and PyTorch. For those attending the course, we recommend that you use ARCHER2.)
Linux users should open a command-line terminal and use ssh from the command line.
Mac can open the Mac termimal application and use ssh from the command line.
Windows users should install MobaXterm which provides ssh access, a Unix graphics client and a drag-and-drop file browser. Alternatively, if you're comfortable using Windows PowerShell, you can connect with a command-line SSH client from there.
Lecture slides and day 1 practicals are licenced under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.