Offered: Spring 2021, Spring 2022, Spring 2023, Spring 2024, Fall 2024, and Spring 2025
This page contains materials used in the Fundamentals of Machine Learning (FunML) course offered at the Georgia Institute of Technology. The course is a core in the AI Minor within the College of Engineering at Georgia Tech.
Prerequisites include basic understanding of linear algebra, probability, and multi-variable calculus. The curriculum is designed to guide students with no knowledge in Machine Learning to be able to build and interpret deep learning models by the end of the course. The lectures are primarily delivered with tabular and image data as examples.
The course is cross-listed as senior- and graduate-level. Graduate students are required to work on a term project.
Course Objective
An introduction to the fundamentals and applications of Machine Learning.
Textbook
Inprint. (will be published)
Prerequisite
Prerequisite: ECE 2026 [min C] (or equivalent)
Prerequisites with concurrency: ECE 3077 [min C] or ISYE/MATH/CEE 3770 [min C] or MATH 3670 [min C]
Assignments
Assignments: Assignments will have both analytical parts and a hands-on part. The hands-on parts are coding assignments and they will look like mini projects. Students are expected to have some background in Python. Students will utilize the AI Makerspace for their codes in this course. These hands-on assignments vary between adding to existing codes, writing codes from scratch, searching the literature for codes for a specific application, or summarizing papers in the literature.
Programming Language
Programming Language: We will utilize Python throughout the course. We will also utilize a library of Jupyter notebooks in Georgia Tech’s AI Makerspace and Google Colab.
Topical Outline
- Overview
- History of Pattern recognition, Development of an ANN
- Types of Learning i.e., Supervised, Semi-supervised, Weakly supervised, Un-supervised
- General features of a supervised learning system i.e. features, training/validation set, labels, model complexity and overfitting etc.
- Simple overview of Optimization
- Classification
- Discriminative vs Generative modeling
- Algorithms: Nearest Neighbors, Logistic Regression, Decision Trees, Random Forest, SVM, ANN
- Classification Performance Evaluation
- Cross-Validation using k-fold, Confusion Matrix, Precision, Recall, and F1 score, ROC,
- A set of hand-on exercises on Colab
- Regression:
- Linear Regression
- Linear Regression, Performance Measures
- Cost Function
- Polynomial Regression
- High Degree Polynomial Regression
- Regularized Linear Models
- Lasso vs. Ridge Regularization (L1/L2 regularization)
- Dealing with high dimensional feature space – PCA
- A set of hand-on exercises on Colab
- Linear Regression
- Clustering
- Introduction
- Proximity Measures
- Similarity vs. Dissimilarity
- Distance Measures
- Common Clustering Methods
- k-Means, GMM, Mean-shift, Spectral Clustering
- Evaluating Clustering Performance
- Image Segmentation as a clustering problem
- A set of hand-on exercises on Colab
- Neural Networks
- Introduction to Artificial Neural Network:
- Artificial Neuron
- PyTorch
- Non-linearity, Activations, Losses
- ConvNets
- convolutional layer, pooling, FC, training
- Boosting, Bagging, Stacking
- Transfer learning
- Data augmentation
- A set of hand-on exercises on Colab
- Introduction to Artificial Neural Network:
- Autoencoders
- Fully Connected autoencoders, Conv AE, VAE
- A set of hand-on exercises on Colab
- Sequence Modeling
- RNN
- GRU and LSTMs
- Word embedding, Attention
- Data Efficient Learning
- Active Learning
- Self-supervised Learning
- Weakly supervised Learning
- Advanced Topics
- Explainability (XAI)
- Uncertainty estimation
- Anomaly detection
- Robustness in Neural Network
Term Projects
Spring 2022 | Spring 2023 | Fall 2024
Lectures
Lecture 1: Intro
Slides | Notes | Spring ’24 Recording
Lecture 2: Intro to Classification
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 3: Classifiers
Slides | Notes | Spring ’23 Recording
Lecture 4: Classifiers
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 5: Classifiers (Introduction to Neural Networks)
Slides | Notes | Spring ’22 Recording | Spring ’24 Recording
Lecture 6: Classification Performance Evaluation
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 7: Linear Regression
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 8: Polynomial Regression
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 9: Regularization and Performance Metrics
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 10: Clustering
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 11: Clustering
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 12: Clustering
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 13: Neural Networks
Slides | Notes | Spring ’22 Recording | Spring ’24 Recording
Lecture 14: Convolutional Neural Networks
Slides | Notes | Spring ’24 Recording
Lecture 15: CNN Architectures
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 16: Convolutional Neural Networks Training
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording part 1 & 2
Lecture 17: CNNs – Best Practices
Slides | Notes | Spring ’23 Recording
Lecture 18: Autoencoders
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 19: VAEs
Slides | Notes | Spring ’24 Recording
Lecture 20: Sequential Modeling
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 21: Sequential Modeling
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 22: Explainability
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 23: Explainability Paradigms
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 24: Anomaly Detection
Slides | Notes | Spring ’22 Recording | Spring ’23 Recording | Spring ’24 Recording
Lecture 25: Active Learning
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 26: Self-Supervised Learning
Slides | Notes | Spring ’23 Recording | Spring ’24 Recording
Lecture 27: Uncertainty Estimation
Slides | Notes | Spring ’23 Recording
Acknowledgment
The following collaborators have been an integral part of the course development at various stages of the course development from 2018 through 2025:
The following Teaching Assistants (TAs) have done remarkable job during their assignment to the course: