Overview
Machine Learning Courses
University
of Colorado, Boulder
Last
Update
August 2017
Introduction
Machine learning is a subfield of Artificial Intelligence concerned
with developing computer systems that learn and make predictions
from data. Machine learning systems have shown great success
in tasks as varied as recognizing objects in images, understanding
speech, interpreting natural language texts, classifying documents by
content, guiding robots in unfamiliar environments, making product and
movie recommendations to consumers, predicting disease outbreaks,
inferring social relationships from communication patterns, and
anticipating human errors.
Machine learning provides the intelligence underlying fields sometimes
knowns as big data analytics, data science, and data mining.
Machine learning methods are widely used in engineering and
natural science fields to interpret and model data, and is increasingly
coming into play in the social sciences as well.
The University of Colorado at Boulder has a strong group of faculty in
machine learning, spread across multiple academic departments,
including computer science, applied math, electrical engineering, and
psychology.
Graduate Introductory
Course Offerings
The topic of machine learning has exploded in recent years, and a
single graduate-level course cannot fully span the range of methods
used in state-of-the-art applications. We have designed a set of
four
courses that can be taken in any order, depending on a student's
interests and goals. Students wishing to pursue research opportunities
and/or professional careers in machine learning
should consider taking a majority of the four.
CSCI 5352: Network Analysis
and Modeling
This
course
focuses on methods for the methods for the analysis and
modeling the structure and dynamics of complex networks. This course is
distinguished from CSCI 5622 by focusing on data sets that have
relational structure readily represented by networks, an area that has
been all but ignored early in the history of machine learning.
CSCI 5622: Machine Learning
This
course is a survey of traditional techniques for machine
learning, including: decision trees, neural nets, support-vector
machines, boosting, sparse regression, clustering techniques, and
reinforcement learning.
CSCI 5822: Probabilistic Models
This
course provides an in depth introduction to methods in machine learning
that are based on generative models, probabilistic inference,
and nonparametric Bayesian methods. Many but not all machine
learning algorithms can be cast
within the framework of probabilistic generative models.
CSCI 5922: Deep Learning and
Neural Networks
This
course presents an in depth treatment of neural networks, covering the
history of the field from the 1960s to the present wave of enthusiasm
for deep
learning. Neural networks are
particularly effective on problems involving high-dimensional noisy
feature vectors where there is little explicit knowledge of the
processes underlying the generation of these vectors. Application
domains where deep learning and neural nets have been successfully
applied include: object recognition, image classification, speech
understanding, and natural language interpretation.
Graduate Advanced Course
Offerings
CSCI 6622: Advanced Machine
Learning
This
course is focused on semester-long research projects of the student's
choosing, and reading and discussing research articles from the
academic literature. Prerequisite: CSCI 5352, 5622, 5822, or 5922.
CSCI 7000: Algorithmic Economics and Machine Learning
(Spring 2017)
This class will explore topics in algorithmic economics and algorithmic game theory, highlighting connections and applications to theoretical machine learning. The class will alternate between lectures to give adequate background and student presentations on related research papers or additional material. Topics will include algorithmic mechanism design, social choice, online learning, information elicitation, empirical risk minimization, prediction markets, crowdsourcing mechanisms, and differential privacy.
ASEN 6519: Algorithms for Aerospace Autonomy
(Spring 2017)
This advanced grad course will cover modern statistical
learning and AI techniques that allow autonomous systems to successfully
reason under uncertainty. Topics include: probabilistic models,
batch/offline learning, apporximate inference methods, sequential
optimal decision making and dynamic programming, online learning.
ECEN 5322: Analysis of
High-Dimensional Datasets
This
course provides an exposition of the most recent methods for
searching and analyzing high dimensional datasets. The class includes a
project: students will design and implement a content-based music
information retrieval, such as the ones used by Gracenote, Shazam, or
Pandora.
APPM 8500: Statistics, Optimization, and Machine Learning Seminar
This is an upper-level graduate seminar course, meeting once a week. Each
meeting will have presentations from either speakers (external or from
campus), or half-hour presentations from students. Students enrolled in
the class must give a half-hour presentation on either a research topic
(either original research or present a paper).
Related Course Offerings
Machine learning makes contact with many fields. Interested students
may wish to take courses that go into
depth in these related fields. We
list some of the courses our students have taken in the past and have
found valuable.
APPM 5120: Introduction to
Operations Research
APPM 5520: Introduction to
Mathematical Statistics
APPM 5540: Introduction to
Time Series
APPM 5560: Markov Processes,
Queues, and Monte Carlo Simulations
APPM 5570: Statistical Methods
APPM 5720: Advanced Topics in Convex Optimization
ATLS/CSCI XXXX: Interactive machine learning for customizable and expressive interfaces (Spring 2018)
Ben Shapiro, instructor. Course number to be determined.
Course introduces students to techniques
for applying machine learning in the development of customizable
human-computer interfaces. Students will learn to process a variety
of input data (e.g., video and accelerometer stremas) using different
ML algorithms to detect semantically meaningful events that can afford
the construction of new interactive systems.
CSCI 5254: Convex Optimization
CSCI 5502: Data Mining
CSCI 5722: Computer Vision
CSCI 5832: Natural Language
Processing
CSCI 6302: Speech Recognition
and Synthesis
CSCI 7000: Systems and Algorithms for Massive Data Applications
CSCI 7000-010: Mind Reading Machines (Spring 2018)
Sidney D'Mello, instructor.
Can we teach computers how to read peoples' thoughts and feelings to improve engagement, efficiency, and effectiveness? For example, can computers tell when their users are confused or frustrated, mentally zoned out, cognitively overloaded, or in an optimal mental state? This course will teach you how to make computers smarter and more human-like by reading their users' minds (much like we do). In this interdisciplinary research-focused course, you will read, present, and discuss key papers in the fields of affective computing, attentional computing, augmented cognition, and multimodal interaction. You will also apply what you learned by developing your own research project. By the end of the course, you will be knowledgeable about the relevant theories and technologies, have conducted hands-on research in the area, and will have sharpened your critical thinking and scientific discourse skills.
CSCI 7000-008: Human Centered ML (Spring 2018)
Chenhao Tan, instructor.
Machine learning research has been focusing on improving the capability of machines, which sometimes even outperforms humans. In this course, we will center around humans and explore how we can use machine learning to improve human performance in various scenarios. We will cover topics such as interpretable machine learning, machine teaching, cognitive bias, education, accessibility, etc. This is a research focused class. Students are expected to discuss related papers, work on research proposals, and finish a final project on related topics.
PSYC 5175: Computational
Neuroscience
PSYC 7215: Reinforcement
Learning
Course Offering Schedule
What follows is a tentative plan for graduate
level ML instruction for the coming semesters.
FALL 2017: CSCI 5352, CSCI 5622, CSCI 5922
SPRING 2018: CSCI 5622, CSCI 5822, CSCI 7000 (Mind reading machines), CSCI 7000 (Human-centered ML)
Beyond Coursework
Join
the
Machine
Learning at CU Boulder mailing
list and participate in the weekly reading group. The mailing
list is used to announce readings for the week as well as job
postings. The group is open to all CU Boulder undergraduate and
graduate students.
Join the
Data Science Team to gain hands-on experience in machine learning and to participate in
competitions. The group is open to all CU Boulder undergraduate and graduate students.
Many departments and institutes host visiting speakers working in the
area of machine learning. Follow colloquium schedules for
Computer
Science,
Applied Math,
Biofrontiers,
the
Institute of Cognitive Science,
and
Information
Science.
A list of faculty interested in machine learning theory and
applications of machine learning can be found
here.