How I Started Learning Machine Learning from Scratch (and What I’d Do Differently)

I first got curious about machine learning when one of my friends, that i think didn’t even have a strong programming background suddenly won a data mining competition.

I was surprised, even a little confused. How did she do that? I always thought machine learning was only for experts, or at least people who already knew how to code really well.

At that time, I had no idea where to begin. I was still in college, and AI wasn’t even covered in our classes until at least two semesters later. But the more I thought about it, the more I realized something: If she could do it, maybe I could too.

If you’re reading this, you’re probably in a similar spot excited, overwhelmed, and wondering what the first step should be.

“You don’t have to see the whole staircase, just take the first step.” — Martin Luther King Jr.

In this article, I’ll share how I got started, the mistakes I made along the way, and what I now believe is the best way for a complete beginner to learn machine learning

How It All Started: One YouTube Video
My journey into machine learning started in the most unexpected way: a random YouTube recommendation.

Haha, yeah, I know it sounds funny, but that’s really how it began. I came across a video from 3Blue1Brown explaining how neural networks work. The visuals were amazing, and the concepts felt like magic.

But honestly? I didn’t even finish the video.

I was curious, but I didn’t have a strong enough reason or motivation to keep going. At the time, AI felt more like something cool to watch than something I could actually learn.

That changed when I found out one of my friends who didn’t even have a strong programming background won a machine learning competition.

That moment really stuck with me. If she could do it, maybe I could too. That thought lit a small fire in me.

I didn’t know where to start, so I went back to YouTube and searched for something more beginner-friendly. That’s when I found “Machine Learning for Everyone” by freeCodeCamp a full course aimed at complete beginners.

The video is nearly four hours long, but I didn’t binge it all in one go. I watched it over two or three days, pausing often to practice what the video was teaching. I don’t even remember exactly how long it took but what mattered was, for the first time, I was actually doing machine learning, not just watching it.

When Everything Started to Make Sense
After that, something changed. I started using my time to learn everything I could about machine learning.

I went back and finally finished that 3Blue1Brown neural network video, and this time, it actually made sense. I started watching more tutorials, taking notes, and trying things out for myself.

I built projects like digit recognition with MNIST, tried transfer learning with pre-trained models, worked on regression problems, tackled classification tasks, and so much more.

Every small success felt magical.

A few weeks earlier, this stuff felt like it came from another universe, way too advanced, too technical, too far from anything I thought I could understand. But now, I was doing it. For real.

It was one of the best feelings I’ve ever had.

Stepping Into Real-World Challenges
After I felt a bit more confident with the basics, I decided to test myself by joining competitions.

My first one was a data mining competition from GEMASTIK where I segment retina images for glaucoma detection. I used a model called Ghost U-Net.

Of course, I didn’t win, but I learned a lot. It was my first real competition, and naturally, it came with tons of mistakes. Still, the experience was priceless.

“Mistakes are proof that you’re trying.”

Next, I joined the AI Innovation Challenge, where I built a web app to help people practice virtual job interviews. The idea was to simulate real interviews using a fine-tuned GPT-3.5 model, trained with datasets I found on Hugging Face.

That project pushed me way out of my comfort zone. It was my first time doing LLM fine-tuning, and also the first time I integrated an LLM into a web app.

The app didn’t win either, but I kept improving it, and it’s still sitting proudly in one of my GitHub repositories.

Then came a competition called SATRIA Data, where I worked on Twitter text classification based on topics like politics, Human Resource, and more.

Surprisingly, I won the preliminary round and became a semifinalist!

That was the first time I used Sentence-BERT with PyTorch, after mostly using TensorFlow and Scikit-learn before. I ended up placing 11th nationally out of teams from across Indonesia. It felt magical.

Press enter or click to view image in full size
In the semifinal round, the task was completely different: to extract insights from Twitter data during the Indonesian presidential campaign.

Honestly, I had no idea what I was doing at first. But I tried. I analyzed sentiment and emotion in tweets targeting specific candidates especially during key moments, when one candidate delivered a controversial statement about another.

I didn’t make it to the finals, but I walked away with more experience and confidence than ever before.

Success is not final, failure is not fatal: it is the courage to continue that counts.” — Winston Churchill

What I Wish I Knew When I Started (or “How I Would Learn ML If I Had to Start Over”)

“Learn from the mistakes of others. You can’t live long enough to make them all yourself.” — Eleanor Roosevelt

Looking back, one of my biggest mistakes was not learning in a structured way. I jumped from topic to topic, starting with basic machine learning, then suddenly skipping to neural networks, convolutional neural networks (CNN), transfer learning, and even large language models (LLMs) before I was really ready.

Another mistake: I focused too much on theory before doing any serious hands-on work. I felt like I had to understand everything first before I could build anything. That slowed me down.

And honestly, I joined too many competitions at once while also juggling college and part-time work. It burned me out and made it hard to fully focus on one project at a time

If I Could Start Over, Here’s What I’d Do:
Still begin with free YouTube courses to spark interest
Then follow a structured curriculum, like courses on Coursera or Kaggle Learn
Join a community or peer group to learn together and stay motivated
Focus on building hands-on projects early, even small ones
Embrace the “learn by doing” mindset, don’t try to master all the theory first
Tips If You’re a Complete Beginner (No Programming Background)

If you’re starting from zero, don’t worry, here’s a path I’d recommend:
Learn the basics of programming
Understand fundamental concepts like variables, loops, functions, and data structures.
Pick up Python
Python is the most beginner-friendly language and is widely used in AI and data science.
Familiarize yourself with core libraries
Get a basic understanding of tools like: NumPy for math and arrays; Pandas for data manipulation
Start learning machine learning concepts
Use beginner-friendly courses and pair every concept with a hands-on project (e.g., predicting house prices, classifying handwritten digits).
Build projects, no matter how simple
Real learning happens when you apply what you learn. Projects don’t have to be fancy — they just need to be real.
Final Thoughts
I never imagined that a random YouTube recommendation would lead me this far, from being a curious student to building real ML projects and joining national competitions. Even though I made a lot of mistakes, every step taught me something valuable.

If you’re just starting out, don’t worry about knowing everything. Learn by doing. Start small. Be consistent. And most importantly, enjoy the process.

We all start as beginners, and your journey might be just one video away too.

source: https://medium.com/@willywijaya577/how-i-started-learning-machine-learning-from-scratch-and-what-id-do-differently-b0329a4b8db8