Learning Machine Learning 0 - Why?


Driving the huge demand  for maths skills at the moment is data, big data. The rate of increase in the production of data over the last 20-30 years defies hyperbole. By 2020, it is estimated that our data production will be equivalent to every one of the 7.5 billion or so people on earth each producing 1.7 MB of data every second! Reassuringly, less than 1% of that data is currently being analysed, but given the scale of information being recorded it's no surprise that the "sexiest job of the 21st century", across a broad range of industries, is data scientist, a job that simply didn't exist when I was an undergraduate. Data science is a broad and, frankly, pretty dull term covering a host of sub-disciplines with super-cool, borderline dystopian sounding names such as artificial intelligence, machine learning, deep learning and neural networks. 

What specific mathematics do you need to know to become a data scientist? And if you feel you have the required maths skills what would actually be involved in acquiring a non-trivial understanding of, say, machine learning? The answers to these questions interest me for the following reason. When I pitch the idea of The Institute to undergrad maths students, recruiting volunteer mentors, I talk rather vaguely about how their mathematical training is setting them up to succeed in a world where maths is so in demand... yada yada yada. Now whilst I certainly have in mind that, in a world awash with information, the critical, rigorous thinking which a maths education trains is vitally important, I'm thinking in particular that it offers a potential pathway into the data science industry. I'm implicitly suggesting, in other words, that their maths education provides them the foundations which will allow them, with some work, to train themselves up in the dark arts of data science. By way of reassurance I cite the fact that, at the end of the 90s, I left academia to become a quant, a job that required a decent understanding of, amongst other things, stochastic calculus and the numerical solution of partial differential equations, not to mention programming in C++. I point out that, as an undergrad, I avoided probability and statistics like the plague (statisticians in the family) and didn't consider "numerical solutions" to be proper maths. As for programming experience, that amounted to a bit of BASIC on a BBC Micro when I was still at school! 

So here's the plan. I'm going to put my money where my mouth is so to speak and, in a series of (Learning Machine Learning) blogposts, document my attempt to learn some machine learning! I'm going to test the hypothesis that a solid mathematical education enables one, with some effort, to relatively quickly acquire some of those skills which are so in-demand right now.

I propose, very roughly, to follow Andrew Ng's famous Stanford CS229 Machine Learning course. Other sources will be his (more elementary) Coursera (Ng was the co-founder of Coursera!) course and the slightly more advanced Russian Coursera program. Books wise, I've collected a small library including the following titles:


In addition it seems like I'll need to buy MatLab and have set up a Python programming environment. Let's go!