The Whys

The time has come. I will learn Machine Learning, or at least, I’ll be trying my best to do so. You might now ask yourself, why machine learning?

Nowadays, Machine Learning(ML), is on a lot of people’s minds, especially after the rise of the LLMs (Large Language Models).

To not know about ML is to be left behind. I want to be part of the future, and I want to be able to understand the technology that will shape it.

As with a lot of other things, one can just look at it from the outside, make use of it, maybe even apply it, or one can dive deep into it, understand it, and maybe even contribute to it. I want to be part of the latter group.

Understanding ML and applying it to solve problems, can be a fun and rewarding experience. In my case, I’ve been having this itch for a while now, and time has come to scratch it.

While I am, as I am writing this, not actually doing ML professionally, I do work in an environment where ML is used. The work the ML engineers are doing there seems fascinating to me, and since I am a curios person, I want to know what’s all about it.

I also think that knowing ML will be beneficial for my career. I am a software engineer, and I think that knowing ML will nicely complement my skill set.

The Hows

There are a lot of resources out there to learn ML, some free, some paid. After bookmarking too many of them, I decided to start with two of them, both free. The main one, the one I will be focusing on, is Machine Learning Zoomcamp by Alexey Grigorev and co. I registered for this 4 months long free course and I am excited to start it. I will be complementing it with the Machine Learning Crash Course by Google. This is also free and has been recently updated. Additionally, I will be skimming through the relevant chapters of the book Artificial Intelligence, A Modern Approach, 4th Edition.

I will be documenting my journey here, in this blog. I will be writing about the concepts I learn, the exercises I do, the projects I work on, and the challenges I face. I will also be sharing the resources I find useful.

If things go well, I might even decide to for a more formal education in ML, something that fits my schedule and my budget. I have these two in mind:

Of course, these are just two of the many options out there.

The Prerequisites

While learning is not something I frown upon, it does require time and effort. As I am also working, this extra learning has to happen in my free time, i.e. outside the proverbial 9 to 5. I hope that with a bit of discipline and better time management, I will be able to do it.

When it comes to machine learning (ML), Python is the most widely used language, making it crucial to have a strong understanding of it. Python is renowned for its simplicity and ease of learning, so even those who are not very familiar with it can quickly become proficient. Personally, I already have a good command of Python, so I am well-prepared in this aspect. While Python is the most popular language for ML, it is not the only one used in the field. Languages like R and Julia are also employed. I believe Python’s popularity is largely due to the extensive libraries and frameworks available for ML, rather than the language itself.

The depth of one’s engagement in this field dictates the necessity for a solid grasp of mathematics. This doesn’t imply mastering all areas of mathematics, but rather having a firm understanding of linear algebra, calculus, and probability theory. Eventually, mathematical concepts will come into play, and having a strong foundation in these areas will be beneficial.

Besides the language itself, Python libraries are essential when it comes to ML. Depending on the task at hand, different libraries are used, and as such it is important to be familiar with them. Some of the most popular libraries include:

On top of all this, one might have to work with cloud services like AWS, GCP, or Azure, use Docker and Kubernetes, and have a good understanding of data engineering and data science, as these are closely related to ML.

So, as you can see, there is a lot to cover. This might feel overwhelming at first, but Rome was not built in a day, so step by step, it’s the way to go.

Happy learning!