This repository contains my learning resources, notes, and lab materials from Andrew Ng's Machine Learning Specialization. It serves as a personal knowledge base and reference for my machine learning journey.
The repository is organized into three main folders:
Course Overview: If you want to break into cutting-edge AI, this course will help you do so. Deep learning engineers are highly sought after, and mastering deep learning will give you numerous new career opportunities. Deep learning is also a new "superpower" that will let you build AI systems that just weren't possible a few years ago.
Course Objectives:
- Build machine learning models in Python using popular machine learning libraries NumPy and scikit-learn
- Build and train supervised machine learning models for prediction and binary classification tasks, including linear regression and logistic regression
- Learn the difference between supervised and unsupervised learning and regression and classification tasks
- Build a linear regression model
- Implement and understand the purpose of a cost function
- Implement and understand how gradient descent is used to train a machine learning model
- Build and train a regression model that takes multiple features as input (multiple linear regression)
- Implement and understand the cost function and gradient descent for multiple linear regression
- Implement and understand methods for improving machine learning models by choosing the learning rate, plotting the learning curve, performing feature engineering, and applying polynomial regression
- Implement and understand the logistic regression model for classification
- Learn why logistic regression is better suited for classification tasks than the linear regression model
- Implement and understand the cost function and gradient descent for logistic regression
- Understand the problem of "overfitting" and improve model performance using regularization
- Implement regularization to improve both regression and classification models
Course Objectives:
- Build and train a neural network with TensorFlow to perform multi-class classification
- Apply best practices for machine learning development so that your models generalize to data and tasks in the real world
- Build and use decision trees and tree ensemble methods, including random forests and boosted trees
- Build a neural network for binary classification of handwritten digits using TensorFlow
- Gain a deeper understanding by implementing a neural network in Python from scratch
- Optionally learn how neural network computations are "vectorized" to use parallel processing for faster training and prediction
- Build a neural network to perform multi-class classification of handwritten digits in TensorFlow, using categorical cross-entropy loss functions and the softmax activation
- Learn where to use different activation functions (ReLu, linear, sigmoid, softmax) in a neural network
- Use the advanced "Adam optimizer" to train your model more efficiently
- Discover the value of separating your data set into training, cross-validation, and test sets
- Choose from various versions of your model using a cross-validation dataset
- Use "learning curves" to determine if your model is experiencing high bias or high variance
- Learn how the "bias-variance trade-off" is different in the age of deep learning
- Learn to apply the "iterative loop" of machine learning development
- Apply "data-centric AI" to tune your data using data synthesis or data augmentation
- Build decision trees and tree ensembles, such as random forest and XGBoost
- Learn when to use neural network or tree ensemble models for your task
Course Objectives:
- Use unsupervised learning techniques including clustering and anomaly detection
- Build recommender systems with collaborative filtering and content-based deep learning methods
- Build a deep reinforcement learning model
- Implement K-mean clustering
- Implement anomaly detection
- Learn how to choose between supervised learning or anomaly detection
- Build a recommender system using collaborative filtering
- Build a recommender system using a content-based deep learning method
- Build a deep reinforcement learning model (Deep Q Network)
This repository is continuously updated as I progress through my learning journey in AI and Machine Learning. The materials are gathered from Andrew Ng's Machine Learning Specialization course and supplemented with additional resources and personal notes.