An agent is intelligent if it perceives its environment and takes actions that maximize its chances of successfully achieving its goals. In this course, we will study how to imbue machines with intelligence, focusing on foundational principles and mathematical theories of real-world modeling, problem solving and statistical learning. We will borrow strategies from biological intelligence such as neural networks and reinforcement learning. Students will learn powerful concepts from decision theory, information theory, generative models, deep learning, dimensionality reduction, expectation-maximization, time-series prediction, control theory and machine reasoning, and will exploit software tools for building intelligent systems.

Learning Objectives

  1. Acquire a basic understanding in the fundamental concepts and principles of machine learning; decision theory, information theory, model selection, time series prediction, machine reasoning
  2. Understand and apply methods in supervised learning and generative models;
    generalized linear models, kernel methods, graphical models
  3. Understand and apply concepts in unsupervised learning and dimensionality reduction; autoencoders, matrix factorization, expectation-maximization, latent variables, mixture models
  4. Understand and apply techniques in reinforcement learning; Kalman filters, Q-learning
  5. Acquire a working knowledge of neural networks and backpropagation, and extend the techniques learnt to analyze standard deep learning models such as convolutional neural networks and recurrent neural networks

Measurable Outcomes

  1. Design suitable mathematical models for real-world problems.
  2. Build intelligent systems by composing appropriate algorithms.
  3. Critique the strengths and weaknesses of different solutions.

12 Credits


Co-Requisites: Programming (preferably Python)

Pre-Requisites (for Exchange Students): Calculus, Linear Algebra and Programming (preferably Python)