MATLAB Answers

Predicting unknown classes|(Novelty/Anomaly Detection) using MATLAB

23 views (last 30 days)
Ashwini Amin
Ashwini Amin on 15 Oct 2019
Answered: Hritika Suneja on 7 Apr 2020
Hello Team ,
I have 2 target classes(0 and 1) for classification problem which are being trained using ANN and SVM. Also i have unknown( samples which are not belonging to both the classes) used for testing. Unknown is not included in the training set.
I trained the network for 2 classes. The classification accuracy is around 98-99%.
Now if an unknown class object comes in for prediction, the neural network predicts it as any of the 2 classes. The confidence(score value) also comes near by 0.99, which makes it difficult to filter out as it belongs to one of the class. Otherwise known class object of 2 trained classes is classified at same confidence.
The pattern of the unknown class is different from the known classes but it still get classified.
How to determine unknown class using neural network/SVM? That it doesn't fall in any known class classification.

Answers (1)

Hritika Suneja
Hritika Suneja on 7 Apr 2020
ANN never rejects an unknown class , it always classifies it as a known class. You could try using SVM one class classifier , it i used for the purpose of anomaly detection. Another way could be to keep a seperate label for the unknown class(say -1) so the unknown entry gets classified as the unknown class.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!