Как сглаживание Лапласа влияет на предшествующие/доказательства

У меня есть вопрос о вероятности/статистике, связанный с реализацией наивных байесовских классификаторов, в частности, с реализацией сглаживания Лапласа, чтобы избежать проблемы нулевого подсчета и переобучения.

Из того, что я читал, основная формула NBC с использованием MLE выглядит так:

p(C│F_1 ...F_n )=(p(C)p(F_1 |C)...p(F_n |C))/(p(F_1)...p(F_n))

Однако, если одно из p(F_i |C) равно нулю, вся вероятность становится равной 0. Одно решение является гладким по Лапасу.

p(F_i│C)~(x_i+k)/(N+kd)

Где x_i — это количество раз, когда F_i появлялся в классе C, N — это количество раз, когда класс C появлялся, а d — это количество различных значений, которые F_i, как известно, принимает.

Мой вопрос таков:

Что, если нужно что-то сделать с p(C) в числителе и p(F_i) в знаменателе?


person David Williams    schedule 03.12.2012    source источник


Ответы (1)


Пусть f = (f_1 ... f_n). Сглаживание по Лапласу влияет на член правдоподобия класса, p(f|C). Это не влияет на предшествующий класс p(C). Это действительно влияет на предельную вероятность f в том смысле, что:

p(f) = \sum_c p(C) * p(f|C)

При этом член p (f | C) отличается, если вы сглаживаете Лапласа, чем если бы вы этого не делали. Но поскольку знаменатель постоянен для всех C, вам все равно не стоит беспокоиться об этом.

P.S. Это не совсем вопрос программирования!

person Ben Allison    schedule 04.12.2012
comment
Эй, спасибо, кстати, это всплывает в контексте разработки программного обеспечения / машинного обучения. Для этого приложения мне действительно нужна оценка вероятности, а не классификация argmax, поэтому я хотел бы вычислить знаменатель один раз. В большинстве руководств предполагается, что вы хотите отбросить знаменатель, но в данном контексте это было бы полезно. Вы знаете, где вы могли бы указать мне на полное обсуждение реализации сглаживания? Я начал здесь, но не вижу обсуждения предшествующего класса или вероятности функции. inf.u-szeged.hu/~ormandi/ ai2/06-naiveBayes-example.pdf - person David Williams; 18.12.2012
comment
Взгляните на первые пару страниц следующих конспектов лекций для объяснения вероятностных классификаторов и того, как называются различные термины: dcs.gla.ac.uk/~girolami/Machine_Learning_Module_2006/week_4/. Что касается сглаживания, то, безусловно, самый элегантный способ его рассмотрения (на мой взгляд) — в байесовском контексте как априорное значение параметров функций правдоподобия p(f|C). Затем вы можете рассматривать сглаживание как оценку MAP (en.wikipedia.org/wiki/Maximum_a_posteriori_estimation), где отсутствие сглаживания - оценка максимального правдоподобия - person Ben Allison; 19.12.2012