2013-03-22 2 views
1

После того как мы создали наивный байесовский классификатор объект nb (скажем, с многофакторным распределением мультиномиального (mvmn)), мы можем вызвать функцию posterior по данным тестирования с использованием nb объекта. Эта функция имеет 3 выходных параметров:Интерпретация «заднее» от Matlab NaiveBayses функции

[Сообщение, CPRE, LogP] = задний (NB, тест)

Я понимаю, как post вычисляется и значение, что, также cpre является предсказанной класс, основанный на максимальном превышении вероятностей для каждого класса.

Вопрос о logp. Понятно, как оно вычисляется (логарифм PDF каждого образца в тесте), но я не понимаю смысла этой меры и как ее можно использовать в контексте процедуры Наивного Байеса. Любой свет на это очень ценится.

Спасибо.

ответ

1

logp Вы имеете в виду log likelihood, что является одним из способов оценить, насколько хороша модель. Мы используем логарифмические вероятности для предотвращения переполнения компьютеров на очень малых числах с плавающей запятой, а также потому, что добавление быстрее, чем умножение.

Если вы изучили свой классификатор несколько раз с разными отправными точками, вы получите разные результаты, потому что функция правдоподобия не является лог-вогнутой, то есть есть локальные максимумы, которые вы застряли. Если вы вычислили вероятность того, назад по вашим исходным данным вы получите вероятность модели. Хотя вероятность дает вам хорошую оценку того, как один набор параметров подходит по сравнению с другим, вам нужно быть осторожным, чтобы вы не overfitting.

В вашем случае вы вычисляете вероятность некоторых незаметных (тестовых) данных, что дает вам представление о том, насколько хорошо ваш учебный классификатор подходит для данных. Если вы пытались изучить эту модель на основе набора тестов, вы бы выбрали параметры, основанные на наивысшей вероятности теста; однако в целом, когда вы делаете это, лучше использовать validation set. То, что вы здесь делаете, - это вычисление predictive likelihood.

Вычисление логарифмической вероятности не ограничивается классификаторами Наивного Байеса и фактически может быть вычислено для любой байесовской модели (гауссовская смесь, скрытое распределение дирихле и т. Д.).

+0

Благодарим вас за ответ. Поскольку PDF каждой тестовой точки находится в диапазоне [0,1], тогда 'logp' будет находиться в (-infinity, 0]. Насколько я понимаю, чем выше эта мера (logp), тем лучше наш установленный классификатор предсказывает новый шаблон. Правильно? Также я прав, что предсказанный класс выбран в соответствии с максимумом всех задних вероятностей? Или мы также берем журналы в этом случае? Спасибо –

+0

'logp' может быть положительным, если у вас есть такие вещи, как [особенности] (http : //stackoverflow.com/a/15563245/586086). PDF интегрируется только в 1, он может оценивать больше 1. Что вы здесь делаете, это вычислить [прогнозируемое правдоподобие] (http: //en.wikipedia. org/wiki/Posterior_predictive_distribution) –

+0

спасибо, ссылки очень полезны. Итак, просто поместив, если мы для новой точки данных заметим «logp = x», можем ли мы сделать какой-либо вывод из этого значения «x», или мы можем скажем, только некоторая относительная информация по сравнению с другими точками? Т.е. если x большой отрицательный, близкий к нулю или большой положительный –

 Смежные вопросы

  • Нет связанных вопросов^_^