0
$\begingroup$

Here is the context of my problem: I want to classify between to classes. However, I have at disposal only non labeled data to do the training (the test set possess all labels for evaluation purposes). My approach is the following:

  1. I first use a clustering method to create as many clusters as needed. The method is of little importance, as I let the algorithm choose the best amount of clusters (elbow method for Kmeans, parameter selection for DBSCAN... you name it). The result is between 3-10 clusters created
  2. Then I use what would you could call an "expert opinion". As I have some knowledge about the data set, I assign all created clusters to one of the two initial classes, thus creating a labeled data set.
  3. Finally, I perform classification with the created data set as the training set. From there, I am able to get a confusion matrix to evaluate my model (As said before, the test set is different from training set).

Some could say that it is possible to remove the first step, as it would be possible to classify each sample with an expert. That is true, but way faster to classify few clusters than thousands of samples. The drawback is that some sample are labeled incorrectly.

So in what area would fall this method ? My opinion is that it could be called "self-supervised", but from what I read on wikipedia, self-supervised is limited to neural networks. Is that really it ? I think it might also fall inside a special case of semi-supervised, after all it is exaclty between supervised and unsupervised. But... meh. Not convinced.

What do you think ?

$\endgroup$
1
  • $\begingroup$ Probably your initial steps could be pre-processing for supervised learning however guided by an expert. Self-supervised learning works differently, it is an approach to predict unobserved data from observed data in general, see FAIR post or Yann LeCunn's talk here. $\endgroup$ Commented Apr 15, 2022 at 10:52

1 Answer 1

1
$\begingroup$

Let me briefly rephrase what you stated:

  1. Cluster unlabeled data into cluster (using (H)DBSCAN, KMeans, ...)
  2. Assign the clusters to classes (using domain knowledge)
  3. Train a classifier based on the preprocessed data

Based on this I would argue that this falls under supervised learning, because step 1 and 2 are purely data preprocessing steps (see [1] for a definition of data preprocessing). Only the last step, where you actually train the classifier using labelled data, I would put as "machine-learning".

$\endgroup$
5
  • $\begingroup$ Yep, that is exactly it. Oh yeah, I didn't think about the possibility of classic supervised learning. However, I am not totally convinced by the first part is a pre-processing step. Regarding the reference you gave me, pre-processing is more about modifying the values of a sample, and not the labels. Maybe the reference is not exhaustive, and this perfectly fits the definition of pre-processing. Otherwise, wouldn't it be possible to call all clustering methods pre-processing, as the goal is to regroup (therefore giving labels) to similar samples ? $\endgroup$
    – Adrien
    Commented Apr 16, 2022 at 16:07
  • $\begingroup$ I see your point and I did some more research. I came across this paper, which seems to rather do something like you have in mind. They do it a bit differently, but all in all, it is the most similar I could find (with a little effort). The long of the short of it is, they call it semi-supervised learning. Let me know, what you think. $\endgroup$ Commented Apr 17, 2022 at 16:53
  • $\begingroup$ Thanks for the paper. For what I understood, the author seems to describe it as semi-supervised "self-training". In this case, it looks like both labelled and unlabeled data are mixed during training. It could be close to what I am doing. The main difference is that I am doing clustering and classification in different steps, when they do it simultaneously. $\endgroup$
    – Adrien
    Commented Apr 20, 2022 at 16:57
  • $\begingroup$ On my part, I found this article (only in French unfortunately). It is called classification based on clustering. It could be similar to what you found. They use both labeled and unlabeled samples for training, and used some clustering methods (Kmeans) improved by supervised steps. However, they did not mention supervised or unsupervised in the paper. $\endgroup$
    – Adrien
    Commented Apr 20, 2022 at 16:57
  • $\begingroup$ Please see stats.meta.stackexchange.com/questions/6304/my-upvoting-policy, when you find a question sufficiently clear to write an answer, consider to upvote the question! $\endgroup$ Commented Apr 21, 2022 at 15:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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