Machine Learning Roadmap
A curated collection of resources to start and advance your career in Machine Learning.
📢 Updates (New Projects)
- trisynapse-memory: Local-first memory for AI agents. Store verifiable traces, recall meaning, and answer with citations.
- Trisynapse: Trisynapse is a local-first, BYOK AI research workspace. Turn scattered papers, PDFs, bookmarks & videos into a private digital brain. The app auto-summarizes, maps concept graphs, and compiles sources into markdown wikis. Work seamlessly with a built-in split-view Browser, local retrieval Chat, an overlay AI Assistant, and infinite Canvas whiteboards for sketching. 100% offline-first and private: your vault stays encrypted on your machine with no cloud sync or subscriptions.
- Tensor Writes: Documenting my journey as a Machine Learning Engineer, sharing insights from experiments, readings, and projects.
📖 Table of Contents
- Introduction
- Prerequisites
- Machine Learning
- Deep Learning
- Frameworks & Libraries
- What's Next?
- Other Resources
- Star History
Introduction
Hello there. I am Shanmukha Sainath, working as AI Engineer at KLA Corporation. I have done my Bachelors from Department of Electronics and Electrical Communication Engineering department, IIT Kharagpur.
Why I made this?
Internet world is huge, so as resources to learn any new things. There are numerous free and paid resources to learn Machine Learning. Having many options in hand confuses and it's difficult to select best one (saying from experience). So, I have collected best resources to get started with Machine Learning and continue career in this field.
Feedback and suggestions are welcome!
Prerequisites
Mathematics
Linear Algebra
Details
18.06 Linear Algebra course by MIT is the best course to learn basics of Linear Algebra
Matrix Algebra
Details
Matrices course by Khan Academy is the best course to learn basics of Matrix Algebra
Probability and Statistics
Details
Statistics and Probability course by Khan Academy is best course available.
Calculus
Details
Differential Calculus is the best course to learn basics of Differential Calculus.
Programming Fundamentals
Data Structures and Algorithms
Details
6.006 Intoduction to Algorithms is the course by MIT to learn basics of Data Structures and Algorithms.
Programming Language
Python
Details
Python tutorial is best place to learn basic syntax of Python.
Machine Learning
Courses
[Machine Learning Specialization by Andrew Ng (New Course🆕)](https://www.coursera.org/specializations/machine-learning-introduction) : Coursera.
[Machine Learning A-Z](https://www.udemy.com/course/machinelearning/) : Udemy.
Books
[Pattern Recognition and Machine Learning](http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop%20-%20Pattern%20Recognition%20And%20Machine%20Learning%20-%20Springer%20%202006.pdf) by Christopher Bishop
[An Introduction to Statistical Learning](https://www.statlearning.com/) by Gareth M. James, Daniela Witten, Trevor Hastie and Robert Tibshirani
[Hands on Machine Learning with Scikit-Learn and TensorFlow](https://www.knowledgeisle.com/wp-content/uploads/2019/12/2-Aur%C3%A9lien-G%C3%A9ron-Hands-On-Machine-Learning-with-Scikit-Learn-Keras-and-Tensorflow_-Concepts-Tools-and-Techniques-to-Build-Intelligent-Systems-O%E2%80%99Reilly-Media-2019.pdf) by Aurelien Geron
Deep Learning
Courses
[Deep Learning Specialization by Andrew Ng](https://www.coursera.org/specializations/deep-learning) : Coursera
[PyTorch for Deep Learning Professional Certificate](https://www.deeplearning.ai/courses/pytorch-for-deep-learning-professional-certificate/) : DeepLearning.AI
[Deep Learning with PyTorch by Yann LeCun](https://atcold.github.io/NYU-DLSP20/) : YouTube
[Deep Learning with fast.ai by Jeremy Howard](https://course.fast.ai/) : fast.ai
Books
[Deep Learning](https://www.deeplearningbook.org/) by Ian Goodfellow, Yoshua Bengio and Aaron Courville
[Deep Learning with Python](https://tanthiamhuat.files.wordpress.com/2018/03/deeplearningwithpython.pdf) by François Chollet
[Hands on Machine Learning with Scikit-Learn and TensorFlow](https://amzn.eu/d/4ybZF9x) by Aurelien Geron
[Hands-On Machine Learning with Scikit-Learn and PyTorch: Concepts, Tools, and Techniques to Build Intelligent Systems](https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-PyTorch/dp/B0F2SG98Q9) by Aurelien Geron
[Dive into Deep Learning](https://d2l.ai/) by Amazon scientists
Frameworks & Libraries
[!NOTE] No tutorial/course is better than Documentation. But I am sharing other resources for some libraries to learn them quickly. Whenever you got stuck at some function or implementation. It is always better to refer official documentation.
Working with Arrays
[NumPy](https://numpy.org/)
Details
NumPy is a library that enables Numerical Computing in Python. In Machine Learning we always work with arrays. NumPy helps to operate these arrays using large number of functions available.
[This will help to get used to some frequent operations done with NumPy.](https://www.w3schools.com/python/numpy/numpy_intro.asp)
Data Preprocessing
Tabular data
[Pandas](https://pandas.pydata.org/)
Details
pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. To know more about usage and advantages of Pandas visit Package Overview page
[This will help to get used to some frequent operations done with Pandas.](https://www.w3schools.com/python/pandas/default.asp)
Image data
[OpenCV](https://docs.opencv.org/4.x/index.html)
Details
OpenCV-Python is a library of Python bindings designed to solve computer vision problems. OpenCV-Python is a Python wrapper for the original OpenCV C++ implementation.
[Refer to official tutorials for more details and implementation.](https://docs.opencv.org/4.x/d6/d00/tutorial_py_root.html)
[Pillow](https://pillow.readthedocs.io/en/stable/index.html)
Details
The Python Imaging Library adds image processing capabilities to Python interpreter. This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities.
[Refer to official tutorials for more details and implementation.](https://pillow.readthedocs.io/en/stable/handbook/tutorial.html)
Text data
[NLTK](https://www.nltk.org/)
Details
NLTK is a leading platform for building Python programs to work with human language data. It provides over 50 corpora and lexical resources such as WordNet, along with a suite of text processing functions for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries
[This will help to get used to some frequent operations done with NLTK.](https://www.tutorialspoint.com/natural_language_toolkit/index.htm)
[SpaCy](https://spacy.io/)
Details
spaCy is an open-source software library for advanced Natural Language Processing, written in the programming languages Python and Cython.
[This course by spaCy helps to get started with spaCy.](https://course.spacy.io/en/)
Data Visualization
[Matplotlib](https://matplotlib.org/stable/index.html)
Details
Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
[Refer to official tutorials for more details and implementation.](https://matplotlib.org/stable/tutorials/index)
[Seaborn](https://seaborn.pydata.org/)
Details
Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics.
[Refer to official tutorials for more details and implementation.](https://seaborn.pydata.org/tutorial.html) [Refer to gallery to knoe about various types of plots present in seaborn.](https://seaborn.pydata.org/examples/index.html)
[Plotly](https://plotly.com/python/)
Details
Plotly's Python graphing library makes interactive, publication-quality graphs. Examples of how to make line plots, scatter plots, area charts, bar charts, error bars, box plots, histograms, heatmaps, subplots, multiple-axes, polar charts, and bubble charts.
Machine Learning
[Scikit-Learn](https://scikit-learn.org/stable/index.html)
Details
Scikit-learn is a free software machine learning library for the Python programming language. It features various classification, regression and clustering algorithms. It is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy.
[Refer to official tutorials for more details and implementation.](https://scikit-learn.org/stable/tutorial/index.html)
Intro to ML with Scikit-Learn and 50 scikit-learn tips are best freely available courses provided by Data School to learn Scikit-Learn
Deep Learning
[fast.ai](https://www.fast.ai/)
Details
fastai is a deep learning library which provides practitioners with high-level components that can quickly and easily provide state-of-the-art results in standard deep learning domains, and provides researchers with low-level components that can be mixed and matched to build new approaches. Check About page for more information.
[Refer to official tutorials for more details and implementation.](https://docs.fast.ai/tutorial.html)
[PyTorch](https://pytorch.org/)
Details
PyTorch is a Deep Learning framework developed by Meta that enables fast, flexible experimentation and efficient production through a user-friendly front-end, distributed training, and ecosystem of tools and libraries.
[Refer to official tutorials for more details and implementation.](https://pytorch.org/tutorials/)
[TensorFlow](https://www.tensorflow.org/)
Details
TensorFlow is a Deep Learning framework developed by Google. It is a free and open-source software library for machine learning and artificial intelligence. It can be used across a range of tasks but has a particular focus on training and inference of deep neural networks.
[Refer to official tutorials for more details and implementation.](https://www.tensorflow.org/tutorials)
What's Next?
Competitions
[Kaggle](https://www.kaggle.com/)
Details
Kaggle is biggest data science community where one can share their work, particpate in competitions, learn from free courses and lot more.
To get more out of Kaggle, participate in any competition which is in field of your interest. Competitions are aminly divided into 3 categories Tabular, Computer Vision, NLP. If there are no any active competitions attempt past competitions which interests you. If you got stuck at any point refer publicly avaliable notebooks / post in discussion forum. There are enoromous number of datasets available on Kaggle. You can also download datasets and start your own project
[ML Contests](https://mlcontests.com/)
This website contains a list of ongoing ML competitions across various platforms
[List of ML hackathon platforms](https://medium.com/analytics-vidhya/top-25-machine-learning-hackathons-its-here-now-for-anyone-to-move-to-data-science-a93deb2a198a)
This blog written by Vetrivel PS has list of Data Science competition platforms.
Research
[Papers with Code](https://paperswithcode.com/)
Details
Papers with Code is a free and open resource with Machine Learning papers, code, datasets, methods and evaluation tables.
Everything in PwC are divided into categories which makes it easy to get particular paper. Go to the category / field that interests you (Browse State-of-the-Art). Select any paper based on benchmarked dataset / Most implemented / Libraries. You can also find code implementations in various frameworks.
Read the paper. Implement the algorithm/model with your favourite framework. Train it with dummy data to check. It's best way to get into research.
Other Resources
YouTube Channels


































Blogs
Research Papers
Datasets
University Lectures
CS231n : Computer Vision
CS224n : Natural Language Processing
CS224W : Machine Learning with Graphs
CS285 : Reinforcement Learning
llm-course : Compiled Resources to learn about LLMs
World Models : Introduces world models—learned representations and predictors of environment dynamics for perception, planning, and decision making
NewsLetters
AI Weekly: Discover what AI experts are reading and sharing right now
Alpha Signal: The weekly digest for AI Researchers and Engineers
DAIR.AI's Top ML papers of the week
People/Pages to follow
Awesome list of Twitter handles (made by me)
Cloud GPUs
This site has all list of available Cloud GPUs and their pricing
Join these communities
Yannic Kilcher (Discord)
CORD.ai (Slack)
MLSpace: The Machine Learning Community (Abhishek Thakur) (Discord)
Visualization Tools
Seeing Theory : A visual intro to probs and stats
Visualizing Neural Network Architecture
Tensorflow Playground : A website to play with FNN
Interactive Nod Link visualizations for MLPs and CNNs
ManimML : Animations and Visualizations of ML concepts
Blog by Kemal Erdem : Interactive Visualizations of DL algos
Embedding Atlas : Interactive Visualization tool for textual and embedding data from Apple
Fly through Llama : Explore the tensor operations in Llama 8B model in an interactive 3D environment
LLM transparency tool : an open-source interactive toolkit for analyzing internal workings of Transformer-based language models.
MNIST MLP : Visualizing inference of a MLP trained on MNIST digits dataset.
Tiktokenizer : Check how different tokenizers tokenize text.
Advanced resources
Weights & Biases: Train and fine-tune models, manage models from experimentation to production
Hugging Face: The platform where the machine learning community collaborates on models, datasets, and applications.
PyTorch Lightning: PyTorch Lightning is the deep learning framework for professional AI researchers and machine learning engineers who need maximal flexibility without sacrificing performance at scale.
AutoMl Libraries: PyCaret, H2o AutoML, AutoKeras, FLAML
Deployment [Beginner]: Flask, Streamlit
LangChain: LangChain is a framework designed to simplify the creation of applications using large language models.
Unsloth: Library for LLM Finetuning.
Inference Engineering: Serving LLMs at scale.