# The Machine Learning Myth

### Kasper Fredenslund Apr 16, 2017

*This article originally appeared on kasperfred*

As with any field there are a lot of myths in the field of AI, and machine learning.

Some of the myths are based on outdated information, and will eventually fade as industry practices change. Others are toxic, and limits the advancement of the field.

The most toxic myth that is currently crippling new practitioners is the myth regarding the learning of machine learning.

The myth states that you need to know all the math behind machine learning algorithms before you can use them.

This is like saying that you need to know the math behind the heat dissipation of your computer’s CPU in order to use it; sure it may help you troubleshoot your computer, and create new CPUs.

But if you just want to use the computer, having to figure out how the heat equation works will significantly slow you down at first without really giving you much advantage.

Furthermore, being faced with long, somewhat scary looking equations at page 1 will discourage most people from even trying, fearing what there may be on page 2, or page 10. The widespread belief in this myth, and the attempt to uphold it by experienced machine learning practitioners ultimately traps creativity, ingenuity, and limits the field as whole.

In order for the field to continue to flourish, this myth must be done away with at large. This requires the coordinated effort of seasoned practitioners, educators, and learners to stop requiring a complete understanding of the math behind the algorithms, before allowing learners to play around with the algorithms to gather practical knowledge.

This is not to say the math is not important; the math is very important, and useful. Just like the math behind the heat dissipation of a computer's CPU is important if you want to troubleshoot it, or invent new CPUs, the math behind machine learning algorithms is vital for the continued advancement of the field.

But the math should be used to help understand the theory behind existing practical knowledge; not the other way around.

It's interesting how the different sides of this discussion have played out in the comments here and on Twitter. It depends so much on your perspective. I am of the camp that biases towards agreeing with this sentiment. The math has mostly been an implementation detail in my software development career and knowing how to design around interfaces and use the best tools at my disposal has been the way I have worked.

There are different points of abstraction from which to take on every problem in software development, and each one is useful to some sort of problem.

Poor analogy, I think. "Using ML" in the same way most of us "use" CPUs is ~ equivalent to using Google Translate or OCR through an API at best.

For a software engineer building systems with requirements expressed as concrete specs, based on established and well-documented methods and tools, knowing nothing else but coding might be enough. Even in such cases, understanding the details can be highly beneficial (given the state of the field). However, IMO, wanting to be a "data scientist", "analyst" or similar without knowing any of the

scienceat the foundation of the field just because "you can read it when you need it" is more like wanting to fly an airplane with little to no training just because autopilots are decent and there are plenty of manuals if really needed.Your example is spot on!

I honestly believe some math is needed to work in the field. You should at least understand the concepts, which is doable with just one Calculus semester at graduate level. Nowadays, with MOOCs, Khan Academy, etc. this is definitely doable by anyone with a logical, structured mind. It just takes time and some effort. Precisely what it takes to learn any new trade.

This doesn't mean that if you know the math, you automatically qualify as a ML professional. But it will help you to "get it", as the most difficult bits you already master.

I think I disagree with this sentiment as a blanket statement, but might agree with something a little more contextualized. Surely you don't need a PhD to be a practicing data scientist, but there's definitely

somelevel of mathematical rigor that you should be comfortable with. Do you have any examples of math or algorithms that you would think of as unnecessary to understand fully to use their applications?When you do coordinate descent with dual objective and you have to calculate the gradient of a specific matricial form function?

I would say learning the basic equations so that you can do the model calculations without programming first is important. You don't need to learn all of it though. In time if you stick with ML you will anyway. Biggest barrier is often the assumption of not being able to learn the math. It's just like learning a new language or tool. The first few days, it looks like ancient Greek. Then, you stick with it, and eventually you get it.

I only partially agree... Maths are not

alwaysdiscouraging, I've started learning machine learning from a simple, very simple example : the Perceptron. The Perceptron is based on simple maths that will definitely give you a better understanding of what neural networks are all about. Same applies to K-means, a simple algorithm that expresses a very strong concept in artificial intelligence. Same applies with MinMax algorithm, and so on...Those are just simple examples you learn as introductions to these different fields of AI that make you from using a toolkit that feels like black magic to having a deep understanding of what you're using and therefore a more instinctive and confident approach of AI.

They're not even hard to learn, the maths behind a linear classifier are incredibly simple and easy to

visualizeconcepts (which, to me, is a key factor of understanding).I agree that sometimes maths make the learning curve steeper than it should be, but my point here is that maths are not

alwaysscary and are necessary to get a good understanding of the tools you're using.The point at which you need the mathematics is when your chosen algorithm won't converge and you've tried all the parameter tweaking. That's when you need to understand the inner workings. Up to then, you can use it as a black box.

Knowing the math behind the ML algorithms you use will make you much more effective at building and debugging models.

This guy explains it really well:

medium.com/@karpathy/yes-you-shoul...