**Update**: These courses have now been taught successfully. If you are interested let me know.

**Note:** These were originally delivered through Persontyle, however I am no longer affiliated with them in any way after a very unprofessional experience.

I am happy to announce I will be teaching two Machine Learning courses over the summer: A one day high level overview of machine learning is all about and a longer 5 day introductory course that goes into more depth and includes lots of hands on labs with Python scikit-learn. See below for details.

## Introduction to Machine Learning (1 Day, 12 June, London)

**Summary**: Taking this course will give you a high level overview of the field of machine learning and how it differs from human learning. You will gain understanding of how the field is structured, the fundamental skills needed to perform machine learning successfully, and current ‘hot’ topics. A strong emphasis will be placed on illustrative examples and applications to trigger thinking about what machine learning can do for you.

**Outcomes**: At the end of the course the student will..

- understand how the structure and function of the human brain is different from a computer and how this affects learning in each
- understand how machine learning relates to artificial intelligence, statistics, and data science
- know what prerequisite subjects are needed to perform machine learning successfully
- be able to explain how a number of fundamental machine learning algorithms work (kNN, decision tree, naive Bayes, …)
- have an intuition how some more advanced methods work (random forest, SVM, Bayes nets, ..)
- have an overview of current hot topics, state of the art applications, and pointers for further learning

**Prerequisites**: While it can’t hurt, no prior machine learning, programming, or mathematical background is required.

## Introduction to Machine Learning (5 Days, 21 July, London)

**Summary**: This course will cover all the terminology and stages that make up the machine learning pipeline and the fundamental skills needed to perform machine learning successfully. Aided by many hands on labs with Python scikit-learn the course will enable you to understand the basic concepts, become confident in applying the tools and techniques, and provide a firm foundation from which to dig deeper and explore more advanced methods.

**Day 1**

- Understand how the structure and function of the human brain is different from a computer and how this affects learning in each.
- Define Machine Learning, why it matters, and discuss its relationship to data mining, data science, and statistics.
- Understand the steps in the machine learning pipeline, from data acquisition and feature generation, to training and model selection.
- Overview of core Machine Learning terminology i.e. features, instance, model selection, bias, variance, generalization, precision, etc.
- Review of the fundamentals of linear algebra, calculus, statistics, and probability theory.

**Day 2**

- Introduction to Python & Scientific Python (NumPy, SciPy, Pandas, IPython) & Lab
- Introduction to Python scikit-learn & Lab
- K-Nearest Neighbours & Image recognition lab

**Day 3**

- Naïve Bayes & Lab
- Logistic Regression & Lab
- Decision tree, Random Forests & Lab
- Support Vector Machines & Lab

**Day 4**

- Dimensionality Reduction, PCA & Lab
- Clustering, k-means & Lab
- Recommender Systems & Lab

**Day 5**

- Recap of past 4 days
- Taste of neural networks and Bayesian Networks
- Putting it all together: Kaggle project
- Current hot topics (deep learning, scalable ML, ML as a service, …)
- Where next

**Prerequisites**: Basic understanding of calculus, statistics, probability theory, linear algebra. This will be refreshed but not in detail. Basic programming experience (preferably python) is required.

–Dirk