Welcome to the Machine Learning 101 Course! This course is designed to provide you with a solid foundation in machine learning, starting from the fundamentals and progressing to more advanced topics. Whether you're a beginner or someone looking to refresh their knowledge, this course will help you understand the core concepts and techniques used in machine learning.
- Course Description
- Prerequisites
- Course Outline
- Getting Started
- Course Structure
- Resources
- Contact Information
Machine learning is a rapidly evolving field that plays a crucial role in various domains such as finance, healthcare, marketing, and more. This course will introduce you to the fundamental concepts of machine learning and guide you through building a strong understanding of key techniques.
We will start with the basics, including linear regression, and gradually move towards more advanced topics like simple neural networks. By the end of this course, you will have the knowledge and skills to apply machine learning algorithms to real-world problems and kickstart your journey in the field of artificial intelligence.
We believe in learning by doing, hence almost all lessons have a practical exercise in them. In addition, some lessons have a problem that you should try to solve after going through the content for that lesson.
To get the most out of this course, you should have:
- A basic understanding of mathematics
- A curious and problem-solving mindset.
We will be using Python and Jupyter Notebooks throughout the course, so it would be best if you have some experience with programming, especially in Python.
- What is Machine Learning?
- Types of Machine Learning (Supervised, Unsupervised, Reinforcement)
- Train your first model!
- Understanding Linear Regression
- Multi-dimensional problems
- Model Evaluation (RMSE)
- Data cleaning
- Categorical values
- Boolean features
- Handling blank values
- Cost functions
- Feature engineering
- Underfitting and Overfitting
- Logistic Regression
- Evaluation (accuracy, precision and recall)
- Decision Tree Classifiers
- Gini vs Entropy
- Decision Tree Visualisation
- Grid search
- Cross validation
- Decision trees
- Unstructured data
- Text classification (compare with DTree)
- Perceptrons
- Hidden layers
- Activation functions
- Neural Networks
- MNIST Hands-on
- Discussion about reinforcement learning
- Using generative models (LLMs)
- Explore clustering, recommender systems and image generation models
- Work with Diffusion models and GANs
To begin the course, follow these steps:
If you are using Visual Studio Code:
- Clone or download this repository to your local machine.
- Install Python and the required libraries (NumPy, Pandas, Matplotlib, Scikit-Learn).
- Start with Lesson 1 and work through the lessons sequentially.
- Solve the problems as you progress through the course.
- Leave a comment for any questions!
- Each Lesson consists of a YouTube video explaining the theory and code examples in this repository.
- Some lessons will have problems for you to try after the lesson, described in problem.md.
- Under each lesson, there is a README.md. Refer to that for the YouTube link and for some basic information.
- The resources folder in each lesson contains the slideshow (.pptx) for reference.
- The topics.md in the Further Reading folder has various topics for you to explore. Videos and resources related to those topics are linked.
If you have any questions or need assistance, leave a comment on Github or YouTube, and I will try to answer as soon as possible.
I hope you enjoy this Machine Learning 101 Course and find it valuable in your journey to becoming a machine learning practitioner. Happy learning!