Machine learning –the scientific study of algorithms and statistical models that computer systems use to progressively improve their performance on a specific task.

Regardless of where you’re coming from, if you’ve got the drive and dedication to learn the right skills and get the right experience, you can get yourself into an interview for a Machine Learning job.

How hard it will be to get to the right level will largely be dependent on where you’re trying to break into Machine Learning from; a Physics or Mathematics graduate probably won’t find the upskilling too demanding, coming from a Marketing or Design background… that will be harder (much, much harder, especially if you’re doing it without help).

This list covers all the things you need to have done and be skilled in, to land that Machine Learning job.

**Mathematics**

There a number of reasons why having the right maths know-how

- You need to be able to accurately choose the right algorithm to use, you need to be able to take into account, accuracy, model complexity, and the number of features and parameters.
- You need to be able to choose validation strategies and parameter settings.
- You should be able to identify underfitting and overfitting by using (and understanding) the *
*Bias-Variance trade-off*. - You need to be able to estimate the uncertainty and confidence interval.

**Tip – see https://towardsdatascience.com/understanding-the-bias-variance-tradeoff-165e6942b229 for a better understanding of the bias-variance trade-off.*

The four most important bits of Mathematics for Machine Learning:

**Calculus – specifically Multivariable Calculus**

**Linear Algebra**

**Statistics & Probability Theory**

**Algorithms & Complex Optimisations**

Other Maths topics it would be worth investing time in, that sit outside of the four areas highlighted above, are; Information Theory, Real and Complex Analysis, Manifolds and Function Spaces.

*Tip – The Khan Academy is a great free resource for getting to grips with those four key areas of mathematics.*

**Python and R**

Learn Python and/or R. Most people will recommend learning Python over R, as it is quickly becoming the most respected and highly used programming language for Machine Learning.

You rarely (if ever) need to know all of the commands, but at the very least you need to know how to look up questions FAST.

The only other thing to say here is to practice, practice, practice good programming etiquette. This means that your code is modular and legible, with error handling and good tests.

*Tip – Learn and get familiar with Git*

*Another Tip – It ultimately probably won’t matter which programming language you choose.*

*Extra Tip – If there is a specific company you want to work with, check which programming language they use, and learn that one.*

**Machine Learning**

Now you’ve got the cornerstones of the knowledge you need to advance with Machine Learning, it would be worth doing some foundational courses to get you up to speed with the in’s and out’s of the space, and to find out which aspect of the industry you are most interested in/have most skill in.

Over the past couple of years, a lot of the focus and progress within Machine Learning has been in Deep Learning, but there are so many other facets of the field that you could focus in on.

*Tip – Try this Machine Learning for Coders course for an introduction to Machine Learning, and try Machine Learning with Python to focus in on different facets of the field. *

**Put It All Into Practice**

All I can say here is *Kaggle*. Kaggle is now one of your best friends.

*Tip – Use Kaggle*

**Personal Projects & Your Portfolio**

This is really important, as anyone who has applied for a job in Machine Learning will have turned up with a portfolio of personal projects that cover both Machine Learning and Data Science.

Whilst it’s important to turn up with a Portfolio, you have to have done the right kind of projects or the Interviewer is going to pick someone else over you. The most important thing is that you don’t just turn up with a bunch of projects that all apply **well-known **algorithms to equally **well-known **datasets. For example, Kaggle’s *Titanic: Machine Learning from Disaster *is a great project to work on when you’re starting out; it is not one to highlight in an interview Portfolio.

All these **known **projects will show, is that you can do what everyone else can. Your personal projects should be as original as possible and should stem from something that makes you intrigued. Find a subject that interests you and

By Emily Hill

18.01.2019