Introduction to Machine Learning!
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 :
- 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.
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.
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 :
- 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.
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 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.
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 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.
Neural Networks Demystified
This short playlist just summarizes the functionality of Neural Networks in a short manner
Neural Networks (3B1B)
Intuitive videos about how a neural network works on MSINT database on ANNs
Blogs to Follow
Competition Sites
Where to Write Code
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!