About this Course
38,363 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 48 hours to complete

Suggested: 6 weeks of study, 5-8 hours/week...


Subtitles: English, Korean, Arabic

Skills you will gain

Data Clustering AlgorithmsK-Means ClusteringMachine LearningK-D Tree

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 48 hours to complete

Suggested: 6 weeks of study, 5-8 hours/week...


Subtitles: English, Korean, Arabic

Syllabus - What you will learn from this course

1 hour to complete


Clustering and retrieval are some of the most high-impact machine learning tools out there. Retrieval is used in almost every applications and device we interact with, like in providing a set of products related to one a shopper is currently considering, or a list of people you might want to connect with on a social media platform. Clustering can be used to aid retrieval, but is a more broadly useful tool for automatically discovering structure in data, like uncovering groups of similar patients.<p>This introduction to the course provides you with an overview of the topics we will cover and the background knowledge and resources we assume you have.

4 videos (Total 25 min), 4 readings
4 videos
Course overview3m
Module-by-module topics covered8m
Assumed background6m
4 readings
Important Update regarding the Machine Learning Specialization10m
Slides presented in this module10m
Software tools you'll need for this course10m
A big week ahead!10m
4 hours to complete

Nearest Neighbor Search

We start the course by considering a retrieval task of fetching a document similar to one someone is currently reading. We cast this problem as one of nearest neighbor search, which is a concept we have seen in the Foundations and Regression courses. However, here, you will take a deep dive into two critical components of the algorithms: the data representation and metric for measuring similarity between pairs of datapoints. You will examine the computational burden of the naive nearest neighbor search algorithm, and instead implement scalable alternatives using KD-trees for handling large datasets and locality sensitive hashing (LSH) for providing approximate nearest neighbors, even in high-dimensional spaces. You will explore all of these ideas on a Wikipedia dataset, comparing and contrasting the impact of the various choices you can make on the nearest neighbor results produced.

22 videos (Total 137 min), 4 readings, 5 quizzes
22 videos
1-NN algorithm2m
k-NN algorithm6m
Document representation5m
Distance metrics: Euclidean and scaled Euclidean6m
Writing (scaled) Euclidean distance using (weighted) inner products4m
Distance metrics: Cosine similarity9m
To normalize or not and other distance considerations6m
Complexity of brute force search1m
KD-tree representation9m
NN search with KD-trees7m
Complexity of NN search with KD-trees5m
Visualizing scaling behavior of KD-trees4m
Approximate k-NN search using KD-trees7m
Limitations of KD-trees3m
LSH as an alternative to KD-trees4m
Using random lines to partition points5m
Defining more bins3m
Searching neighboring bins8m
LSH in higher dimensions4m
(OPTIONAL) Improving efficiency through multiple tables22m
A brief recap2m
4 readings
Slides presented in this module10m
Choosing features and metrics for nearest neighbor search10m
(OPTIONAL) A worked-out example for KD-trees10m
Implementing Locality Sensitive Hashing from scratch10m
5 practice exercises
Representations and metrics12m
Choosing features and metrics for nearest neighbor search10m
Locality Sensitive Hashing10m
Implementing Locality Sensitive Hashing from scratch10m
2 hours to complete

Clustering with k-means

In clustering, our goal is to group the datapoints in our dataset into disjoint sets. Motivated by our document analysis case study, you will use clustering to discover thematic groups of articles by "topic". These topics are not provided in this unsupervised learning task; rather, the idea is to output such cluster labels that can be post-facto associated with known topics like "Science", "World News", etc. Even without such post-facto labels, you will examine how the clustering output can provide insights into the relationships between datapoints in the dataset. The first clustering algorithm you will implement is k-means, which is the most widely used clustering algorithm out there. To scale up k-means, you will learn about the general MapReduce framework for parallelizing and distributing computations, and then how the iterates of k-means can utilize this framework. You will show that k-means can provide an interpretable grouping of Wikipedia articles when appropriately tuned.

13 videos (Total 79 min), 2 readings, 3 quizzes
13 videos
An unsupervised task6m
Hope for unsupervised learning, and some challenge cases4m
The k-means algorithm7m
k-means as coordinate descent6m
Smart initialization via k-means++4m
Assessing the quality and choosing the number of clusters9m
Motivating MapReduce8m
The general MapReduce abstraction5m
MapReduce execution overview and combiners6m
MapReduce for k-means7m
Other applications of clustering7m
A brief recap1m
2 readings
Slides presented in this module10m
Clustering text data with k-means10m
3 practice exercises
Clustering text data with K-means16m
MapReduce for k-means10m
3 hours to complete

Mixture Models

In k-means, observations are each hard-assigned to a single cluster, and these assignments are based just on the cluster centers, rather than also incorporating shape information. In our second module on clustering, you will perform probabilistic model-based clustering that provides (1) a more descriptive notion of a "cluster" and (2) accounts for uncertainty in assignments of datapoints to clusters via "soft assignments". You will explore and implement a broadly useful algorithm called expectation maximization (EM) for inferring these soft assignments, as well as the model parameters. To gain intuition, you will first consider a visually appealing image clustering task. You will then cluster Wikipedia articles, handling the high-dimensionality of the tf-idf document representation considered.

15 videos (Total 91 min), 4 readings, 3 quizzes
15 videos
Aggregating over unknown classes in an image dataset6m
Univariate Gaussian distributions2m
Bivariate and multivariate Gaussians7m
Mixture of Gaussians6m
Interpreting the mixture of Gaussian terms5m
Scaling mixtures of Gaussians for document clustering5m
Computing soft assignments from known cluster parameters7m
(OPTIONAL) Responsibilities as Bayes' rule5m
Estimating cluster parameters from known cluster assignments6m
Estimating cluster parameters from soft assignments8m
EM iterates in equations and pictures6m
Convergence, initialization, and overfitting of EM9m
Relationship to k-means3m
A brief recap1m
4 readings
Slides presented in this module10m
(OPTIONAL) A worked-out example for EM10m
Implementing EM for Gaussian mixtures10m
Clustering text data with Gaussian mixtures10m
3 practice exercises
EM for Gaussian mixtures18m
Implementing EM for Gaussian mixtures12m
Clustering text data with Gaussian mixtures8m
290 ReviewsChevron Right


started a new career after completing these courses


got a tangible career benefit from this course

Top reviews from Machine Learning: Clustering & Retrieval

By BKAug 25th 2016

excellent material! It would be nice, however, to mention some reading material, books or articles, for those interested in the details and the theories behind the concepts presented in the course.

By JMJan 17th 2017

Excellent course, well thought out lectures and problem sets. The programming assignments offer an appropriate amount of guidance that allows the students to work through the material on their own.



Emily Fox

Amazon Professor of Machine Learning

Carlos Guestrin

Amazon Professor of Machine Learning
Computer Science and Engineering

About University of Washington

Founded in 1861, the University of Washington is one of the oldest state-supported institutions of higher education on the West Coast and is one of the preeminent research universities in the world....

About the Machine Learning Specialization

This Specialization from leading researchers at the University of Washington introduces you to the exciting, high-demand field of Machine Learning. Through a series of practical case studies, you will gain applied experience in major areas of Machine Learning including Prediction, Classification, Clustering, and Information Retrieval. You will learn to analyze large and complex datasets, create systems that adapt and improve over time, and build intelligent applications that can make predictions from data....
Machine Learning

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.