When we talk about data science, people often think it's synonymous with machine learning. Clearly this isn't true - data science spans the spectrum from hacking to visualisation - but there's no denying that some of the most exciting advances are coming from developments in machine learning. At it's core, machine learning is a subfield of computer science that deals with systems that can learn from data, rather than follow explicitly programmed instructions. This can be subdivided into a multitude of categories, but you'll often here people talk about three: supervised learning, unsupervised learning and reinforcement learning. Understanding the differences between these three is relatively easy, but important to get a feel for the machine learning landscape. In supervised learning, the goal of the program is to learn a general rule to map inputs to outputs, from a series of examples given by the 'supervisor'. Spam filters, like those on Gmail (probably), use supervised learning. In contrast, unsupervised learning tries to extract hidden patterns in the data. Essentially the model must learn the structure of the data on its own, by finding clusters in the variables. This is often used in genetics data. Finally, reinforcement learning is used to reach a goal in a dynamic environment - with the obvious application in self-driving cars. Of course, in real world projects - like IBM Watson - many different types of algorithms are used. This range of abilities lets the Mayo Clinic put Watson to work matching patients with clinical trial and the New York Genome Centre use the same tool for cancer research. Other cool machine learning projects include everything from babysitting robots to identifying birds.