Skip to main content

Command Palette

Search for a command to run...

Do you need math to get started with machine learning?

My slightly ranty opinion plus some tips for growth

Published
•9 min read
M

I'm a frontend developer at Fuego Leads where I build cool stuff using Vue. I've worked there since April 2023.

On Hashnode, I like to write about machine learning and other software engineering topics.

A little story

(If you don't like personal anecdotes, skip to Tips 😉)

Okay so you're interested in machine learning and you ask Google "what do I need to know to start machine learning?"

"Learn calculus, probability, statistics, linear algebra, learn to code, and then you can start learning machine learning," Google tells you.

Your heart sinks.

Maybe you haven't touched math since high school. Being told you need to learn that amount of math just to get started might be enough to send you away in discouragement, never to revisit the idea of machine learning.

It did me at first.

"Stick to learning web dev. Everyone says it is where people without a tech background should go," I told myself again and again.

The thing is, the more I tried to learn web development, the less interested in it I became. While the more I thought about machine learning, the more I just wanted to find out what it was all about.

Several false starts at learning algebra so I could learn precalculus so I could learn calculus so I could learn linear algebra later, I realized it would be months and months before I could start actually playing around with machine learning models.

After one more lackluster attempt at building an ecommerce site with React, I finally just started over. "What's the worst that could happen? I only know a little about matrices, I have no exposure to calculus yet, but it's not going to hurt anything to just see what it's like." So I started studying machine learning, developing intuitions for the math concepts machine learning is built on as I needed them.

We all like Tips

Okay, with that personal anecdote out of the way...

Here are some practical tips for studying the math you need for machine learning:

  • Do not start by learning probability, statistics, linear algebra, and multivariate calculus. Machine learning is built on that mathematical foundation - so it absolutely is important (don't let anyone tell you otherwise) - but you don't need to start there. That is to say, they may be prerequisites in a course catalog, and topics that will help you understand machine learning algorithms more quickly, but if you are learning on your own and start there, you may never get to the point where you feel ready to begin with machine learning.
  • Begin with an introduction to machine learning and when you come to a term you don't understand - for example vector, tensor, function, mean - look it up!
  • Understand what is the motivation for using that particular element of math. For example, before learning what a derivative does - before looking at the mathematical formulas - find out why they are used in the first place.
  • If you don't understand a mathematical formula break it down into the smallest components that you do understand.
  • Alternately, if you aren't able to break down the formula into smaller components, find a different representation of the concept - Look for a:
    • Code snippet
    • Picture
    • Video explanation
    • Worked out algebraic example
    • All of the above!
  • The internet is your friend. If you don't understand one explanation that does not mean you are "not a math person." Instead it may mean you need to learn the concept from a different angle. There is no shame in seeking out another resource if the first one isn't serving you. Don't just keep smashing your head into a brick wall and hope you'll somehow get through it.

And now it's gonna get a little deep

I also want to address the fact that many people consciously or subconsciously feel their self worth is tied to being good or not so good at mathematics. Or, at least, I suspect I'm not the only one.

When I can't remember how to do something in algebra, it still shatters my self esteem. This is probably for a variety of reasons - one of them is probably because I spent a lot of time (4 years?) thinking that if I couldn't solve algebra problems, I wouldn't do well on the SAT, and wouldn't be able to prove to people that I have good logical reasoning skills.

This could be you, if you've ever thought of yourself as "being bad at math" or "not a math person" or "more of a creative person" (or any other euphemisms for bad at math). If maybe you've heard the phrase "you should be able to figure this out with basic high school algebra," and you couldn't. Or in a math explanation someone said "it clearly follows," and it didn't.

You need to start shedding those identities right away. Start thinking of yourself as someone who is learning math. Someone who doesn't know everything yet, but is building their intuitions and is curious to discover more.

You are not unintelligent because you don't understand math. Math isn't obvious. It isn't something we intrinsically know. (Just ask any 5 or 6 year old!)

Math is a learned skill, and as such I believe anyone can learn it. I don't think there are people who are good at math and people who are bad at math. I think that the idea of "a math person" probably has more to do with how well that person learned math the way it was taught to them.

If your brain did well with how math was taught in your school, then you probably excelled in math subjects. But maybe you weren't so lucky. Maybe you've always felt some underlying inferiority because you didn't succeed at math in the classroom. Maybe you've been avoiding math for the rest of your life.

Well I'm here to tell you math is nothing to be afraid of. It is beautiful, it is a useful tool, and you can learn it too.

I got a D in precalculus because I was intimidated by my teacher, never went to office hours, and was so thoroughly confused I didn't even know what questions to ask. And I'm learning how to use partial derivatives in gradient descent from the internet. Will I ever be a calculus expert? Probably not, but that isn't preventing me from learning what I can.

Start with what you know, and build up to what you don't know one step at a time.


What are your thoughts about math? Share them with me in the comments! I'd love to have a conversation with you.

M
MCCurcio3y ago

Hi M,
Your article is very good. It is positive and gives a good argument for jumping right into the water. I am also learning DS it is good to see others succeeding.

However, I am torn about how much math people should know before jumping in. I do believe that much of math can be understood intuitively but coursework does also lay out some key steps, that may be crucial.
Thanks
P.S. I am from Providence ;)

1
M

I think there's a lot you can do before learning the math, especially with user friendly tools like fastai. But I also think the math is really essential to deeper understanding, so it's a good idea to learn at some point.

1
K

Thanks for sharing! You gave me a confidence. I have been starting & leaving ML from past one year due to the fear of maths. Finally, this month, I started out with python & AWS. And, after reading your article I hope there will be no looking back!

1
M

That is great to hear! I hope to encourage as many people as possible. Machine learning is not easy, but it isn't impossible either, if you break it into small enough portions to learn. I wish you the best success in your studies!

R

Great article!

2

More from this blog

<div>ersions

43 posts

I explain programming and web development concepts in plain English