Ich schreibe einen naiven Bayes Klassifikator für ein Klassenprojekt und ich habe es gerade funktioniert ... irgendwie. Während ich eine fehlerfreie Ausgabe bekomme, hatte das gewinnende Ausgabeetikett eine Ausgabewahrscheinlichkeit von 3,89 * 10^-85.Naive Bays Klassifikator: Ausgabe Prozentsatz ist zu niedrig
Wow.
Ich habe ein paar Ideen, was ich falsch machen könnte. Erstens normalisiere ich nicht die Ausgabe-Prozentsätze für die Klassen, so dass alle Prozentsätze effektiv Null sind. Während das mir Zahlen geben würde, die nett aussehen, weiß ich nicht, ob das die richtige Sache ist.
Meine zweite Idee war, die Anzahl der Features zu reduzieren. Unsere Eingabedaten sind eine Liste von Pseudobildern in Form einer sehr langen Textdatei. Momentan sind unsere Funktionen nur der binäre Wert jedes Pixels des Bildes und mit einem 28x28 Bild sind das viele Funktionen. Wenn ich stattdessen das Bild in Blöcke der Größe z. B. 7x7 zerhacke, wie viel würde das tatsächlich die Ausgabe-Prozentsätze verbessern?
tl; dr Hier ist die allgemeinen Dinge, die ich versuche, über naive Bayes zu verstehen:
1) Haben Sie aus Testen jede Klasse, um die Ausgangsprozentsätze normalisieren müssen?
2) Wie viel Effekt hat zu viele Funktionen auf die Ergebnisse?
Vielen Dank im Voraus für jede Hilfe, die Sie mir geben können.
Ich uploated, aber was meinst du mit "echte Wahrscheinlichkeit"? –
Es ist nicht die reale Klassenwahrscheinlichkeit gegeben die Merkmale und vorher. Es ist nur ein Wert, der beim Sortieren der Scores sinnvoll ist. In den verschiedenen Vereinfachungen und Annahmen, die von den meisten Implementierungen gemacht werden, ist die Bedeutung von "Wahrscheinlichkeit" verloren, und dies ist in Ordnung, da es ein Klassifikator ist und wir die beste Klasse finden wollen. –
Das heißt, wenn Sie Werte haben möchten, die lesbarer sind, können Sie sie normalisieren (teilen Sie jedes Ergebnis durch die Summe aller Klassenwerte). –