Naiwny klasyfikator bayesowski

Naiwny klasyfikator bayesowski to prosty klasyfikator oparty na wnioskowaniu statystycznym. Naiwność klasyfikatora przejawia się założeniem niezależności zmiennych losowych reprezentujących cechy klasyfikowanych obiektów, które nie zawsze, a raczej prawie nigdy, nie jest prawdziwe w zagadnieniach rzeczywistych. Popularność naiwnego klasyfikatora bayesowskiego wynika z jego prostoty, zarówno konceptualnej jak i obliczeniowej, która mimo swoich naiwnych założeń często prowadzi do dosyć dobrych wyników.

Naiwny klasyfikator bayesowski – wprowadzenie

Niech \(X_1, X_2, \ldots, X_d\) oznaczają zmienne losowe reprezentujące cechy klasyfikowanych obiektów, a \(Y\) oznacza zmienną losową reprezentującą etykietę klasy klasyfikowanych obiektów. Naiwny klasyfikator bayesowski opiera się na estymowaniu warunkowego rozkładu prawdopodobieństwa \(P(Y | X_1, X_2, \ldots, X_d)\) i wykorzystaniu go do klasyfikacji w taki sposób, że odpowiedzią naiwnego klasyfikatora bayesowskiego dla obiektu o cechach \(x_1, x_2, \ldots, x_d\) jest \(f(x_1, x_2, \ldots, x_d)\) określone następująco
$$f(x_1, x_2, \ldots, x_d) = \mbox{arg max}_y P(Y = y | X_1 = x_1, X_2 = x_2, \ldots, X_d = x_d).$$

Naiwny klasyfikator bayesowski – estymowanie rozkładu warunkowego

Na mocy twierdzenia Bayesa warunkowy rozkład prawdopodobieństwa \(P(Y | X_1, X_2, \ldots, X_d)\) można przedstawić jako
$$P(Y | X_1, X_2, \ldots, X_d) = \frac{P(Y) \cdot P(X_1, X_2, \ldots, X_d | Y)}{P(X_1, X_2, \ldots, X_d)}.$$

Z punktu widzenia klasyfikatora, rozkład prawdopodobieństwa \(P(X_1, X_2, \ldots, X_d)\) z mianownika powyższego ułamka nie jest istotny, bo nie zależy od zmiennej losowej \(Y\), a więc nie wpływa na wybór \(y\) maksymalizującego prawdopodobieństwo \(P(Y = y | X_1 = x_1, X_2 = x_2, \ldots, X_d = x_d)\).

Natomiast rozkład prawdopodobieństwa \(P(Y) \cdot P(X_1, X_2, \ldots, X_d | Y)\) z licznika powyższego ułamka można przekształcić w następujący sposób:
$$
P(Y) \cdot P(X_1, X_2, \ldots, X_d | Y) =
P(Y) \cdot P(X_1 | Y) \cdot P(X_2, X_3, \ldots, X_d | Y, X_1) =
P(Y) \cdot P(X_1 | Y) \cdot P(X_2 | Y, X_1) \cdot P(X_3, X_4, \ldots, X_d | Y, X_1, X_2) =
P(Y) \cdot P(X_1 | Y) \cdot P(X_2 | Y, X_1) \cdot P(X_3 | Y, X_1, X_2) \cdot P(X_4, X_5, \ldots, X_d | Y, X_1, X_2, X_3) =
\ldots =
P(Y) \cdot P(X_1 | Y) \cdot P(X_2 | Y, X_1) \cdot P(X_3 | Y, X_1, X_2) \cdots P(X_d | Y, X_1, X_2, \ldots, X_{d-1}) =
P(Y) \cdot \prod_{i=1}^d P(X_i | Y, X_1, X_2, \ldots, X_{i-1})
$$

Zakładając (naiwnie – stąd nazwa naiwny klasyfikator bayesowski), że zmienne losowe \(X_1, X_2, \ldots, X_d\) są niezależne, warunkowy rozkład prawdopodobieństwa \(P(X_i | Y, X_1, X_2, \ldots, X_{i-1})\) upraszcza się do \(P(X_i | Y)\), dla każdego \(i=1,2,\ldots,d\), a zatem rozkład prawdopodobieństwa \(P(Y) \cdot P(X_1, X_2, \ldots, X_d | Y)\) przyjmuje postać
$$
P(Y) \cdot P(X_1, X_2, \ldots, X_d | Y) =
P(Y) \cdot \prod_{i=1}^d P(X_i | Y, X_1, X_2, \ldots, X_{i-1}) =
P(Y) \cdot \prod_{i=1}^d P(X_i | Y) =
P(Y) \cdot \prod_{i=1}^d P(X_i | Y).
$$

Zatem rozkład prawdopodobieństwa \(P(Y | X_1, X_2, \ldots, X_d)\) sprowadza się do
$$P(Y | X_1, X_2, \ldots, X_d) = \frac{P(Y) \cdot \prod_{i=1}^d P(X_i | Y)}{P(X_1, X_2, \ldots, X_d)}.$$

Dla potrzeb klasyfikacji wystarczy więc estymowanie rozkładów \(P(Y)\) oraz \(P(X_i | Y)\), dla \(i=1,2,\ldots,d\), co jest znacznie prostsze niż estymowanie oryginalnego rozkładu prawdopodobieństwa \(P(Y | X_1, X_2, \ldots, X_d)\). Ostatecznie klasyfikator sprowadza się do
$$
f(x_1, x_2, \ldots, x_d) = \mbox{arg max}_y P(Y = y) \cdot \prod_{i=1}^d P(X_i = x_i| Y = y).
$$

Naiwny klasyfikator bayesowski – przykład

Przykład dotyczy konstrukcji prostego klasyfikatora do analizy zdolności kredytowej klientów pewnej instytucji finansowej.

Dane wejściowe zawierają następujące informacje o kliencie:
– czy wiek klienta jest poniżej 25 lat (zmienna losowa \(X_1\) o wartościach TAK i NIE),
– czy klient pracuje dłużej niż 5 lat (zmienna losowa \(X_2\) o wartościach TAK i NIE),
– czy klient ma inne zaciągnięte kredyty (zmienna losowa \(X_3\) o wartościach TAK i NIE).

Klasyfikator na podstawie informacji o kliencie (wartości zmiennych losowych \(X_1, X_2, X_3\)) ma przypisać klienta do jednej z trzech klas: terminowa spłata, niewielkie opóźnienia, duże zaległości (zmienna losowa \(Y\) o wartościach TS, NO, DZ).

Klasyfikator będzie konstruowany w oparciu o zestaw danych uczących zawierający informacje o 2000 klientów, którzy już zaciągnęli i spłacają kredyt w rozważanej instytucji finansowej, więc można orzec do której z klas należą.

Dane uczące

Na podstawie zestawu danych uczących stworzono poniższą tabelę przedstawiającą zbiorcze informacje o klientach. Podane liczby reprezentują liczbę klientów danej klasy (wiersze) o podanych cechach (kolumny). Przykładowo, klientów terminowo spłacających kredyt jest 1000, klientów terminowo spłacających kredyt w wieku poniżej 25 lat jest 200, klientów terminowo spłacających kredyt pracujących dłużej niż 5 lat jest 700, klientów terminowo spłacających kredyt posiadających inne kredyty jest 100.

                       wiek poniżej 25 lat  zatrudnienie dłużej niż 5 lat  \
terminowa spłata                       200                            700   
niewielkie opóźnienia                  600                            300   
duże zaległości                        100                            300   

                       inne kredyty  wszyscy  
terminowa spłata                100     1000  
niewielkie opóźnienia             0      600  
duże zaległości                 200      400  

Prawdopodobieństwa a priori

Wyznaczmy rozkład prawdopodobieństwa \(P(Y)\), czyli prawdopodobieństwa \(P(Y = y)\) dla \(y \in \{\mbox{TS}, \mbox{NO}, \mbox{DZ}\}\).

terminowa spłata         0.5
niewielkie opóźnienia    0.3
duże zaległości          0.2

Prawdopodobieństwa zdarzeń

Wyznaczmy rozkład prawdopodobieństwa \(P(X_1), P(X_2), P(X_3)\), czyli prawdopodobieństwa \(P(X_1 = \mbox{TAK}), P(X_1 = \mbox{NIE}), P(X_2 = \mbox{TAK}), P(X_2 = \mbox{NIE}), P(X_3 = \mbox{TAK}), P(X_3 = \mbox{NIE})\). Rozkłady \(P(X_1), P(X_2), P(X_3)\) są dwuwartościowe, więc wystarczy wyznaczyć prawdopodobieństwa \(P(X_1 = \mbox{TAK}), P(X_2 = \mbox{TAK}), P(X_3 = \mbox{TAK})\).

wiek poniżej 25 lat              0.45
zatrudnienie dłużej niż 5 lat    0.65
inne kredyty                     0.15

Warunkowe rozkłady prawdopodobieństwa

Wyznaczamy warunkowe rozkłady prawdopodobieństwa \(P(X_1|Y), P(X_2|Y), P(X_3|Y)\), czyli prawdopodobieństwa \(P(X_1 = \mbox{TAK} | Y = \mbox{TS}), P(X_1 = \mbox{TAK} | Y = \mbox{NO}), P(X_1 = \mbox{TAK} | Y = \mbox{DZ}), P(X_2 = \mbox{TAK} | Y = \mbox{NO}), \ldots, P(X_3 = \mbox{TAK} | Y = \mbox{DZ})\).

                       wiek poniżej 25 lat  zatrudnienie dłużej niż 5 lat  \
terminowa spłata                      0.20                           0.70   
niewielkie opóźnienia                 1.00                           0.50   
duże zaległości                       0.25                           0.75   

                       inne kredyty  
terminowa spłata                0.1  
niewielkie opóźnienia           0.0  
duże zaległości                 0.5  

Klasyfikacja naiwnym klasyfikatorem bayesowskim

Jak zaklasyfikować klienta o wieku poniżej 25 lat, zatrudnieniu dłużej niż 5 lat i posiadającego inne kredyty? Trzeba znaleźć klasę \(y \in \{\mbox{TS}, \mbox{NO}, \mbox{DZ}\}\), dla której wartość

\(P(Y = y) \cdot P(X_1 = \mbox{TAK}| Y = y) \cdot P(X_2 = \mbox{TAK}| Y = y) \cdot P(X_3 = \mbox{TAK}| Y = y)\)

jest największa.

Sprawdzamy więc trzy możliwości:

1. Dla \(y = \mbox{TS}\):

\(P(Y = y) \cdot P(X_1 = \mbox{TAK}| Y = y) \cdot P(X_2 = \mbox{TAK}| Y = y) \cdot P(X_3 = \mbox{TAK}| Y = y) =
P(Y = \mbox{TS}) \cdot P(X_1 = \mbox{TAK}| Y = \mbox{TS}) \cdot P(X_2 = \mbox{TAK}| Y = \mbox{TS}) \cdot P(X_3 = \mbox{TAK}| Y = \mbox{TS}) =
0.5 \cdot 0.20 \cdot 0.70 \cdot 0.10 = 0.00700000\)

2. Dla \(y = \mbox{NO}\):

\(P(Y = y) \cdot P(X_1 = \mbox{TAK}| Y = y) \cdot P(X_2 = \mbox{TAK}| Y = y) \cdot P(X_3 = \mbox{TAK}| Y = y) =
P(Y = \mbox{NO}) \cdot P(X_1 = \mbox{TAK}| Y = \mbox{NO}) \cdot P(X_2 = \mbox{TAK}| Y = \mbox{NO}) \cdot P(X_3 = \mbox{TAK}| Y = \mbox{NO}) =
0.3 \cdot 1.00 \cdot 0.50 \cdot 0.00 = 0.00000000\)

2. Dla \(y = \mbox{DZ}\):

\(P(Y = y) \cdot P(X_1 = \mbox{TAK}| Y = y) \cdot P(X_2 = \mbox{TAK}| Y = y) \cdot P(X_3 = \mbox{TAK}| Y = y) =
P(Y = \mbox{DZ}) \cdot P(X_1 = \mbox{TAK}| Y = \mbox{DZ}) \cdot P(X_2 = \mbox{TAK}| Y = \mbox{DZ}) \cdot P(X_3 = \mbox{TAK}| Y = \mbox{DZ}) =
0.2 \cdot 0.25 \cdot 0.75 \cdot 0.50 = 0.01875000\)

Ostatecznie więc klient o wieku poniżej 25 lat, zatrudnieniu dłużej niż 5 lat i posiadający inne kredyty najprawdopodobniej będzie miał duże zaległości w spłacie kredytu.