Si vous avez un classificateur bayes formé pour un ensemble de classes, comment détecter si la sortie est suffisamment importante pour choisir une classe? Ce serait utile pour détecter des échantillons qui ne peuvent pas être assignés à une classe. J'ai essayé de tester si la probabilité de classe est au dessus de la moyenne + 2 * stddev des probabilités de toutes les classes, mais je ne pense pas que ce soit robuste.Détection d'une classe inconnue dans un classificateur bayes
6
A
Répondre
3
Vous pourriez envisager des rapports log-vraisemblance. Considérons R(C) = log(P(C|D)/P(~C| D)
, où C
est la classe, D
sont les caractéristiques. Ensuite, vous voulez probablement vous assurer que R(C)
est supérieur à une certaine quantité positive.
Je vais examiner cela et faire quelques tests – piotr
Le rapport de vraisemblance ne va pas l'aider ici - du moins pas comme vous le décrivez. Il connaît les "probabilités" * relatives * P (C1 | D), P (C2 | D), ..., P (CN | D), mais ne sait pas les normaliser correctement car il a un ensemble exhaustif de classes; c'est-à-dire que SUM sur i = 1 à N de P (Ci | D) n'est pas égal à l'unité parce qu'il existe d'autres classes inconnues qui contribuent à la somme de probabilité de façon inconnue. Par conséquent, même s'il peut faire un rapport de vraisemblance P (C1 | D)/P (C2 | D) (le facteur de normalisation inconnu disparaît), il NE PEUT PAS calculer P (~ C | D) parce que son P (Ci | D) les valeurs ne sont pas de vraies probabilités. –