Introduction to Machine Learning!

neuralnetworks
5 min readJun 13, 2024

--

So you want to learn Machine Learning? It will be a long journey that requires a solid grasp of the fundamentals. Try not to skip any of the stages, and move on to the next once you fully understand the current one. This article will prepare you with the tools to dive deep into Machine Learning topics. Good luck!

PREREQUISITES

Machine Learning is all the craze at the moment. Everyone wants to delve into the depths of Machine Learning and get good at it. What most people need to remember to grasp is, that even though it is a new topic to delve into, it is also very mathematically taxing for the human brain. To delve into machine learning, we first need to finish up some prerequisites so that we can fully understand the subject in its entirety.

Math Prerequisites :

  1. Linear Algebra

It provides the mathematical framework for understanding and manipulating vectors and matrices, which are the building blocks of almost any ML algorithm. A full grasp of these concepts is essential.

Lectures by Gilbert Strang
Algebra by Techion
Essense of Linear Algebra by 3Blue1Brown

Gilbert Strang’s course is the most concise way to learn Linear Algebra. Techion’s course is a simple version of the same which will dumb down a topic if you have difficulty understanding that. 3B1B videos are very intuitive and will help you a lot to visualize scenarios.

2. Probability Theory

Probability theory provides a math framework for quantifying uncertainty. In ML, models often need to make predictions or decisions based on incomplete or noisy data. With probability, we can easily express that uncertainty and reason about it. There are myriad other reasons for learning probability, of course; just keep in mind that Language Models generate text by taking your input calculating the probability distribution of the next sequence of words that would follow it, and picking the most likely output to complete your input text.

MIT 6.041

This course is the most complete course for Probability. Additionally, you can follow the book of Probability by Sheldon Ross as a reference book.

3. Calculus

Calculus, and particularly derivatives and gradients, play a key role in optimization algorithms used in ML. You will rely on Calculus for optimization techniques such as gradient descent, and key components of DL such as Backpropagation.

Techion’s Course in Calculus

This course travels through all the concepts needed in your calculus part, additionally, the part taught in Calculus for 1st year is enough for ML.

Programming Prerequisites :

  1. Python

The current programming language dominating the ML community is Python. Not surprising, since the ease of use allows you to focus on writing efficient code without needing to spend too much time learning the intricacies of the language’s syntax. There’s a good chance you already know Python, but we’ll go over the basic steps anyway.

Basic — Python
Intermediate-Python

These two courses will give you the necessary ideas needed for implemented Python for ML.

2. Frameworks for Python

Machine Learning Libraries
Explore the popular ML libraries, such as Pytorch, Tensorflow or scikit-learn. It’s recommended to focus on only one, and as of now, PyTorch is the most popular.

Pytorch in a Day
Tensorflow

Object-Oriented Programming (OOP)
Get yourself comfortable with the principles of OOP, including classes, objects, inheritance, and encapsulation. Allows for modular and organized code design.

COURSE MATERIAL

Finally, you are done with all the prerequisites! It’s time to start actual Machine Learning now. I will be following the Stanford courses for all topics.

CS229 (Machine Learning)

This course is the holy grail of Machine Learning. This covers all topics you need to know to pursue classical machine learning. Please don’t skip anything here, complete the lectures and all of their assignments.
The course is ambitious. It aims to cover a lot of things and you’d probably do well if you could work through all the materials, but you’d probably need to work very hard to complete it. The lecture notes are dense. The assignments are difficult as well.

Course Link
Course Notes and Problem Sets with their solutions

Reference Books: PRML by Christopher Bishop and Pattern Classification by Duda, Hart

CS231N(Convolutional Neural Networks for Visual Recognition)

Whether you’re into computer vision or not, CS231N will help you become a much better AI researcher/practitioner. CS231N is hands down the best deep-learning course I’ve come across. It balances theories with practices. The lecture notes are well written with visualizations and examples that explain difficult concepts such as backpropagation, gradient descents, losses, regularizations, dropouts, batch norm, etc. The assignments are fun and relevant.

Course Link
Course Notes and Assignments with their solutions

Reference Books : Deep Learning by Ian Goodfellow

CS224N(Natural Language Processing with Deep Learning)

This is a must-take course for anyone interested in NLP. It’s been taught by a legendary professor: Chris Manning. The course is well organized and well taught. The assignments, while useful, can sometimes be frustrating as training NLP models can take a long time. The final project can be open-ended and fun.

Course Link

Course Notes

Course Assignment with Solutions

CS221(Artificial Intelligence: Principles and Techniques)

The course covers fundamental AI concepts such as regression, clustering, gradient descent, nearest neighbours, and pathfinding as well as basic RL concepts such as Monte Carlo, SARSA, Q-learning, policy/value iteration, etc. The assignments are interesting, practical, and manageable.

Course Link

Course Details and Material

CS234(Reinforcement Learning)

If you’re interested in learning more about RL, you should take the course. The assignments, in my experience, weren’t difficult but can be frustrating.

Course Link

Course Material and Assignments with Solutions

ADDITIONAL STUFF

Neural Networks: Zero to Hero

Unlike many other tutorials, Andrej didn’t just focus on the general idea and the intuition behind any topic he explained. He also showed the details, whether they are mathematical or implementation details, that let you understand what goes on under the hood. Each video has a set of exercises and challenges at the end and in the description.

Link to It

Neural Networks Demystified

This short playlist just summarizes the functionality of Neural Networks in a short manner

Link to It

Neural Networks (3B1B)

Intuitive videos about how a neural network works on MSINT database on ANNs

Link to It

Blogs to Follow

  1. LilLog
  2. Colah’s Blogs
  3. Hugging Face Blogs
  4. Keras Blog

Competition Sites

  1. Kaggle

Where to Write Code

  1. Kaggle Notebooks
  2. Google Colab

Thanks for reading! Hope you can cover this journey of machine learning with me. Make sure to share this article so many people can share the joy of knowledge of machine learning! Good Luck with your Academic Journey!

a big af neural network

--

--