Naiwny klasyfikator bayesowski

Naiwny klasyfikator bayesowski, naiwny klasyfikator Bayesa – prosty klasyfikator probabilistyczny. Naiwne klasyfikatory bayesowskie są oparte na założeniu o wzajemnej niezależności predyktorów (zmiennych niezależnych). Często nie mają one żadnego związku z rzeczywistością i właśnie z tego powodu nazywa się je naiwnymi. Bardziej opisowe jest określenie – „model cech niezależnych”. Ponadto model prawdopodobieństwa można wyprowadzić korzystając z twierdzenia Bayesa.

W zależności od rodzaju dokładności modelu prawdopodobieństwa, naiwne klasyfikatory bayesowskie można skutecznie „uczyć” w trybie uczenia z nadzorem. W wielu praktycznych aplikacjach, estymacja parametru dla naiwnych modeli Bayesa używa metody maksymalnego prawdopodobieństwa a posteriori; inaczej mówiąc, można pracować z naiwnym modelem Bayesa bez wierzenia w twierdzenie Bayesa albo używania jakichś metod Bayesa.

Pomimo ich naiwnego projektowania i bardzo uproszczonych założeń, w wielu rzeczywistych sytuacjach naiwne klasyfikatory Bayesa często pracują dużo lepiej, niż można było tego oczekiwać.

Naiwny model probabilistyczny Bayesa

Model prawdopodobieństwa dla klasyfikatora jest modelem warunkowym

p ( C | F 1 , , F n ) {\displaystyle p(C\vert F_{1},\dots ,F_{n})}

przez zmienną zależną klasy C {\displaystyle C} z niewielu rezultatów albo „klas”, zależnych od kilku opisujących zmiennych F 1 {\displaystyle F_{1}} do F n . {\displaystyle F_{n}.} Problem pojawia się, gdy liczba cech n {\displaystyle n} jest duża lub gdy cecha może przyjmować dużą liczbę wartości. Wtedy opieranie się na modelu tablic prawdopodobieństw jest niewykonalne. Dlatego też inaczej formułuje się taki model, by był bardziej przystępny.

Korzystając z twierdzenia Bayesa:

p ( C | F 1 , , F n ) = p ( C )   p ( F 1 , , F n | C ) p ( F 1 , , F n ) . {\displaystyle p(C\vert F_{1},\dots ,F_{n})={\frac {p(C)\ p(F_{1},\dots ,F_{n}\vert C)}{p(F_{1},\dots ,F_{n})}}.}

W praktyce interesujący jest tylko licznik ułamka, bo mianownik nie zależy od C {\displaystyle C} i wartości cechy F i {\displaystyle F_{i}} są dane. Mianownik jest więc stały.

Licznik ułamka jest równoważny do łącznego modelu prawdopodobieństwa

p ( C , F 1 , , F n ) , {\displaystyle p(C,F_{1},\dots ,F_{n}),}

który można zapisać, wykorzystując prawdopodobieństwo warunkowe

p ( C , F 1 , , F n ) = p ( C )   p ( F 1 , , F n | C ) = p ( C )   p ( F 1 | C )   p ( F 2 , , F n | C , F 1 ) = p ( C )   p ( F 1 | C )   p ( F 2 | C , F 1 )   p ( F 3 , , F n | C , F 1 , F 2 ) = p ( C )   p ( F 1 | C )   p ( F 2 | C , F 1 )   p ( F 3 | C , F 1 , F 2 )   p ( F 4 , , F n | C , F 1 , F 2 , F 3 ) {\displaystyle {\begin{aligned}&p(C,F_{1},\dots ,F_{n})\\[1ex]={}&p(C)\ p(F_{1},\dots ,F_{n}\vert C)\\[1ex]={}&p(C)\ p(F_{1}\vert C)\ p(F_{2},\dots ,F_{n}\vert C,F_{1})\\[1ex]={}&p(C)\ p(F_{1}\vert C)\ p(F_{2}\vert C,F_{1})\ p(F_{3},\dots ,F_{n}\vert C,F_{1},F_{2})\\[1ex]={}&p(C)\ p(F_{1}\vert C)\ p(F_{2}\vert C,F_{1})\ p(F_{3}\vert C,F_{1},F_{2})\ p(F_{4},\dots ,F_{n}\vert C,F_{1},F_{2},F_{3})\end{aligned}}}

i tak dalej. Włącza się teraz „naiwną” warunkową zależność. Zakładając, że każda cecha F i {\displaystyle F_{i}} jest warunkowo niezależna od każdej innej cechy

F j {\displaystyle F_{j}} dla j i . {\displaystyle j\neq i.}

Oznacza to

p ( F i | C , F j ) = p ( F i | C ) , {\displaystyle p(F_{i}\vert C,F_{j})=p(F_{i}\vert C),}

więc model można wyrazić jako

p ( C , F 1 , , F n ) = p ( C )   p ( F 1 | C )   p ( F 2 | C )   p ( F 3 | C ) = p ( C ) i = 1 n p ( F i | C ) . {\displaystyle {\begin{aligned}p(C,F_{1},\dots ,F_{n})&=p(C)\ p(F_{1}\vert C)\ p(F_{2}\vert C)\ p(F_{3}\vert C)\dots \\[1ex]&=p(C)\prod _{i=1}^{n}p(F_{i}\vert C).\end{aligned}}}

Oznacza to, że pod powyższymi niezależnymi założeniami, warunkowe rozmieszczenie nad klasą zmiennych C {\displaystyle C} można zapisać

p ( C | F 1 , , F n ) = 1 Z p ( C ) i = 1 n p ( F i | C ) , {\displaystyle p(C\vert F_{1},\dots ,F_{n})={\frac {1}{Z}}p(C)\prod _{i=1}^{n}p(F_{i}\vert C),}

gdzie Z {\displaystyle Z} jest współczynnikiem skalowania zależnym wyłącznie od F 1 , , F n . {\displaystyle F_{1},\dots ,F_{n}.}

Modele tej formy są łatwiejsze do zrealizowania, gdy rozłoży się je na czynniki zwane klasą „prior” p ( C ) {\displaystyle p(C)} i niezależny rozkład prawdopodobieństwa p ( F i | C ) . {\displaystyle p(F_{i}\vert C).} Jeśli są klasy k {\displaystyle k} i jeśli model dla p ( F i ) {\displaystyle p(F_{i})} może być wyrażony przez parametr r , {\displaystyle r,} wtedy odpowiadający naiwny model Bayesa ma ( k 1 ) + n r k {\displaystyle (k-1)+nrk} parametrów. W praktyce często k = 2 {\displaystyle k=2} (klasyfikacja binarna) i r = 1 {\displaystyle r=1} (zmienna Bernouliego jako cecha), wtedy całkowita liczba parametrów naiwnego modelu Bayesa to 2 n + 1 , {\displaystyle 2n+1,} gdzie n {\displaystyle n} jest liczbą binarnych użytych cech.

Estymacja parametru

W przypadku uczenia z nadzorem, chcemy ocenić parametry probabilistycznego modelu. Z powodu założenia niezależnych cech, wystarczy ocenić klasę poprzednią i zależną cechę modelu niezależnie, wykorzystując metodę maksimum prawdopodobieństwa a posteriori (MAP), wnioskowanie Bayesa lub inną parametryczną procedurę estymacji.

Konstrukcja klasyfikatora z modelu probabilistycznego

Dotychczasowe omówienie problemu wyprowadziło model niezależnych cech, które są naiwnym probabilistycznym modelem Bayesa. Naiwny klasyfikator bayesowski łączy ten model z regułą decyzyjną. Jedna, ogólna reguła ma wydobyć hipotezę najbardziej prawdopodobną. Odpowiadający klasyfikator jest funkcją c l a s s i f y , {\displaystyle \mathrm {classify} ,} zdefiniowaną

c l a s s i f y ( f 1 , , f n ) = a r g   m a x c   p ( C = c ) i = 1 n p ( F i = f i | C = c ) . {\displaystyle \mathrm {classify} (f_{1},\dots ,f_{n})=\mathop {\mathrm {arg\ max} } _{c}\ p(C=c)\prod _{i=1}^{n}p(F_{i}=f_{i}\vert C=c).}

Omówienie

Naiwny klasyfikator bayesowski ma wiele własności, które okazują się zaskakująco przydatne w praktyce, pomimo faktu, że założenia niezależności często są naruszone. Jak wszystkie probabilistyczne klasyfikatory, wykorzystujące regułą decyzyjną MAP, klasyfikacja jest tak długo poprawna, jak długo poprawna klasa jest bardziej prawdopodobna od innych (prawdopodobieństwa poszczególnych klas nie muszą być oceniane zbyt dokładnie). Inaczej mówiąc, klasyfikator jest wystarczająco mocny, by zignorować poważne niedociągnięcia naiwnego probabilistycznego modelu.

Przykład – klasyfikacja dokumentu

Przedstawiony zostawnie tu problem klasyfikacji dokumentów metodą naiwnego klasyfikatora Bayesa. Rozważać będziemy klasyfikację poczty email pod względem zawartości i oceniać czy poszczególne wiadomości są chcianą pocztą czy też spamem. Wyobraźmy sobie, że dokumenty są przypisane do pewnej liczby klas dokumentów, które mogą być modelowane jako komplety słów, gdzie (niezależne) prawdopodobieństwo, że i-te słowo danego dokumentu zdarza się w dokumencie klasy C zapisujemy, jako

p ( w i | C ) . {\displaystyle p(w_{i}\vert C).}

Zakładamy, że prawdopodobieństwo wystąpienia słowa w dokumencie jest niezależne od długości dokumentu lub też, że wszystkie dokumenty mają tę samą długość.

Wtedy prawdopodobieństwo danego dokumentu D , {\displaystyle D,} klasy C {\displaystyle C}

p ( D | C ) = i p ( w i | C ) . {\displaystyle p(D\vert C)=\prod _{i}p(w_{i}\vert C).}

Pytanie, na które chcemy odpowiedzieć to: „jakie jest prawdopodobieństwo, że dany dokument D {\displaystyle D} należy do danej klasy C {\displaystyle C} ?”.

Korzystając z definicji

p ( D | C ) = p ( D C ) p ( C ) {\displaystyle p(D\vert C)={\frac {p(D\cap C)}{p(C)}}}

i

p ( C | D ) = p ( D C ) p ( D ) , {\displaystyle p(C\vert D)={\frac {p(D\cap C)}{p(D)}},}
p ( C | D ) = p ( C ) p ( D ) p ( D | C ) . {\displaystyle p(C\vert D)={\frac {p(C)}{p(D)}}\,p(D\vert C).}

Przyjmijmy założenie, że są tylko dwie klasy: S i ¬S (w naszym przykładzie: spam i nie-spam).

p ( D | S ) = i p ( w i | S ) {\displaystyle p(D\vert S)=\prod _{i}p(w_{i}\vert S)}

i

p ( D | ¬ S ) = i p ( w i | ¬ S ) . {\displaystyle p(D\vert \neg S)=\prod _{i}p(w_{i}\vert \neg S).}

Korzystając z bayesianu, powyższy rezultat zapisać możemy jako

p ( S | D ) = p ( S ) p ( D ) i p ( w i | S ) , {\displaystyle p(S\vert D)={\frac {p(S)}{p(D)}}\,\prod _{i}p(w_{i}\vert S),}
p ( ¬ S | D ) = p ( ¬ S ) p ( D ) i p ( w i | ¬ S ) . {\displaystyle p(\neg S\vert D)={\frac {p(\neg S)}{p(D)}}\,\prod _{i}p(w_{i}\vert \neg S).}

Dzieląc jeden przez drugi, otrzymujemy:

p ( S | D ) p ( ¬ S | D ) = p ( S ) i p ( w i | S ) p ( ¬ S ) i p ( w i | ¬ S ) . {\displaystyle {\frac {p(S\vert D)}{p(\neg S\vert D)}}={\frac {p(S)\,\prod _{i}p(w_{i}\vert S)}{p(\neg S)\,\prod _{i}p(w_{i}\vert \neg S)}}.}

Możemy to przekształcić do postaci:

p ( S ) p ( ¬ S ) i p ( w i | S ) p ( w i | ¬ S ) . {\displaystyle {\frac {p(S)}{p(\neg S)}}\,\prod _{i}{\frac {p(w_{i}\vert S)}{p(w_{i}\vert \neg S)}}.}

W ten sposób, prawdopodobieństwo stosunku p ( S | D ) / p ( ¬ S | D ) {\displaystyle p(S|D)/p(\neg S|D)} może być wyrażone jako stosunek prawdopodobieństw. Bieżące prawdopodobieństwo p ( S | D ) {\displaystyle p(S|D)} można obliczyć jako log   ( p ( S | D ) / p ( ¬ S | D ) ) , {\displaystyle \log \ (p(S|D)/p(\neg S|D)),} korzystając z własności, że p ( S | D ) + p ( ¬ S | D ) = 1. {\displaystyle p(S|D)+p(\neg S|D)=1.}

Otrzymujemy więc:

ln p ( S | D ) p ( ¬ S | D ) = ln p ( S ) p ( ¬ S ) + i ln p ( w i | S ) p ( w i | ¬ S ) . {\displaystyle \ln {\frac {p(S\vert D)}{p(\neg S\vert D)}}=\ln {\frac {p(S)}{p(\neg S)}}+\sum _{i}\ln {\frac {p(w_{i}\vert S)}{p(w_{i}\vert \neg S)}}.}

W końcu możemy sklasyfikować dany dokument. Jest to spam, jeśli

ln p ( S | D ) p ( ¬ S | D ) > 0. {\displaystyle \ln {\frac {p(S\vert D)}{p(\neg S\vert D)}}>0.}

W innym wypadku dokument spamem nie jest.

Linki zewnętrzne

  • Naiwny klasyfikator Bayesa. Internetowy Podręcznik Statystyki. [dostęp 2011-07-13].