You Don't Need to Know All the Algorithms

tl;dr; As practitioner you need intuition about how machine learning works, but not a deep technical understanding.

Under the Microscope

Human cells are basically very small. You need a microscope to look at the tiny fellas. But, like me, you might not know much about microscopes. How would you proceed? Study the mathematics of optics, and try to understand how each part of the microscope functions? Or just watch a tutorial? I would go for the latter option, and recommend everyone do the same, unless you are extremely interested in microscopes. Why? Because our goal was to study human cells, and the microscope is a replacable tool. Of course, we need to have some intuition about how lenses work, but we don't need deep technical insights.

Under the Model

Now you got some nice pictures of the cells and want to classify them. You decide to do that with machine learning. But you might not know much about machine learning. How would you proceed? Study the mathematics of machine learning, and try to understand how each part of the algorithms function? Or just watch a tutorial? Machine learning is a tool, just like the microscope. That means you don't need to deeply understand how it works. But rather, you need the right mental models when working with it, and especially the skill to spot when things go wrong. Going like 10 to 20 years back, machine learning was not a tool like the microscope. Applying machine learning meant studying machine learning in depth, maybe even implementing algorithms yourself. But today, you can choose among many cloud services where you simply upload your data and the servers happily crunch evaluate different models, and spit out a good solution.

But Online

Online machine learning courses give you a different impression. Take the syllabus from Andrew NG's Machine Learning Course on It's about linear models, neural networks, SVMs, dimensionality reduction, recommender systems, ... Very much focused on the algorithms. And that's totally fine. But most machine learning courses look like this. And many tutorials. Maybe you have heard the advice that you learn best when you even implement the machine learning algorithms yourself. That's good advice IF your goal is to become a machine learning specialist, but not if you are an ecologist who wants predicting elephant occurences in Africa or a biologist classifying cells.

How To

The model training part of machine learning, with all its evaluation, benchmarking, tuning and so on are getting automated and abstracted away. Given a good cloud service or software, supervised machine learning can be handled in like 10 lines of code or less (excluding feature engineering and stuff like that). As a practitioner, you don't have to understand what the algorithms do internally, but only the principles by which they operate. You should have an intuition about loss optimization, but you shouldn't have to worry about which types of SVMs there are or which parameters to optimize for neural networks. The same as you don't care about how exactly some other software is implemented, as long as it works.