I'm just getting started with Andrew Ng's Machine Learning wherein he explained the example of the cocktail party problem vs the gene clustering problem in order to explain the difference between clustering and non clustering problems within unsupervised learning itself. However I still don't understand the difference between the two. Can someone please help clarify.


Both of the examples are clustering examples. Clustering is about grouping of similar dataset when one is not given the data.

In the gene problem,

  • One possible setting is you are given the DNA micro-array data. Your task is to learn how many types of people are there. This is an unsupervised learning problem, we are not given the labels. We just group people with similar type of genes together.

In the cocktail party problem:

  • There are two people in a room and there are microphones. We just record the audio and pass it to an algorithm and tell the algorithm, hey, learn the pattern if there is any. Each individual might have their own speech pattern/ language/accent. The algorithm pick it up on its own such pattern and detect that there are two people in the room and they can distinguish the speeches of the two people.

Let me give you an example of a non-clustering example.

For example, a question of interest is to detect anomaly. For example, what you are given could be thr normal operating state of a machine, say their sensor readings. From those readings, you have to learn what is normal for the machine and you have to figure out when you are given a new data point, should it be considered normal.

  • $\begingroup$ Actually I wanted to know the difference between clustering and non clustering problems within unsupervised learning itself. Can you help clear that? Sorry if it wasn't clear from the question. $\endgroup$ May 11 '19 at 17:53
  • $\begingroup$ All those examples are clustering examples.... I have provided a non-clustering unsupervised learning example, the task given is no longer about grouping of data set into a few cluster. $\endgroup$ May 11 '19 at 18:04
  • $\begingroup$ Mr.Siong Thye Goh I believe the example you have given is related to supervised learning where you are teaching the machine what is right and what is wrong and then expected it to predict for new data. The question is about the types of unsupervised learning. Correct me If I am wrong. Thanks $\endgroup$
    – Saad Ali
    Jul 8 '19 at 17:48
  • $\begingroup$ These examples do not have labels, they are unsupervised. $\endgroup$ Jul 9 '19 at 0:56

Actually, the Cocktail Party algorithm is non-clustering.

"Non-clustering: The "Cocktail Party Algorithm", allows you to find structure in a chaotic environment. (i.e. identifying individual voices and music from a mesh of sounds at a cocktail party)."


okay so there is an argument about wether or not the coctail party problem algorithm↨is a non-clustring or a clustering problem while i might not be qualified to answer such question, I tried to research and ask experts and here is what I found.

clustering problems:the algorithms do not transform or change the data(just like in the gene problems the genes themselves don't get altered), it just groups them according to some characteristics(with the gene problem into diffrent kinds or types of genes). However, in non-clustering problems, the algorithm is transforming the data/input and it alters data. and trusting professor Andrew NG's word (as a top instructor and professor in his field) that the coctail party problem is a non-clustering problem we can see why now, because it alters the data, in this case the voice so that it is more clear to the ear ,in fact it alters it twice once to get the first voice and the second to get the second voice.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.