2016-09-30 6 views
2

Ich arbeite an Hausaufgaben für meinen maschinellen Lernkurs und habe Probleme, die Frage zu Naive Bayes zu verstehen. Das Problem, das ich habe, ist eine Variation der Frage Nummer 2 auf der folgenden Seite:Naive Bayes Verwirrung;

https://www.cs.utexas.edu/~mooney/cs343/hw3-old/hw3.html

Die Zahlen Ich habe etwas unterschiedlich sind, so dass ich die Zahlen von meiner Aufgabe mit dem obigen Beispiel ersetzen. Ich versuche gerade herauszufinden, mit welcher Wahrscheinlichkeit der erste Text Physik ist. Um das zu tun, habe ich etwas, das ungefähr so ​​aussieht:

P (Physik | c) = P (Physik) * P (Kohlenstoff | Physik) * p (Atom | Physik) * p (Leben | Physik) * p (Erde | Physik)/[ETWAS]

P (Physik | c) = 0,35 * 0,005 * 0,1 * .001 * .005/[ETWAS]

ich bin stützen diese ab von einem Beispiel, das ich in meinen Notizen gesehen habe, aber ich kann nicht herausfinden, was ich teilen soll. Ich werde das Beispiel aus den Notizen auch bereitstellen.

example from notes

Vielleicht darüber in der falschen Art und Weise werde ich, aber ich bin nicht sicher, wo der P (X) Begriff, den wir durch sind Dividieren herkommt. Wie verhält es sich mit der Wahrscheinlichkeit, dass der Text Physik ist? Ich denke, dass das Lösen dieses Problems den Rest der Aufgabe vereinfacht.

Antwort

3

Der Nenner P(X) ist nur die Summe von P(X|Y)*P(Y) für alle möglichen Klassen.

Nun ist es wichtig zu beachten, dass Sie in Naive Bayes nicht müssen P(X) berechnen müssen. Sie müssen nur P(X|Y)*P(Y) für jede Klasse berechnen und dann die Klasse mit der höchsten Wahrscheinlichkeit auswählen.

In Ihrem Fall nehme ich an, dass Sie mehrere Klassen haben müssen. Sie erwähnten physics, aber es muss andere wie chemistry oder math geben.

So kann man berechnen:

P(physics|X) = P(X|physics) * P(physics)/P(X) 

P(chemistry|X) = P(X|chemistry) * P(chemistry)/P(X) 

P(math|X)  = P(X|math) * P(math)/P(X) 

P(X) die Summe von P(X|Y)*P(Y) für alle Klassen ist:

P(X) = P(X|physics)*P(physics) + P(X|chemistry)*P(chemistry) + P(X|math)*P(math) 

(By the way, ist die obige Aussage genau analog zu dem Beispiel in dem Bild die Gleichungen sind ein wenig kompliziert, aber wenn Sie sie neu anordnen, finden Sie das P(X) = P(X|positive)*P(positive) + P(X|negative)*P(negative) in diesem Beispiel).

die Antwort produzieren (das heißt, Y unter physics, chemistry oder math zu bestimmen), können Sie den Maximalwert unter P(physics|X), P(chemistry|X) wählen würden, und P(math|X).

Wie ich bereits erwähnt, Sie tun nicht brauchen P(X) zu berechnen, da dieser Begriff im Nenner aller P(physics|X) existiert, P(chemistry|X) und P(math|X). Daher müssen Sie nur das Maximum zwischen P(X|physics)*P(physics), P(X|chemistry)*P(chemistry) und P(X|math)*P(math) ermitteln.

1

Der Punkt ist, dass Sie wirklich keinen Wert für P (x) brauchen, weil es unter allen Klassen gleich ist. Sie sollten es also ignorieren und nur die Zahlen vor dem Division-Schritt vergleichen. Die höchste Zahl ist die vorhergesagte Klasse.

Der Grund ist es in der Gleichung ist aus der Bayes-Regel Ursprung:

P(C1|X) = P(X|C1) * P(C1)/P(X) 
Verwandte Themen