Starting a journey in Machine Learning and AI

July 8, 2024

Hi, I'm Américo. For the last seven years, my main focus has been hacking, but during that time, I've also learned about web application development and blockchain.

Now, I want to get out of my comfort zone a little and learn about Machine Learning and Artificial Intelligence.

My goal is to master the fundamentals by the end of this year.

In this article, I will explain my motivations for this and how I intend to learn about it. Read until the end to understand.

What is Machine Learning?

Machine Learning, often abbreviated as ML, is a field of study of artificial intelligence that focuses on developing algorithms and statistical models that allow computer systems to learn and improve based on experience.

In simpler terms, Machine Learning allows computers to learn from data and make predictions or decisions without being explicitly programmed.

This technology is widely used for recommendation algorithms, fraud detection, behavioral analysis, and predictions.

Why do I want to learn about Machine Learning and AI?

It would be easy to say that it is due to the rise of this area, but it is not just that.

When I look at this area, it seems very difficult, so this sparked my interest because I like doing difficult things; I like challenges!

I don't like standing still, and I always want to learn and build new things.

That's my motivation, and I can imagine how incredible it will be to use this knowledge in my software and cybersecurity projects.

How do I intend to study (roadmap)?

The most used programming language in this area is Python, so my first step would be to learn it. However, I have been programming in Python for seven years—this was my first programming language.

So, this step is already over.

Now, can I go straight to studying the concepts of Machine Learning? Wrong!

This area needs a solid foundation in mathematics; I'm talking about statistics, trigonometry, and calculus.

But I studied this for several years at school and university, and although I don't remember it very well, I don't see the need to go back to studying; instead, I will review these topics whenever necessary and focus more on learning to write codes that work.

Now, yes, I can move forward.

First, I will take Google's intensive machine learning course, which will introduce me to the basic concepts, both theoretical and practical.

Next, I will take two courses on Kaggle to improve my foundations:

I will take two courses on Kaggle:

  1. Introduction to Machine Learning
  2. Intermediate Machine Learning

After that, I'll do a famous Kaggle challenge:

  1. The Titanic Challenge on Kaggle.

To obtain more advanced and comprehensive knowledge, I will take the Machine Learning specialization on Coursera, a series of 3 courses that will teach me how to:

  • Create and train supervised models for prediction and classification tasks.

  • Create and train a neural network to perform multiclass classification, create and use decision trees, and tree ensemble methods.

  • Apply best practices for ML development and use unsupervised learning techniques for Unsupervised Learning, including clustering and anomaly detection.

  • Create recommender systems with a collaborative filtering approach and a content-based deep learning method, as well as create a deep reinforcement learning model.

After that, I will move forward with Deep Learning, but what is it?

Deep Learning is a sub-area of ​​Artificial Intelligence that focuses on building computational models inspired by the functioning of the human brain.

These models can learn and make predictions or decisions without being explicitly programmed to do so.

I intend to learn Deep Learning through classes published by the best universities in the world:

  1. MIT 6.S191 Introduction to Deep Learning
  2. DS-GA 1008 Deep Learning
  3. UC Berkeley Full Stack Deep Learning
  4. UC Berkeley CS 182 Deep Learning

Did you notice that I didn't mention studying with a book? This is because most books talk more about algorithms than about producing machine learning systems. Currently, my focus is learning how to build systems; I will leave the books for later when I want to gain more in-depth knowledge.

In addition to completing the courses above, I intend to focus on practice and building real projects and applications to strengthen my knowledge.

This is the roadmap that I will follow. In the meantime, I intend to share my studies/Learning on the Internet, which helps me retain my knowledge.

I hope you liked the article; share it with anyone!