Machine Learning
This 5day DISCnet event will provide an introduction to Machine Learning.
Objectives:
The course will give an introduction to machine learning in a practical way. Through a combination of lecturing and practical, workshopstyle exercises, the students will be familiarised with the basic concepts and led towards using machine learning techniques in their own research.
Prerequisites:
Knowledge of python via Software Carpentry modules (DISC6002) and Statistics and Data Analysis (DISC6003) recommended, but not required.
Important Information:
Some examples will be provided during the course. However, for Day 5 it would be very useful for the students to bring their own data. Please make sure the data are on your notebooks of external drives as access via internet may be too slow.
Course Structure:
Day 1: Overview of Machine Learning

Success stories in machine learning

Failures of machine learning

Machine learning techniques

Linear Regression, MLP, SVMs, Decision Trees, Deep Learning


Machine learning problems

Supervised learning (regression/classification), Unsupervised learning (PCA/clustering), Semisupervised learning, reinforcement learning


Making sense of data

Types of data (images, text, numbers)

Data preparation, missing data


Common tools

Matlab, python


Homework
Day 2: Introduction to Machine Learning

The perceptron/Bayes optimal decisions

MLPs

Gradient learning, SGD, momentum

Evaluating performance

ROC curves


Homework
Day 3: Advanced Machine Learning

Generalisation

BiasVariance Dilemma


Ensemble Techniques

Adaboost, random forest


Kernel methods

SVM

kernels


Probabilistic techniques

Gaussian Processes

Graphical Models, LDA, MCMC


Homework
Day 4: Deep Learning

Why Deep

CNNs

LSTMs

GPU programming (libraries)

Keras tutorial

Homework
Day 5: Practical Machine Learning

Workshop on data you provide

We will look at:

Analyse the problem

Visualise the data

Cleaning the data

Using machine learning libraries

Evaluate performance
