Chevron Left
Back to Machine Learning: Clustering & Retrieval

Learner Reviews & Feedback for Machine Learning: Clustering & Retrieval by University of Washington

2,124 ratings
368 reviews

About the Course

Case Studies: Finding Similar Documents A reader is interested in a specific news article and you want to find similar articles to recommend. What is the right notion of similarity? Moreover, what if there are millions of other documents? Each time you want to a retrieve a new document, do you need to search through all other documents? How do you group similar documents together? How do you discover new, emerging topics that the documents cover? In this third case study, finding similar documents, you will examine similarity-based algorithms for retrieval. In this course, you will also examine structured representations for describing the documents in the corpus, including clustering and mixed membership models, such as latent Dirichlet allocation (LDA). You will implement expectation maximization (EM) to learn the document clusterings, and see how to scale the methods using MapReduce. Learning Outcomes: By the end of this course, you will be able to: -Create a document retrieval system using k-nearest neighbors. -Identify various similarity metrics for text data. -Reduce computations in k-nearest neighbor search by using KD-trees. -Produce approximate nearest neighbors using locality sensitive hashing. -Compare and contrast supervised and unsupervised learning tasks. -Cluster documents by topic using k-means. -Describe how to parallelize k-means using MapReduce. -Examine probabilistic clustering approaches using mixtures models. -Fit a mixture of Gaussian model using expectation maximization (EM). -Perform mixed membership modeling using latent Dirichlet allocation (LDA). -Describe the steps of a Gibbs sampler and how to use its output to draw inferences. -Compare and contrast initialization techniques for non-convex optimization objectives. -Implement these techniques in Python....

Top reviews


Aug 25, 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.


Jan 17, 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.

Filter by:

251 - 275 of 356 Reviews for Machine Learning: Clustering & Retrieval

By Alan B

Jul 03, 2020



Nov 12, 2017


By Iñigo C S

Aug 08, 2016


By Mr. J

May 23, 2020


By Zihan W

Aug 21, 2020


By Bingyan C

Dec 27, 2016


By Cuiqing L

Nov 05, 2016


By Job W

Jul 23, 2016



Aug 21, 2020


By Vaibhav K

Sep 29, 2020



Aug 13, 2020


By Frank

Nov 23, 2016


By Pavithra M

May 24, 2020


By Alexandre

Oct 23, 2016


By Nagendra K M R

Nov 11, 2018


By Suneel M

May 09, 2018


By Lalithmohan S

Mar 26, 2018


By Ruchi S

Jan 24, 2018


By Kevin C N

Mar 26, 2017


By Asifur R M

Mar 19, 2017

For me, this was the toughest of the first four courses in this specialization (now that the last two are cancelled, these are the only four courses in the specialization). I'm satisfied with what I gained in the process of completing these four courses. While I've forgotten most of the details, especially those in the earlier courses, I now have a clearer picture of the lay of the land and am reasonably confident that I can use some of these concepts in my work. I also recognize that learning of this kind is a life-long process. My plan next is to go through [], which, based on my reading of the first chapter, promises to be an excellent way to review and clarify the concepts taught in these courses.

What I liked most about the courses in this specializations are: good use of visualization to explain challenging concepts and use of programming exercises to connect abstract discussions with real-world data. What I'd have liked to have more of is exercises that serve as building blocks -- these are short and simple exercises (can be programming or otherwise) that progressively build one's understanding of a concept before tackling real-world data problems. edX does a good job in this respect.

My greatest difficulty was in keeping the matrix notations straight. I don't have any linear algebra background beyond some matrix mathematics at the high school level. That hasn't been much of a problem in the earlier three courses, but in this one I really started to feel the need to gain some fluency in linear algebra. [There's an excellent course on the subject at edX: and I'm currently working through it.]

Regardless of what various machine learning course mention as prerequisites, I think students would benefit from first developing a strong foundation in programming (in this case Python), calculus, probability, and linear algebra. That doesn't mean one needs to know these subjects at an advanced level (of course, the more the better), but rather that the foundational concepts are absolutely clear. I'm hoping this course at Coursera would be helpful in this regard:

By Kostyantyn B

Nov 07, 2017

A high quality, intermediate difficulty level course. The instructors are obviously very knowledgeable in this field and strive to pass their knowledge and skills onto the students. One of the major advantages in my opinion, is the fact that the authors decided to include a number of advanced topics, which you normally don't find in an introductory level course on the Unsupervised Learning. The exercises seem to revolve mainly around the Natural Language Processing, which is fine by me, for two reasons. First, it is a very challenging part of the Machine Learning. Second, NLP is in high demand in the industry. So, I see no downsides here. Plus, there is only so much one can squeeze in a 6-week course...

I would however like to mention that I wasn't entirely happy with the way the Latent Dirichlet Allocation and the Gibbs Sampling were explained. This was the first time I heard about these techniques and I found them fascinating. I understand that these are challenging topics that require a more advanced math for a serious discussion. But I still think it would be worth including perhaps an optional video and/or exercise to go deeper into this subject. I am sure some students would appreciate it; I know I would...

In summary, it is a great course to take. It will help you better understand the theoretical foundations and boost your practical skills in the Unsupervised Learning.


Aug 12, 2016

The things I liked:

-The professor seems very knowledgeable about all the subjects and she also can convey them in a very understandable way (kudos to her since talking to a camera is not easy)

-The course was well organized and the deadlines were adjusted when a technical difficulty was found by several students

-All the assignments are easy to follow and very detailed

-The testing code provided for the programming assignments is a huge help to make sure we are solving it the right way

What can be improved:

-Some of the concepts during weeks 4 and 5 seemed a bit rushed. Although the professor explained that some details were outside of the scope of this course, I felt that I needed a more thorough explanation in order to understand better

-Some links to the documentation of libraries used in the programming assignments were lacking information on how to really use them, I wish we had some other link to worked examples too

In general I can say this was another good course for this series. Making a course like this is not easy at all and I can see that they are putting a lot of effort to produce them. All of their hard work is really appreciated on my end.

By Liang-Yao W

Aug 24, 2017

This course is generally good, but I do feel less smoothly guided compared to the other courses in this specialization. For most modules of this course (other than the LDA part), the lecture videos are clear as before but the programming assignments are more demanding. You will probably need helps from google, at least for the usage of graphlab's functions. But as long as you are not completely new to programming and python, you should be able to work it out fine.

However, for the module introducing the LDA model and Gibbs sampling, I find it difficult to follow. The lecturer tried to convey the concepts and intuitions without presenting the step-by-step algorithm, probably because they are too involved. But personally, I would prefer still have them to think over even if I can not understand them now.

It is also a pity that the one other course and the capstone project originally planned of this specialization are not launched in the end. I do believe the lectures will provide high-quality course content and introduce them with passion.

By Matt S

Nov 10, 2016

I found that Week 4, Assignment 2 was testing our knowledge in ways that are in opposition to the general ethos of the course.

I mean that this course is about gaining insight, intuition and the practical tools for ML, where the smaller details like - knowing which numpy function gives you a random univariate normal distribution - are normally provided for us, so that we can focus on the aforementioned broader, more useful aspects of ML/Clustering.

The assignment had good content on the whole but the parts which were chosen for "write code here" could certainly be improved.

I hope this is useful feedback and that the assignment is reviewed so that it doesn't needlessly discourage people.

By Muhammad U I

Dec 29, 2016

I am taking all courses in the specialization, and this is my fourth. I have been having a great time with materials by both instructors so far, until I came to week 5 of this course.

Despite repeated viewing, my understanding of LDA is non-existent. The first section is fine, but starting from "Bayesian inference via Gibbs sampling," for me at least, the method of instruction has gone off a cliff.

I strongly suggest soliciting feedback from learners that narrowly targets the material of this week 5 to determine if it's just me or if this is a wider problem. If it is the latter, perhaps it is time to redesign the lessons of this week.