I have an ML problem where I have a large data set and in this data set there are N categories. We have no labels. I want to be able to take this data set and use it to train a neural network to classify new instances. To this end, I believe I have to run an unsupervised learning algorithm like K-means and get the categories. This forms a set, Cat which I want to inspect by hand and give all the nice labels for so they are human readable. Then I want use this set of classified examples as a set of labelled data. I will then train a neural network to classify according to this set of labelled data. Does this make sense? Is there a single algorithm that can do this?

Someone has pointed out that, without labels, only an unsupervised algorithm is useful. What I am wondering is the following, and it is a dumb question: After I have ran k-means and classified N samples, can I use this to quickly determine the class that a new sample is in?

  • 1
    $\begingroup$ You do not have labels. Hence, such a learning is unsupervised learning. For supervised learning, you need to find the value of N classes. For a large dataset, it may be difficult, but is the only solution if you need supervised learning. $\endgroup$ – user234584 Mar 4 at 5:35
  • 1
    $\begingroup$ Are you asking how to use $k$-means to classify new data? Or are you asking whether you can use $k$-means to attribute labels to unlabeled data, and then use these newly-labeled data in a supervised classifier? $\endgroup$ – Sycorax Mar 4 at 15:22
  • $\begingroup$ @Sycorax Hi! Your second point is what I originally wanted, I want to "use these newly-labled data in a supervised classifier". Is this possible? $\endgroup$ – user442920 Mar 4 at 15:31
  • 1
    $\begingroup$ No one's going to call the police on you, but one problem you'll face is that there will inevitably be errors in the labels you generate using $k$-means. $k$-means produces clusters, and somehow a human will have to assign a label to the cluster ("cluster 4 is dogs"), and that cluster will inevitably have some cats, hamsters and peacocks in it. Then you're training a classifier on unreliable data, which will make the classifier that much worse. Garbage in, garbage out. $\endgroup$ – Sycorax Mar 4 at 15:35
  • 1
    $\begingroup$ The standard way to solve this problem is to have humans label your data. $\endgroup$ – Sycorax Mar 4 at 15:38

Your Answer

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

Browse other questions tagged or ask your own question.