Grab a copy of The Elements of Statistical Learning ("the machine learning bible") and you might be a little overwhelmed by the mathematics. For example, this equation (p.34), for a cubic smoothing spline, might send shivers down your spine if math isn't your forte:
In order to grasp that equation, nested firmly in the "Introductory" section of the book, you need to know function notation, sigma (summation) notation, derivatives, and Greek letters. Basically, if you haven't taken a calculus class, you're not going to be able to follow along. But, do you really need to know all of that math to grasp the fundamentals of ML? The answer is no.
In fact, ESL isn't the only machine learning "bible" out there. An Introduction to Statistical Learning covers much of the same material, but in a less mathematical way. And the only prerequisite to understanding the material is a basic statistics class. So while it's safe to say a statistics class with a smattering of basic math is going to be very useful, ninety percent of the math you learn in school you probably won't use in ML.
I say probably don't need because I'm a statistician, so it's ingrained in me to never say "100%". If I say you'll never, ever come across a quadratic equation or a system of inequalities in ML, then I would be incorrect. You might come across it once, or twice, in many years of wading through a sea of scatter plots, matrices, and code.
So what follows is a rather incomplete list of the top items in high school that you [probably] hated and [probably] don't need:
While you should be able to understand equations like the one above (e.g. what does "y" represent?), you don't need to actually be able to solve it (you can use a computer), nor do you need to know the names of all those properties and acronyms. And if your algebra is a little rusty? Well, there's a calculator on the internet for that. Distributive property? Try this one. Least common multiple? There's one here.
Let's say you want to get a firm mathematics-for-ML grounding in your undergraduate degree, but you only want to take classes that are very ML specific. Imperial College London runs a course titled Mathematics for Machine Learning Specialization which lists the following as skills you'll gain during the class:
That's a pretty short list of fundamentals, but don't forget that those classes require prerequisites. For example, in order to understand multivariable calculus, you should take calculus I and II first. PCE requires statistics. All the other college math classes? You can skip them. For example, you don't need any of these classes for ML:
What solid mathematical-related skills do you need to walk in the door? This varies on what company you're working for and what kind of position you're applying for. If you want to get into machine learning theory, you're going to need some fairly advanced mathematics (like PCA and calculus). However, if you're wanting to snag a junior analyst job and dip your toes into becoming a machine learning practitioner, you can get by with a few basics. At a minimum, you should know:
This is an absolute minimum. The more you know, the more you'll be able to jump into a project. While you'll probably have no trouble cleaning and performing basic data analytics, you might run into difficulties with improving models and making predictions unless you've got higher level math skills.
As a junior data analyst, you probably won't be involved in many machine learning projects. But the further down your career path you go, the more math you'll need. According to the University of Warwick, a strong mathematics background gives you more than just math knowledge, it enhances your ability to think clearly, follow complex reasoning, and pay attention to detail. Some areas that are recommended as helpful include:
As a final note, if you're looking to learn the bare minimum of math for ML, perhaps the best way you can learn is by actually coding. Write a line of code (any code!), execute it, and see what does (or doesn't happen). Go behind the scenes and see what the code actually did, mathematically speaking. Tinkering with code that actually does something useful (as opposed to learning a whole lot of theoretical bits you might never use) is going to pay you dividends. And will make your math-learning burden much lighter.
University of Warwick: Transferable Skills
The College Board: The Heart of Algebra.
Book Review: Statistical Learning with Sparsity – The Lasso and Gen...
Sharp Sight Labs: The Real Prerequisite for Machine Learning
Logic puzzle image: Salix alba [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)]
The Elements of Statistical Learning (ESL)
An Introduction to Statistical Learning (ISL)
Trevor Hastie, Robert Tibshirani, Jerome Friedman. The Elements of Statistical Learning Data Mining, Inference, and Pr.... Second Edition. Springer.
Imperial College London: Mathematics for Machine Learning Specializ...
Comment
Good point, Lance. I'm going to cover a bit of that "emotional" aspect in this week's article (10 myths about DS).
Nice!
I see a lot of these "how to become a DS" and the one thing I never see is emotional, not intellectual: you must develop a deep, almost religious, reverence for the sanctity of the experiment. To maintain your state of grace, you must learn all of the cognitive errors that lead people astray when creating and interpreting experiments.
This is part of why natural sciences people are good at this: they have sweated over one experiment for months hoping to not screw it up. Programmers never get this training.
© 2019 Data Science Central ® Powered by
Badges | Report an Issue | Privacy Policy | Terms of Service
You need to be a member of Data Science Central to add comments!
Join Data Science Central