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.


An introduction to the fundamentals and applications of Machine Learning.

Textbook: Inprint. (will be published)

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

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

Slides | Notes | Video Recording

Lecture 2:

Slides | Notes | Video Recording

Lecture 3: Support Vector Machines (SVM)

Slides | Notes | Video Recording

Lecture 4: ANNs

Slides | Notes | Video Recording

Lecture 5:

Slides | Notes | Video Recording

Lecture 6:

Slides | Notes | Video Recording

Lecture 7:

Slides | Notes | Video Recording

Lecture 8:

Slides | Notes | Video Recording

Lecture 9:

Slides | Notes | Video Recording

Lecture 10:

Slides | Notes | Video Recording

Lecture 11:

Slides | Notes | Video Recording

Lecture 12:

Slides | Notes | Video Recording

Lecture 13:

Slides | Notes | Video Recording

Lecture 14:

Slides | Notes | Video Recording

Lecture 15:

Slides | Notes | Video Recording

Lecture 16:

Slides | Notes | Video Recording

Lecture 17:

Slides | Notes | Video Recording

Lecture 18:

Slides | Notes | Video Recording

Lecture 19:

Slides | Notes | Video Recording

Lecture 20:

Slides | Notes | Video Recording

Lecture 21:

Slides | Notes | Video Recording

Lecture 22:

Slides | Notes | Video Recording

Lecture 23:

Slides | Notes | Video Recording

Lecture 24:

Slides | Notes | Video Recording

Lecture 25:

Slides | Notes | Video Recording

Lecture 26:

Slides | Notes | Video Recording

Lecture 27:

Slides | Notes | Video 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