frage mich, ob Bayes Klassifikator richtige Ansatz ist?

8

Ich frage mich, ob ein Bayes-Klassifikator sinnvoll für eine Anwendung ist, wo derselbe Satz "kalt serviert" (zum Beispiel) "gut" ist, wenn er mit einigen Dingen assoziiert wird (Bier, Soda), aber "schlecht" (Steak, Pizza, Burger)?

Ich frage mich, ob das Training eines Bayes-Klassifikators ("Bier kalt" und "Soda kalt" ist "gut") das Training "Steak kalt serviert" und "kalt serviert" "schlecht" sind. ).

Oder kann Bayes (richtig) trainiert werden, dass "kalt serviert" je nachdem, was damit verbunden ist, "gut" oder "schlecht" sein kann?

Ich habe viele gute Informationen über Bayes gefunden, hier und anderswo, aber konnte nicht feststellen, ob es für diese Art von Anwendung geeignet ist, wo die Antwort auf einen Satz gut oder schlecht ist: "Kommt drauf an?"

    
jpwynn 01.02.2011, 22:07
quelle

2 Antworten

6

Ein Naive Bayes-Klassifikator nimmt die Unabhängigkeit zwischen den Attributen an. Angenommen, Sie haben die folgenden Daten:

Apfel Frucht rot BAD
Apfel Frucht grün BAD
Bananenfrucht gelb GUT
Tomatengemüse rot GUT

Unabhängigkeit bedeutet, dass die Attribute (Name, Frucht, Farbe) unabhängig sind; zum Beispiel könnte dieser "Apfel" entweder "Frucht" oder "Gemüse" sein. In diesem Fall sind die Attribute "Name" und "Frucht" abhängig, so dass ein Naive Bayes Klassifikator zu naiv ist (es würde wahrscheinlich "Apfelfruchtgelb" als SCHLECHT klassifizieren, weil es ein Apfel UND eine Frucht ist - aber nicht alle Äpfel Früchte?).

Um Ihre ursprüngliche Frage zu beantworten, nimmt ein Naive Bayes Classifer an, dass die Klasse (GUT oder SCHLECHT) unabhängig von jedem Attribut ist, was nicht der Fall ist - ich mag meine Pizza heiß und meine Soda kalt.

BEARBEITEN: Wenn Sie nach einem Klassifikator suchen, der etwas Utility hat, aber in der Theorie zahlreiche Fehler vom Typ I und Typ II haben könnte, ist Naive Bayes ein solcher Klassifikator. Naive Bayes ist besser als nichts, aber es gibt messbaren Wert bei der Verwendung eines weniger naiven Klassifikators.

    
Daniel 04.02.2011, 08:29
quelle
2

Ich würde Bayes nicht so schnell entlassen, wie Daniel es vorgeschlagen hat. Die Qualität (Leistung in Mathematik) von Bayes hängt vor allem von der Menge und Qualität der Trainingsdaten und von den Annahmen ab, die Sie bei der Entwicklung Ihres Algorithmus treffen.

Um Ihnen ein kurzes Beispiel zu geben, wenn Sie nur hinein füttern: {'bier kalt' = & gt; : gut, 'Pizza kalt' = & gt; : schlecht} Das Wort "kalt" beeinflusst die Klassifizierung nicht. Es wird nur entscheiden, dass alle Biere gut sind und alle Pizzas schlecht sind (siehe wie schlau es ist?:))

Wie auch immer, ist die Antwort zu kurz dies im Detail zu erklären, würde ich empfehlen, Paul Graham Essay zu lesen, wie er seine Spam-Filter entwickelt - beachten Sie, dass er seinen eigenen Algorithmus auf Basis von Bayes gemacht und nicht nur off-the-shelf-Klassifikator . In meiner (bisher kurzen) Erfahrung scheint es, dass Sie besser dran bei der Entwicklung von spezifischer Version des Algorithmus für spezifisches Problem bei der Hand nach ihm, so haben Sie die Kontrolle über verschiedene domänenspezifische Annahmen.

Sie können meine Versuche (in Ruby) hier verfolgen, wenn Sie interessiert sind: Ссылка

    
Gregory Mostizky 04.03.2011 08:32
quelle

Tags und Links