I understand that to solve multilabel classification problems, we can use the softmax activation function in the output layer of the neural network. The softmax function outputs probabilities of each label, and the label with highest probability is then predicted as the target label. However, I just saw in a research paper that the authors used regression function instead of softmax function, in output layer. The paper says:

Because regression classification can automatically adjust classification thresholds based on data distribution to maximize classification performance

I do not understand how can the model learn classification thresholds by itself? Are these thresholds part of the neural network architecture? Are these thresholds trained like weights of layers?

This is the link of the paper: https://www.sciencedirect.com/science/article/abs/pii/S016816991931556X

  • $\begingroup$ please link the paper $\endgroup$
    – Alberto
    Jul 24, 2023 at 21:07
  • $\begingroup$ I have added the link to the paper $\endgroup$ Jul 25, 2023 at 11:37

1 Answer 1


First thing to notice, is that the assumptions on the target don't match the ones of multi-classifications: in particular, in multi-class classification, it's generally assumed that any other class outside the target one, is equally bad.

Instead here, it's clear that this is not true:
enter image description here

Given an input with target "Healty Apple", predicting "General Apple Scab" is not as bad as predicting "Serious Cedar Apple Rust"... in other words, the class order counts.

In order to capture this property, they decide to use classification regression.

About the automatic threshold, they don't say anything about it on the paper, so in my opinion what they do is to adjust them to improve performance.

On top of my head, one way is by predicting the regression score for the training set, and then fitting 6 Gaussian distributions (like a naive Bayes model), and adjusting the threshold by moving them so that they best fit the result.... or you can just plot them with different colors and check where the colors lies

  • $\begingroup$ Oh alright, I understand now that they are using classification regression because class order is important in this case. Can you please also elaborate a little on using 6 Gaussian distributions for adjusting the thresholds $\endgroup$ Jul 25, 2023 at 14:52
  • $\begingroup$ @DawoodAhmad it's just an idea, but an even easier one might be to do a forward pass of the whole training set, for each class see where the median element is in the number line, and then adjust the threshold separating the space equally $\endgroup$
    – Alberto
    Jul 25, 2023 at 17:28
  • $\begingroup$ Oh yeah, I get it. Thanks for the ideas $\endgroup$ Jul 25, 2023 at 21:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .