In this blog, I gonna share with you my path to becoming a machine learning engineer or how to learn machine learning the hard way.

I already have some programming background, so I’ll skip this part. If that’s not the case with you, I suggest you first learn *any* programming language. Better of, google what language to learn and while doing this you’ll learn the most important skill anyone who writes computer code needs to have: the ability to google efficiently.

I have completed Andrew Ng’s machine learning course (if you haven’t, do check it out), which was perfect for raising my interest level. However, it only scratched the surface. This is why I wanted to dive deeper into the more rigorous/mathematical bits of machine learning.

Mathematics perquisite:

- Calculus - Calculus, Vol. 1
- Multivariate Calculus - Calculus, Vol. 2
- Linear Algebra - both Apostol’s books as they also cover linear algebra
- Optimization Theory - Convex Optimization
- Probability - A First Course in Probability

I chose Apostol’s books for Calculus because they also cover linear algebra and have a good level of rigor.

Actual machine learning:

- Machine Learning - Pattern Recognition and Machine Learning
- Deep Learning - Deep Learning

Currently, I’m at the mathematics prerequisite level, specifically Calculus and Linear Algebra. As the time will flow I’ll update the previous line.

While I did all the research for my personal use, I fought that it might help someone which is also in my situation, so I wrote this post.

Why choose the hard way? If you aren’t satisfied with just calling a function and tinkering some parameters like a monkey trying to reproduce Shakespeare works, this is the path you’ll need to take.