Różnica między naiwnymi Bayesami a wielomianowymi naiwnymi Bayesami

29

Wcześniej miałem do czynienia z klasyfikatorem Naive Bayes . Czytałem ostatnio o Multinomial Naive Bayes .

Również prawdopodobieństwo późniejsze = (wcześniejsze * prawdopodobieństwo) / (dowód) .

Jedyną podstawową różnicą (podczas programowania tych klasyfikatorów), którą znalazłem między Naive Bayes i Multinomial Naive Bayes, jest to, że

Wielomian Naive Bayes oblicza prawdopodobieństwo, że będzie liczone słowo / token (zmienna losowa), a Naive Bayes oblicza prawdopodobieństwo, że:

wprowadź opis zdjęcia tutaj

Popraw mnie, jeśli się mylę!

garak
źródło
1
Wiele informacji znajdziesz w następującym pliku pdf: cs229.stanford.edu/notes/cs229-notes2.pdf
B_Miner
Christopher D. Manning, Prabhakar Raghavan i Hinrich Schütze. „ Wprowadzenie do wyszukiwania informacji. 2009, rozdział 13 na temat klasyfikacji tekstu i Naive Bayes również jest dobry.
Franck Dernoncourt,

Odpowiedzi:

43

Ogólny termin Naive Bayes odnosi się do silnych założeń dotyczących niezależności w modelu, a nie do konkretnego rozkładu każdej cechy. Model Naive Bayesa zakłada, że ​​każda z używanych przez niego funkcji jest warunkowo niezależna od siebie, biorąc pod uwagę pewną klasę. Bardziej formalnie, jeśli chcę obliczyć prawdopodobieństwo zaobserwowania cech od do , biorąc pod uwagę pewną klasę c, przy założeniu Naive Bayesa, następujące założenia:f1fn

p(f1,...,fn|c)=i=1np(fi|c)

Oznacza to, że gdy chcę użyć modelu Naive Bayes do sklasyfikowania nowego przykładu, prawdopodobieństwo z tyłu jest znacznie prostsze w pracy z:

p(c|f1,...,fn)p(c)p(f1|c)...p(fn|c)

Oczywiście te założenia niezależności rzadko są prawdziwe, co może wyjaśniać, dlaczego niektórzy nazywali ten model modelem „Idioty Bayesa”, ale w praktyce modele Naive Bayesa zadziwiająco dobrze, nawet przy złożonych zadaniach, w których jasne jest, że silne założenia niezależności są fałszywe.

Do tej pory nie mówiliśmy nic o dystrybucji każdej funkcji. Innymi słowy, pozostawiliśmy niezdefiniowane. Termin Multinomial Naive Bayes po prostu informuje nas, że każdy jest rozkładem wielomianowym, a nie jakimś innym rozkładem. Działa to dobrze w przypadku danych, które można łatwo przekształcić w liczby, takie jak liczba słów w tekście.p(fi|c)p(fi|c)

Dystrybucja, której używałeś z klasyfikatorem Naive Bayes, to plik Guassian pdf, więc myślę, że możesz nazwać go klasyfikatorem Guassian Naive Bayes.

Podsumowując, klasyfikator Naive Bayes jest ogólnym terminem odnoszącym się do warunkowej niezależności każdej z cech modelu, podczas gdy wielomianowy klasyfikator Naive Bayes jest specyficzną instancją klasyfikatora Naive Bayes, który stosuje rozkład wielomianowy dla każdej z cech.

Referencje:

Stuart J. Russell i Peter Norvig. 2003. Artificial Intelligence: A Modern Approach (2 wyd.). Edukacja Pearson. Patrz str. 499 w odniesieniu do „idioty Bayesa”, a także ogólnej definicji modelu Naive Bayes i jego założeń dotyczących niezależności

jlund3
źródło
Linki są zepsute
ssoler
@ jlund3, Dzięki za miłe wyjaśnienie. W jaki sposób włączamy informacje o dystrybucji do naszego klasyfikatora? Mam na myśli, jak zmienia się fomula p (c | f1, ..., fn) ∝p (c) p (f1 | c) ... p (fn | c) w zależności od tego, czy jest to rozkład Guassian w porównaniu z multimodalnym
David
Dziękuję za krótkie wyjaśnienie, ale polecam książkę (Stuart J. Russell i Peter Norvig. 2003. Artificial Intelligence: A Modern Approach (2 ed.)), O której mowa powyżej, aby uzyskać więcej wiedzy na temat NB i technik sztucznej inteligencji, także ..
Mirani
liczby dystrybucji wielomianowej nie są niezależne. patrz moje pytanie tutaj: datascience.stackexchange.com/questions/32016/…
Hanan Shteingart
10

Ogólnie, aby trenować Naive Bayesa dla danych n-wymiarowych i klas k, musisz oszacować dla każdego , . Możesz założyć dowolny rozkład prawdopodobieństwa dla dowolnej pary (chociaż lepiej nie zakładać rozkładu dyskretnego dla i ciągłego dla ). Możesz mieć rozkład Gaussa na jednej zmiennej, Poissona na drugiej, a niektóre dyskretne na innej zmiennej.P(xi|cj)1in1jk(i,j)P(xi|cj1)P(xi|cj2)

Wielomian Naiwny Bayes zakłada po prostu rozkład wielomianowy dla wszystkich par, co w niektórych przypadkach wydaje się rozsądnym założeniem, np. W przypadku liczby słów w dokumentach.

sjm.majewski
źródło