You are looking to get into Machine Learning? You most certainly can
Because I believe that if an above-average student like me was able to do it, you all certainly can as well
Here's how I went from knowing nothing about programming to someone working in Data Science👇
The path that I took wasn't the most optimal way to get a good grip on Machine Learning because...
when I started out, I knew nobody that worked or had knowledge of Data Science which made me try all sorts of different things that were not actually necessary.
I studied C programming as my first language during my freshman year in college. And before the start of my second year, I started learning python just because I knew C is not the way to go.
I learned it out of curiosity and I had no idea about Machine Learning at this point.
I did not learn python by courses but by books. I'll link all the resources at the end.
The approach I took was just to make the same kind of programs I made in C but just replacing the syntax with that of python and practised those.
Already knowing a language made it easier.
For Machine Learning, the first thing that I did was to join Andrew NG's course which really hit it off for me
I didn't have to have any idea about Machine Learning for the course. I completed that in almost a month and it gave me a good intuition of things and the flow of ML.
Then I thought of implementing those concepts through python
But after a lot of tries, I wasn't really able to do it. Because I was constantly encountering a lot of stuff things in code that I wasn't really aware of.
Even loading the CSV data seemed like a hard task.
What I was lacking was the basic python and ML libraries. So I started focusing on learning those.
The absolute necessary ones were
🔸Numpy
🔸Pandas
🔸Matplotlib
🔸Seaborn
🔸SciKit Learn
🔸Os (an important built-in package).
There were two really good udemy courses that helped me with the library portion and implementing the algorithms through Sci-Kit learn with dummy datasets.
The practice of the taught concepts multiple times was necessary, I did that as much as I could and also read blogs on them
Everything that I did from there on was from Kaggle. It is a platform that's closest to exposing what real-life problems may look like.
Different people solve the same problem differently and you read a lot of other people's code. From there on that's what kept me growing.
Things I learned from Kaggle:
🔹Exploration and visualization of data
🔹How to approach a new problem
🔹Better code structure for implementing a machine learning solution
You don't have to be an absolute grandmaster of kaggle but plenty practice and patience is needed.
Then I just picked up some common projects and implemented them, mostly from kaggle. Like,
▪ Titanic Survival
▪ Spam Classification
▪ Movies Recommendation
▪ Boston House Pricing
▪ Churn Prediction
You'll kind of know your way from there, moving to harder problems slowly.
Don't overthink about maths more than it is necessary. You can always learn the mathematical concepts that you may be missing as you go.
Learning the maths behind will keep things interesting if you won't enjoy that you will get bored pretty quickly.
Finally, it can get quite overwhelming at times, make sure to take one step at a time. Don't focus on how far ahead other people are focus on how much you'll grow from here.
And you are NOT too old or too young for this stuff
Look at these two guys @svpino@PrasoonPratham !
Have a happy journey in this wonderful domain!
I am listing the resources below. These are what I used, they don't have to be the same, see what works for you better. Bend things your way.
Learning rate is one of the most important parameter in Machine Learning Algorithms.📈
You must have seen learning rates something like 0.01, 0.001, 0.0001....
In other words, always in the logarithmic scale. Why?
What happens if we just take random values between 0 and 1?
If we take random values between 0 and 1, we would have a probability of only 10% to get the values between 0 an 0.1, rest 90% of the values would be between 0.1 and 1.
Here are the links for all the notes that I have from the Andrew NG Machine Learning Course that I made back in 2016
This was my first exposure to #MachineLearning They helped me a lot and I hope anyone who's just starting out and prefers handwritten notes can reference these 👇
Gradient Descent is great but there are a whole bunch of problems associated with it.
Getting stuck in the local minima while browsing the solution space is one of the major issues.
A possible Solution?
SIMULATED ANNEALING
Here's a little something about it 🧵👇
The method of Simulated Annealing in Optimization is analogical to the process of Annealing in Metallurgy ⚗️🔥, hence the name.
We get stuck in the local minima because we tend to always accept a solution that seems best in shortsight. We just move in the downwards direction ⬇️ (negative gradient) and not upwards⬆️
So once we reach a point which is low but not the lowest, we may end up getting stuck.