How to handle overlapping classes I am working on the classification of a dataset which contains ambiguous and noisy data - the result of which means I have class overlap in the feature space.
There seems to be a few papers on this topic:

*

*A Classification Scheme for Applications with Ambiguous Data.


*Handling Class Overlap and Imbalance to Detect
Prompt Situations in Smart Homes
I am still unable to find a more popular approach with hopefully a solution in python. My question is therefore how do people suggest handling overlapping classes for classification problems?
 A: If overlapping classes means that a single data instances are assigned multiple classes, you basically two options:

*

*Make the problem a single-class classification by having a separate class for all class combinations in the training data (there might be too many of them, some of them might not make sense because you said the data is noisy)


*Have an independent predictor for each of the classes and treat the problem more as assigning independent tags to each data instance.
If you want to use neural nets, in the latter case, it makes sense to have a shared representation and do the same architecture as if you did standard classification. However, instead of the softmax, you would use just a sigmoid non-linearity (for prediction between 0 and 1) and binary cross-entropy loss function. The target vector is in this case indication vector with ones for the active classes and zeroes elsewhere.
A: The second paper you referred, describes the methods to handle overlapped instances.

Handling samples of overlapping regions is as important
as identifying such regions. Xiong et al. [16] proposed that
the overlapping regions can be handled with three different
schemes: discarding, merging and separating.

Discarding:
Ignores the overlapping region and learns on rest of the data that belongs to the non-overlapping region.
Merging:
Considers the overlapping region as a new class and uses a 2-tier classification model.
Separating:
The data from overlapping and non-overlapping regions are treated separately to build the learning models.
So as the author in the paper describes, you may ignore the overlapping region, or consider the overlapping region as a new class, or treat overlapped and non overlapped regions separately.
Reference : Handling Class Overlap and Imbalance to Detect
Prompt Situations in Smart Homes by
Barnan Das, Narayanan C. Krishnan, Diane J. Cook
