For the last one and a half years, I have fully immersed myself in studying machine learning, partially to help with my research and widen my professional and academic scope.

For the first few months, I was lost amidst literally thousands of options: Courses, books and tutorials that did little to help with the journey.

Machine learning is quite a wide field, and without directed study or coaching, one can easily be overwhelmed by the multitude of resources available. Also, without a worthy reason to study, you can easily lose track and give up. So, find a worthy reason.

Over the months, I have come across a lot of resources, and I am going to share the best ones that have been helpful to me as a beginner. I hope these will help someone who may want to venture into this kind of study. Most of these resources are freely available, and others are quite affordable.

Here are the resources not in any order:

Machine Learning Specialization by Coursera.

Master fundamental AI concepts and develop practical machine learning skills in the beginner-friendly, 3-course program by AI visionary Andrew Ng.

This is one of the easiest and most beginner-friendly courses I have come across so far. Andrew Ng is a wonderful teacher, and he teaches machine learning concepts to the basics. Easy to understand. He does not assume concepts like many other teachers out there, and he takes time to explain even the most basic concepts.

You can enrol for free.

Mathematics for Machine Learning and Data Science Specialization

This is a beginner-friendly Specialization where you’ll learn the fundamental mathematics toolkit of machine learning: calculus, linear algebra, statistics, and probability.

Note that you need this maths to understand machine learning.

You can enrol for free.

Machine Learning Mastery Jason Brownlee

Jason has written plenty of easy-to-understand books and tutorials on machine learning. Check his website, Machine Learning Mastery, for more details.

Some of his books include:

  1. Machine Learning Mastery with Python
  2. Machine Learning Algorithms From Scratch
  3. Deep Learning with Python
  4. Deep Learning for Time Series Forecasting
  5. Basics for Linear Algebra for Machine Learning – Discover the Mathematical Language of Data in Python

mlcourse.ai

mlcourse.ai is an open Machine Learning course by OpenDataScience (ods.ai), led by Yury Kashnitsky (yorko).

This is one of the most comprehensive and easy-to-understand free courses out here. It is fully available online for free and consists of video tutorials, web pages, kaggle notebooks and tutorials. It is self-paced.

Learn Python The Hard Way by Zed Shaw

This takes you from absolute zero to being able to read and write basic Python to then understand other books on Python.

Learn Everything AI Resources Shivam-Modi

Other Resources (Including Python)

Python resources by Hans-Petter Halvorsen

Ivan Reznikov Python Notes and Code

Machine Learning, Data Science and Deep Learning with Python by Sundog Education

Understanding Deep Learning by Simon Prince

Deep Learning-Ney York State University,

Machine Learning with Python Cookbook – Practical Solutions from Preprocessing to Deep Learning by Chris Albon

Python Artificial Intelligence Projects For Beginners Get Up And Running With 8 Smart Ai Applications by Packt Publishing

Machine Learning Engineering with Python-Manage the lifecycle of machine learning models using MLOps with practical examples by Andrew P. McMahon

Deep Learning with Python-A Hands-on Introduction by Nikhil Ketkar

General advice:

  1. Understand the Fundamentals
  • Mathematics: Gain a solid foundation in linear algebra, calculus, probability, and statistics. These are crucial for understanding ML algorithms.
  • Programming: Learn Python, as it’s the most widely used language in ML. Become comfortable with libraries like NumPy, pandas, and matplotlib.
  1. Learn the Basics of Machine Learning
  • Foundational Courses: Take online courses such as Andrew Ng’s Machine Learning course on Coursera, which covers the basics and provides a strong theoretical foundation.
  • Textbooks: Read books like “Pattern Recognition and Machine Learning” by Christopher Bishop and “Introduction to Statistical Learning” by Gareth James, Daniela Witten, Trevor Hastie, and Robert Tibshirani.
  1. Get Hands-On Experience
  • Projects: Start with simple projects like linear regression, classification, and clustering. Gradually move to more complex projects.
  • Kaggle: Participate in Kaggle competitions to solve real-world problems, learn from the community, and practice feature engineering, model selection, and hyperparameter tuning.
  1. Master Key Libraries and Frameworks
  • scikit-learn: Familiarize yourself with this library for classical machine learning algorithms.
  • TensorFlow and PyTorch: Learn these frameworks for deep learning. Start with TensorFlow if you prefer a more structured approach, or PyTorch if you prefer a more flexible and intuitive style.
  1. Study Advanced Topics
  • Deep Learning: Dive into deep learning concepts, neural networks, and architectures like CNNs, RNNs, LSTMs, GANs, and transformers.
  • Specialized Areas: Explore areas like natural language processing (NLP), computer vision, reinforcement learning, and unsupervised learning.
  1. Develop a Strong Understanding of Data
  • Data Preprocessing: Learn techniques for cleaning, transforming, and normalizing data.
  • Feature Engineering: Understand how to create new features, handle missing values, and encode categorical variables.
  • Exploratory Data Analysis (EDA): Develop skills to analyze and visualize data to gain insights and identify patterns.
  1. Practice Model Evaluation and Validation
  • Evaluation Metrics: Learn different metrics for evaluating classification, regression, and clustering models.
  • Cross-Validation: Implement cross-validation techniques to assess model performance and prevent overfitting.
  1. Keep Up with the Latest Developments
  • Research Papers: Read recent papers from conferences like NeurIPS, ICML, and CVPR.
  • Blogs and Newsletters: Follow blogs, newsletters, and podcasts from experts in the field.
  1. Build a Portfolio
  • GitHub: Publish your projects and code on GitHub to showcase your skills.
  • Blogs: Write blog posts to explain your projects, findings, and any challenges you faced.
  1. Network and Collaborate
  • Meetups and Conferences: Attend local meetups, conferences, and workshops to learn from others and expand your network.
  • Online Communities: Join forums like Reddit’s r/MachineLearning, Stack Overflow, and specialized Discord servers to seek advice, share knowledge, and collaborate on projects.

 


Now, for those who have been on this journey, any resources or advice you can share? Kindly let me know through the comment section below.