Step into the World of Machine Learning π₯
A simple learning path to start with Machine learning.
This article can also be titled βA simple learning path to become a Super Heroβ. Yes, you heard it right! We, humans, excel at creativity, learning, and inference while the machines excel at computation and memory. You are here trying to learn the way to combine both through machine learning, thereby creating endless possibilities to improve human lives.
Letβs get into the learning path. I designed this learning path to be as simple as possible, as many people are getting overwhelmed by the number of resources they found online when they start with machine learning. I have also attached a sample action plan to complete this path.
Step 1: Decide whether Machine Learning is your cup of tea!
Analyze the following!
- What is Artificial Intelligence (AI) and Machine Learning (ML)?
- Impact and applications of AI/ML across various industries like Healthcare, Finance, Agriculture, etc., and how itβs improving human lives.
- Skills required for AI/ML
Note: Donβt let the AI craze which is happening around us let you start with Machine Learning. If you are really convinced about its impact and if you feel itβs your cup of tea, then go for it. Spend good time in analyzing these. If Yes, move to the next step
Step 2: Learn and Practise Python
- Why Python for Machine Learning?
- Recommended Learning Resources
- Set up a local environment
- Experiment in Jupyter notebooks
- Build a simple project in python like atari games
- IDE: PyCharm or VisualStudio
Tip: Try Jupyter notebook extensions which are totally cool.
Step 2a: Python for Data Science
Most commonly used libraries
- Data Handling libraries: numpy, pandas
- Data Visualization libraries: matplotlib, seaborn, bokeh
- Machine Learning libraries: scipy, scikit-learn
- Model Deployment: Flask, Django
Note: These are just the most commonly used libraries, not the entire set
Step 3: Refresh Essential High School Mathematics
Essential areas in Mathematics
- Statistics
- Probability Theory
- Linear Algebra
- Calculus
Tip: Instead of going by the subjects, go by the topics which is more essential for machine learning
Statistics
- Read the Comprehensive Guide
- Watch Khan Academy
Probability Theory
- Read the Comprehensive Guide
- Read Basic Distributions
- Watch Khan Academy
Linear Algebra
- Read the Comprehensive Guide
- Watch Khan Academy
- Watch 3blue1brown
Calculus
- Read the Comprehensive Guide
- Watch Khan Academy
- Watch 3blue1brown
Tip: Itβs okay to skip this step and learn the required math concepts where ever you encounter it. But I highly encourage you to go through the basics at least (Comprehensive Guides and Khan Academy videos in this playlist) since it will make you feel comfortable when you go through the machine learning algorithms.
Step 4: Structured Online Courses β MOOC
i) Coursera AndrewNg Machine Learning
ii) Learn algorithms which are not covered in MOOC
- Naive Bayes
- Tree-based algorithms: Decision trees, Bagging algorithms like RandomForest and Boosting algorithms like XGBoost, CatBoost, LightGBM, etc.,
- K Nearest Neighbour etc.,
Tip 1: Do the assignments in python, not in MatLab or Octave
- Python Implementation of Assignments 1
- Python Implementation of Assignments 2
- Linear Regression and Logistic Regression with explanation
Tip 2: Whenever you learn an algorithm, make sure you do the following things.
- Understand the basic intuition of how it works (without math)
- Then try to understand the underlying mathematics (Basic intuition you gained already will give enough confidence to crack the math)
- Implement the algorithm from scratch in python (At least for very important concepts like Linear Regression, Logistic Regression, Gradient Descent, Neural Networks, etc.,)
- Solve a simple real-world problem by downloading a relevant dataset. You can use Machine Learning libraries in this phase
Tip 3: Document and Maintain your code in a Github
Step 4a: Exploratory Data Analysis (EDA)
Note: EDA is critical as you will be spending most of your time exploring and visualizing data in your machine learning projects which helps you to do better feature engineering (making your data more understandable to the algorithms) and better decision making while tuning your algorithms.
Step 4b: Machine Learning Pipeline
Sample Pipeline
Evaluation metrics
Hyperparameter tuning
Note: Build a simple end to end machine learning pipeline using all the concepts learnt so far.
Collect Data β Explore and Transform Data (EDA) β Develop Model β Evaluate Model β Deploy Model β Maintain
Important Tip: Once you are done with Linear and Logistic regression algorithms in the MOOC, you must start with Step 4a (EDA) β Step 4b (Machine Learning Pipeline) β Step 5 (solving problems with datasets) parallely while learning remaining algorithms
Step 5: Start solving problems with datasets.
- Go through solved problems as a reference from Github or Kaggle kernels
- Kaggle kernels
- Example: Titanic
- Places to find datasets
- Competition Platforms
Tip: Start simple and iterate. Don't try to build a perfect model at the first go. Start with a simple pipeline which delivers output for your given input and then try to improve it iteratively. Failing soon will help you to learn more about your problem!
Step 6: Start with Deep Learning
Note: Do any one of the above courses (Detailed learning path is in progress).
Sample/Recommended Action Plan
Assuming 8β10 hours a week,
Tip: Learn by doing. Have a plan personalized as per your needs.
Other Resources for Machine Learning
Data Sources
Competitions Platforms
Tip : Your first task here is to build a simple end to end pipeline for a given problem, submit the solution and seeing your name in the leaderboard. Then try to improve your solution iteratively which makes you move higher in the leader board and the actual learning happens here in the iteration.
Best Blogs
Best Forums
Tip: Download Feedly app and subscribe to all these blogs, forums and newsletters.
Learning Resources
- data-science-tutorial-for-beginners
- python-graph-gallery
- machine-learning-glossary
- machine-learning-for-humans
- machine-learning-101
Cheat Sheets
Best Youtube Content
Get Engaged with AI Community
Note : Being active in these communities will help you to stay motivated and informed about the latest AI advancements.
Tip : Build a professional profile and follow the active community members and research leaders once you sign up.
Important Note : Topics and resources mentioned in this document is just a drop in the ocean. Please donβt restrict yourself only to these resources.
Final Notes :
Feel free to leave a message if you are stuck or confused anywhere! Your comments will greatly improve this learning path. Also, let me know in the comments if you want to add anything to it. Hereβs the link to the Github version of this learning path which I will be evolving and updating often! Do share it with whomever it helps!
Learn! Practice! Make mistakes! Learn from those mistakes! Repeat!
All the very best! Happy Machine Learning πβοΈ !
Thanks for reading, Connect with me here!