Frage

Ich mache das Problem der Textkategorisierung des maschinellen Lernens mit naiven Bayes. Ich habe jedes Wort als Funktion. Ich konnte es implementieren und bekomme gute Genauigkeit.

Ist es mir möglich, Wörter Tupel als Merkmale zu verwenden?

Zum Beispiel, wenn es zwei Klassen gibt, Politik und Sport. Das Wort renovierte Regierung könnte in beiden auftreten. In der Politik kann ich jedoch ein Tupel (Regierung, Demokratie) haben, während ich im Klassensport ein Tupel (Regierung, Sportler) haben kann. Wenn also ein neuer Textartikel einhergeht, der Politik ist, hat die Wahrscheinlichkeit des Tupels (Regierung, Demokratie) mehr Wahrscheinlichkeit als das Tupel (Regierung, Sportler).

Ich frage dies, weil ich dadurch gegen die Unabhängigkeitsannahme des naiven Bayes -Problems verstoße, weil ich auch einzelne Wörter als Merkmale betrachte.

Außerdem denke ich darüber nach, Gewichten zu Features hinzuzufügen. Beispielsweise hat eine 3-Tupel-Funktion weniger Gewicht als eine 4-Tupel-Funktion.

Theoretisch verändern diese beiden Ansätze die Unabhängigkeitsannahmen des naiven Bayes -Klassifikators nicht? Außerdem habe ich noch nicht mit dem Ansatz begonnen, den ich erwähnt habe, aber wird dies die Genauigkeit verbessern? Ich denke, die Genauigkeit verbessert sich möglicherweise nicht, aber die Anzahl der Schulungsdaten, die erforderlich sind, um die gleiche Genauigkeit zu erhalten, wäre geringer.

War es hilfreich?

Lösung

Auch ohne Bigrams verstoßen echte Dokumente bereits gegen die Unabhängigkeitsannahme. Der Präsident, der auf Obama in einem Dokument einhergeht, erscheint viel häufiger. Naive Bayes leistet jedoch immer noch eine anständige Aufgabe bei der Klassifizierung, auch wenn die Wahrscheinlichkeitsschätzungen, die es gibt, hoffnungslos ausgeschaltet ist. Ich empfehle daher, dass Sie Ihren Klassifikator komplexere Funktionen hinzufügen und feststellen, ob sie die Genauigkeit verbessern.

Wenn Sie mit weniger Daten die gleiche Genauigkeit erhalten, entspricht dies im Grunde genommen gleichbedeutend mit der gleichen Datenmenge.

Aber das Endergebnis ist es, es zu versuchen und zu sehen.

Andere Tipps

Nein, aus theoretischer Sicht ändern Sie die Unabhängigkeitsannahme nicht. Sie erstellen einfach einen modifizierten (oder neuen) Beispielraum. Sobald Sie anfangen, höhere N-Gramm als Ereignisse in Ihrem Beispielraum zu verwenden, wird die Datensparsity zu einem Problem. Ich denke, die Verwendung von Tupeln wird zu demselben Problem führen. Sie werden wahrscheinlich mehr Trainingsdaten benötigen, nicht weniger. Sie müssen wahrscheinlich auch ein wenig mehr über die Art der Glättung nachdenken, die Sie verwenden. Eine einfache Laplace -Glättung ist möglicherweise nicht ideal.

Meinungsabbau und Stimmungsanalyse) Ich denke, die Verwendung längerer Tupel zeigt ähnliche Ergebnisse, da schließlich Tupel von Wörtern einfach Punkte in einem höherdimensionalen Raum sind. Der grundlegende Algorithmus verhält sich genauso.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top