ECE 4252/8803 – Fundamentals of Machine Learning (FunML)

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
  • 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
  • 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:

  • Dr. Mohit Prabhushankar
  • Dr. Ahmad Mustafa
  • Dr. Chen Zhou
  • Dr. Motaz Alfarraj
  • Dr. Ashraf Alattar
  • The following Teaching Assistants (TAs) have done remarkable job during their assignment to the course:

  • Kuo-Wei Lai
  • Wuyang Du
  • Shiva Mahato
  • Print Friendly, PDF & Email