2010-03-09 8 views
6

Wenn Sie einen Bayes-Klassifizierer für eine Gruppe von Klassen gelernt haben, wie kann festgestellt werden, ob die Ausgabe signifikant genug ist, um eine Klasse auszuwählen? Es wäre nützlich, um Proben zu erkennen, die nicht einer Klasse zugeordnet werden können. Ich habe versucht zu testen, ob die Klassenwahrscheinlichkeit über dem Mittelwert + 2 * stddev der Wahrscheinlichkeiten aller Klassen liegt, aber ich denke nicht, dass es robust sein wird.Unbekannte Klasse in einem Bayes-Klassifizierer erkennen

Antwort

3

Sie könnten Log-Likelihood-Verhältnisse berücksichtigen. Betrachten Sie R(C) = log(P(C|D)/P(~C| D), wobei C die Klasse ist, sind die Funktionen. Dann möchten Sie wahrscheinlich sicherstellen, dass R(C) größer als einige positive Menge ist.

+0

Ich werde das untersuchen und einige Tests durchführen – piotr

+0

Das Likelihood-Verhältnis wird ihm hier nicht helfen - zumindest nicht wie du es beschreibst. Er kennt die * relativen * "Wahrscheinlichkeiten" P (C1 | D), P (C2 | D), ..., P (CN | D), weiß aber nicht, wie man sie richtig normiert, weil er eine erschöpfende Reihe von Klassen; d.h. SUM über i = 1 bis N von P (Ci | D) ist NICHT gleich eins, weil andere unbekannte Klassen existieren, die auf unbekannte Weise zu der Wahrscheinlichkeitssumme beitragen. Obwohl er ein P (C1 | D)/P (C2 | D) Likelihood-Verhältnis machen kann (der unbekannte Normierungsfaktor fällt ab), kann er daher P (~ C | D) nicht berechnen, da sein P (Ci | D) Werte sind keine wahren Wahrscheinlichkeiten. –