Machine learning: intermediate
Time: 18:15 - 21:15
Location: Hybrid (choose either online or in-person)
This course will be delivered online or in person. See the ‘What is the course about?’ section in course details for more information.
Course Code: CMART10
Duration: 5 sessions (over 5 weeks)
Please note: We offer a wide variety of financial support to make courses affordable. Just visit our online Help Center for more information on a range of topics including fees, online learning and FAQs.
What is the course about?
In this course, you will choose one out of three projects. The projects are as follows:
1. Natural language processing and time series:
This project will use historical data and natural language processing for news articles to predict stock prices. You will learn basic web scraping and time series analysis. You will not be expected to know anything about the stock market, and you will be introduced to some relevant fundamentals. Please note that this project is not a promise that you will create a result that you could make money off. Exactly what you want to predict will also be left up to you.
2. Large data sets:
In this project, you will explore health data from around the world. We will be using data that is on the order of a few hundred megabytes to a few gigabytes. The challenge lies in the hundreds to thousands of rows and columns you will have to use. The project will focus on feature engineering, dimensionality reduction, visualisation, and making use of external data. You will choose what you find interesting within the given data to focus on.
3. Image processing:
This project will be split into two parts. First, you will learn how to create an image classifier using convoluted neural nets. You will learn how to use transfer learning to make use of pre-trained neural nets. Various methods of image pre-processing will be explored, and you will discover how to optimize deep neural net architecture. Once the classifier has been completed, you will get to choose another imaging processing project. This will either be a style transfer project – i.e. transferring the style of one image onto another, or a generative adversarial neural net (GNN) project to generate new images, or object detection. Expect most of the time to be spent in the first project.
You will not be expected to choose a project before the course starts. In the first session, you will be briefed on each project.
You can choose to attend this course either live online or in person.
- Internet connection. The classes work best with Chrome.
- A computer with microphone and camera.
We will contact you with joining instructions before your course starts.
What will we cover?
Even though you choose a project to focus on, you will also learn from the other projects. We will discuss the projects together, and you’ll see presentations from each of the projects. The projects will cover the following;
• Natural language processing and time series:
Basic web scraping. Natural language processing methods like sentiment analysis, word to vec, bagging. Time series methods like rolling averages, seasonality, smoothing.
• Large data sets:
How to clean big data, visualising big data, dimensionality reduction, selecting and comparing ML models.
• Image processing:
Pre-processing images, transfer learning (i.e implementing already trained neural nets), generative adversarial neural nets (GANs), convolutional neural nets (CNNs).
What will I achieve?
By the end of this course you should be able to...
• Use Python to pre-process data
• Use Python to implement and compare several machine learning methods
• Use Python to visualise data and use several methods to optimise models
• Compare different machine learning approaches
• Think critically about machine learning models
• Structure code in a coherent manner
• Plan and create a pipeline for a real-world machine learning project
• Use github repositories for your project
• Implement popular machine learning methods specific to your project
• Become comfortable using external resources and re-purposing code to develop your projects.
What level is the course and do I need any particular skills?
You need to be able to program comfortably in Python. You must be familiar with fundamentals of machine learning, and preferably be able to implement these in Python. I.e. you should be able to roughly explain methods like Linear or Logistic regression, Random Forest, Boosted Decision Tree, and Neural Net. Familiarity with Pandas in Python is required. Experience with Scikit Learn or Keras (or similar neural net package) is recommended.
How will I be taught, and will there be any work outside the class?
The sessions will usually be split into around 30-45 minutes theory, and the rest will be spent programming. The format of the programming sessions will vary, e.g. Q&A, or as group work, or other. Note that not all the theory will be directly relevant to the project you have chosen, but rather aims to expose you to a variety of ML methods. Just like a real-world project, there will be no right answer. You will use data exploration to form your own hypothesis and take the project in a direction that you find interesting.
There will be a starting pack for each project with external resources. There will also be a code notebook written by your tutor, to help you get started, and to give you ideas about the expected milestones of each project. You will get support both from your tutor, and from the other people working on the same project as you. It is expected that you work on the project outside class. With this in mind, the course goes over many weeks so that you are free to allocate this time as it best suits you.
If you attended the City Lit Introduction to Machine Learning course, you can expect this course to have more programming. It will be like the Titanic project at the end of the City Lit Introduction to Machine Learning course, but much deeper, more advanced, and more guided.
Are there any other costs? Is there anything I need to bring?
We will use Google Colab, which is a free cloud service, so you will not need to install anything. It is recommended that you have a few gigabytes free memory on your laptop/PC or on a memory stick to download the data sets we will need. You will need a stable internet connection to access and work with Google Colab.
When I've finished, what course can I do next?
Please click here to view our Programming and Maths courses.
Liv is a physicist with background in machine learning. She completed her masters degree at University College London, with a thesis in theoretical astrophysics, and is currently working on a PhD in particle physics at Imperial College. She first started exploring machine learning at the Wolfram Summer School in Boston, and has since done internships with BT in the UK and DESY in Germany. Her PhD centrers around using novel methods for high performance computing and machine learning for the upgrade of the compact muon solenoid experiment at CERN in Switzerland.
Please note: We reserve the right to change our tutors from those advertised. This happens rarely, but if it does, we are unable to refund fees due to this. Our tutors may have different teaching styles; however we guarantee a consistent quality of teaching in all our courses.