Credits: 3

Semesters Offered

Spring 2018, Spring 2019, Fall 2019, Spring 2020

Additional Course Information

Course description:

The ever-growing dimensions of modern-day data have created critical challenges in various fields of natural sciences and engineering in recent years. In the context of engineering, these challenges range from storage and privacy considerations to data mining and signal processing bottlenecks, and have initiated a paradigm shift towards data-centric solutions, often referred to as “Data Science”. In particular, approaches based on Machine Learning (ML) play a central role in this new paradigm, due to their ability to harness the sheer dimensionality of data, and have proven successful in numerous applications such as medical imaging, computer vision, recommender systems, and neural engineering. 
This course provides a broad introduction to the foundations of ML, as well as hands-on experience in applying ML algorithms to real-world data sets. Topics include various techniques in supervised and unsupervised learning, as well as applications to computer vision, data mining, and speech recognition.
Course prerequisites:
ENEE324 or STAT400, Programming skills in Matlab, C+, or Python

Course objectives:

1) Learning the mathematical foundations of the field of machine learning 

2) Gaining insight on how to pose various problems in data analysis in the framework of machine 
3) Implementing classical and state-of-the-art machine learning algorithms on real-world data sets 


Core topics:

1) Bayesian learning and classification
2) Parametric/non-parametric learning
3) Discriminant functions 
4) Perceptron and Support Vector Machines
5) Neural networks
6) Deep learning
7) Unsupervised learning and clustering
8) Dimensionality reduction
9) Expectation-Maximization theory
10) Hidden Markov models