The BRADLEY DEPARTMENT of ELECTRICAL and COMPUTER ENGINEERING

ECE 4424 Machine Learning | ECE | Virginia Tech

Undergraduate PROGRAMS

Course Information

Description

Algorithms and principles involved in machine learning: focus on perception problems arising in computer vision, natural language processing and robotics; fundamentals of representing uncertainty, learning from data, supervised learning, ensemble methods, unsupervised learning, structured models, learning theory and reinforcement learning; design and analysis of machine perception systems; design and implementation of a technical project applied to real-world datasets (images, text, robotics).

Why take this course?

We are witnessing an explosion in data - from billions of images shared online to Petabytes of tweets, medical records and GPS tracks, generated by companies, users and scientific communities. Applications of machine learning and perception are increasing rapidly as more techniques are developed and implemented to address a wide range of scientific and societal problems. Many universities are expanding programs in machine learning and perception, and employers are increasingly recognizing the importance of such knowledge. The course will give students a solid foundation in the basics of machine learning and an introduction to the opportunities in this rapidly maturing field.

Prerequisites

A grade of C- or better in prerequisites 2574 and STAT 4604 or STAT 4705 or STAT 4714.

2574, and STAT 4604 or STAT 4705 or STAT 4714: The listed prerequisite courses cover relevant material which includes: data-structures, algorithms, complexity and basic concepts of probability and statistics (random variables, expectation, conditional distributions, Bayes rule, sampling distributions, estimators, likelihood, maximum likelihood).

Major Measurable Learning Objectives

  • Analyze and contrast board classes of machine learning algorithms (supervised vs. unsupervised vs. semi-supervised)
  • Describe and apply fundamental concepts of learning from data (maximum likelihood estimation, maximum a posteriori, overfitting vs underfitting, regularization, cross-validation)
  • Explain and program supervised learning algorithms for regression (e.g. least squares via pseudo-inverse)
  • Explain and program supervised learning algorithms for classification (e.g. logistic regression via gradient descent, support vector machines via Quadratic Programming)
  • Describe and program unsupervised learning algorithms for clustering (e.g. kmeans)
  • Design and implement a technical project, and apply developed techniques to real-world datasets (images, text, robotics, etc.)

Course Topics

Topic

Percentage of Course

1. Overview of Machine Learning & Perception: a) Learning from data; b) Overfitting, regularization, cross-validation 5%
2. Supervised Learning: a) Nearest Neighbor; b) Nave Bayes; c) Logistic Regression; d) Support Vector Machines; e) Neural Networks; f) Decision Trees 25%
3. Unsupervised & Semi-Supervised Learning: a) Clustering (K-means, GMMS); b) Factor Analysis (PCA, LDA) 10%
4. Learning Theory: a) Bias and Variance; b) Probably Approximately Correct (PAC) Learning 10%
5. Structured Models: a) Bayesian Networks; b) Hidden Markov Models 10%
6. Reinforcement Learning 10%
7. Applications of ML to Perception: a) Vision; b) Natural Language Processing 15%
8. Design and implementation of a technical project 15%