2016-09-30 4 views
2

Я работаю над домашним заданием для своего курса машинного обучения, и у меня возникли проблемы с пониманием вопроса о Наиви Байесе. У меня проблемой является вариацией вопрос номера 2 на следующей странице:Naive Bayes Confusion;

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

Число у меня есть немного отличается, поэтому я заменю цифры от моего назначения с приведенным выше примером. В настоящее время я пытаюсь выяснить вероятность того, что первый текст будет физикой. Для этого у меня есть кое-что, что выглядит примерно так:

P (физика | c) = P (физика) * P (атомная физика) * p (атом | физика) * p (жизнь | физика) * р (земля | физика)/[КОЕ]

P (физика | с) = .35 * .005 * .1 * .001 * .005/[КОЕ]

Я основывая это от примера, который я видел в своих заметках, но я не могу понять, что я должен разделить. Я также приведу пример из заметок.

example from notes

Может быть, я буду об этом в неправильном направлении, но я не уверен, где P (X) термин, который мы деля откуда. Как это связано с вероятностью того, что текст является физикой? Я чувствую, что устранение этой проблемы упростит остальную часть задания.

ответ

3

Знаменатель P(X) только сумма P(X|Y)*P(Y) для всех возможных классов.

Теперь важно отметить, что в Naive Bayes вы делаете , а не, чтобы вычислить это P(X). Вам нужно только вычислить P(X|Y)*P(Y) для каждого класса, а затем выбрать класс, который дал наивысшую вероятность.

В вашем случае, я предполагаю, что у вас должно быть несколько классов. Вы упомянули physics, но должны быть другие, такие как chemistry или math.

Таким образом, вы можете вычислить:

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) является суммой P(X|Y)*P(Y) для всех классов:

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

(Кстати, приведенное выше утверждение совершенно аналогично примеру в изображении которые вы предоставили. Уравнения здесь немного сложны, но если вы их перегруппируете, то в этом примере вы найдете P(X) = P(X|positive)*P(positive) + P(X|negative)*P(negative)).

Для получения ответа (то есть, для определения Y среди physics, chemistry или math), необходимо выбрать максимальное значение среди P(physics|X), P(chemistry|X) и P(math|X).

Как я уже говорил, вы не нужно вычислить P(X), потому что этот термин существует в знаменателе всех P(physics|X), P(chemistry|X) и P(math|X). Таким образом, вам нужно только определить максимальные значения между P(X|physics)*P(physics), P(X|chemistry)*P(chemistry) и P(X|math)*P(math).

1

Дело в том, что вам действительно не нужно значение для P (x), потому что оно одинаково среди всех классов. Поэтому вы должны игнорировать его и просто сравнивать числа перед шагом разделения. Наибольшее число - это предсказанный класс.

Причина это в уравнении происходящий из правила Байеса:

P(C1|X) = P(X|C1) * P(C1)/P(X) 
Смежные вопросы