Klasyfikator bayesowski Załóżmy, że dane są prawdopodobieństwa przynależności do klasp( ),P( 2 ),...,P( L ) przykładów z pewnego zadania klasyfikacji, jak również gęstości rozkładów prawdopodobieństw wystąpienia wektora obserwacjixwposzczególnych klasach przykładów p(x ),p(x 2 ),...,p(x L ) zwane prawdopodobieństwami a-priori. Korzystając z reguły Bayesa można obliczyć gęstość rozkładu prawdopodobieństwa a-posteriori wystąpienia klasyk względem wektora obserwacjix: P( k x) = p(x k)p( k ), () p(x) gdzie gęstość rozkładu wartości wektora obserwacji p(x) jest sumą gęstości po wszystkich klasach: p(x) = k= p(x k ). (2) Prawdopodobieństwa a-posteriori dla wszystkich klas sumują się do jedności w całej dziedzinie zmienności wektora p(x). Teraz już tylko wystarczy każdemu klasyfikowanego wektorowi obserwacji p(x i ) przypisać klasę, której odpowiada maksymalna wartość prawdopodobieństwa a-posteriori: f(x) = argmaxp( x). (3) Przykładowe gęstości rozkładów w przypadku jednowymiarowych wektorów obserwacji i 2 klas przedstawione są na rys., na którym zaznaczono też obszary R i R 2 odpowiadające klasom i 2 przypisywanym według wzoru 3. R 2 R R 2 prawdopodobienstwo 0.8 0.6 0.4 p( x) p( x ) p( x) 2 p( x 2) 0.2 0 0 2 4 6 8 0 x Rys. : Gęstości rozkładów prawdopodobieństw a-priori oraz a-posteriori przy założeniu, że bezwarunkowe prawdopodobieństwa przynależności do klas wynosza P( ) = 0.4,P( 2 ) = 0.6 Klasyfikator bayesowski jest klasyfikatorem optymalnym (dowód w [2]) pod względem minimalizacji błędu uogólniania, o ile wykorzystane do obliczeń prawdopodobieństwa i gęstości rozkładów prawdopodobieństw odpowiadają prawdzie. Wynika to z funkcji błędu [2], który można wyrazić sumą prawdopodobieństw łącznych, gdy wektor obserwacji należy
w rzeczywistości do klasy innej niż klasa obszaru, do którego zostanie przypisany przez klasyfikator bayesowski: P(błąd klasyfikacji) = = i= i= j i j i P(x R i, j ) = i= R i p(x j )P( j )dx. j i P(x R i j )P( j ) = W przypadku jednowymiarowego wektora cech i 2 klas (jak na rys. 3) prawdopodobieństwo błędu wynosi: P(błąd klasyfikacji) = p(x 2 )P( 2 )dx+ p(x )P( )dx (4) R R 2 i można je interpretować jako sumę pól powierzchni pod tymi fragmentami krzywych gęstości rozkładów, które znajdują się w obszarach przypisanych do innych klas. Jeśli więc przesunięta zostanie jedna z granic decyzji tak jak na rys. 2, to pole powierzchni wzrośnie i tym samym wzrośnie błąd klasyfikacji. 0.4 prawdopodobienstwo 0.35 0.3 0.25 0.2 0.5 0. p( x ) P( ) R R 2 p( x 2) P( 2 ) 0.05 0 x 0 2 4 6 8 0 Rys. 2: Pole powierzchni (obszar zaciemniony) odpowiadajace błędowi klasyfikacji w przypadku nieoptymalnej granicy decyzji W przypadku jednowymiarowych wektorów obserwacji granice obszarówr,r 2,...,R L sprowadzają się do punktów, w przypadkach dwuwymiarowych do krzywych, w przypadkach trójwymiarowych do zakrzywionych powierzchni, itd. Widać stąd, że klasyfikator bayesowski pomimo swojej prostoty jest dosyć niepraktyczny w przypadku dużej liczby zmiennych wektora obserwacji, gdyż wymaga pamiętania wielowymiarowych rozkładów lub niemal równie złożonych granic decyzji. Do tego dochodzi konieczność wyznaczenia rozkładów prawdopodobieństw warunkowych p(x ),p(x 2 ),...,p(x L ) na podstawie zbioru przykładów uczących, jeśli nie są dane bezpośrednio. Stosuje się więc szereg uproszczeń takich jak założenie o statystycznej niezależności zmiennych (naiwny klasyfikator bayesowski [, 3]) czy narzucenie gotowych rozkładów prawdopodobieństw i estymacja ich parametrów.. Estymacja rozkładów prawdopodobieństw Niewątpliwą zaletą klasyfikatora bayesowskiego jest możliwość oceny i minimalizacji błędu uogólniania. Wymagana jest jednak znajomość rozkładów prawdopodobieństw wartości 2
wektora obserwacji dla poszczególnych klas obiektów. Rozkłady te nie są zazwyczaj dostępne i konieczna jest ich estymacja na podstawie zbioru przykładów dla każdej z klas. W metodach nieparametrycznych estymuje się zwykle całą funkcję rozkładu, co pozwala na dowolnie dokładne przybliżenie funkcji rozkładu w zależności od liczby dostępnych przykładów. W literaturze [, 2, 4] wyróżnić można 3 metody estymacji rozkładu: na podstawie histogramów, okno Parzena (Parzen window), L S najbliższych sąsiadów. Sporym problemem przy tworzeniu histogramów jest określenie liczby słupków m w przypadku jednej zmiennej. Każdy słupek odpowiada przedziałowi wartości zmiennej. Im jest ich więcej, tym dokładniej funkcja jest aproksymowana, ale wysokość każdego ze słupków obliczana jest wówczas na podstawie zazwyczaj mniejszej liczby przykładów wartości i co za tym idzie, może bardziej odbiegać od rzeczywistej wartości funkcji w punkcie, któremu odpowiada dany słupek. Gdyby ustalić dla każdej zmiennej taką samą liczbę wartości, liczba słupków dla N-wymiarowego wektora obserwacji wyniosłaby m N. Uzyskanie wiarygodnych wartości funkcji rozkładu wymaga proporcjonalnie dużej liczby przykładów. Druga metoda polega na obliczaniu wartości funkcji rozkładu w punkciexna podstawie przykładów znajdujących się w N-wymiarowej hiperkostce oknie o środku x i szerokości każdego z boków h. W obliczeniach wykorzystywana jest funkcja okna ϕ(u), która w najprostszym wariancie zwraca jeśli przykład znajduje się w hiperkostce: { ui < i =,2,...,N ϕ(u) = 2 (5) 0 w przeciwnym razie. Liczba przykładów klasy i znajdujących się w hiperkostce wynosi: L S (x,h) = ( ) x xj ϕ. (6) h j i Gęstość rozkładu można wyznaczyć dzieląc liczbę przykładów należących do hiperkostki przez liczbę wszystkich przykładów oraz objętość hiperkostki: p(x i ) = L S(x,h) K i V, (7) gdzie V = h N, K i jest liczbą przykładów klasy i. Funkcję okna można oczywiście zmodyfikować tak by uzyskać bardziej gładką funkcję gęstości np. zmniejszając wpływ tych przykładów, które znajdują się dalej od wektora x. Dobrym rozwiązaniem jest np. zastosowanie funkcji rozkładu normalnego jako funkcji okna. Zaletą tej metody w stosunku do metody opartej na histogramach jest możliwość uzyskania gładkiej funkcji gęstości rozkładu, problemem jest natomiast ustalanie szerokości hiperkostki. W metodzie L S najbliższych sąsiadów do obliczenia p(x i ) również wykorzystuje się przykłady znajdujące się blisko punktu x. Tym razem jednak liczba wykorzystywanych przykładów L S jest ustalana z góry, natomiast objętość hiperkostki lub hipersfery jest wyznaczana jako objętość minimalna, w której mieści się L S przykładów. Gęstość rozkładu wyznaczana jest podobnie jak poprzednio ze wzoru 7. Jest jeszcze inna, bardziej oszczędna obliczeniowo metoda zwana klasyfikatorem S-najbliższych sąsiadów: zamiast oddzielnie obliczać gęstości rozkładów wektorów obserwacji dla każdej z klas, a następnie klasyfikować nowe przykłady wybierając maksymalne prawdopodobieństwo klasy w zależności od wektora obserwacji zgodnie ze wzorem 3, można wyznaczyć pewną liczbę najbliższych przykładów z dowolnych klas, a następnie wybrać klasę najliczniej reprezentowaną. 3
.2 Estymacja parametrów rozkładu normalnego Gęstość rozkładu normalnego o średniej µ i wariancjiσ 2 dana jest wzorem: ) p(x) = exp ( (x µ)2, (8) (2πσ 2 ) /2 2σ 2 Zamiast konieczności estymacji całej krzywej rozkładu wystarczy więc wyznaczyć tylko 2 parametry: średnią i wariancję. W przypadku większej liczby zmiennych konieczne jest zastosowanie wielowymiarowego rozkładu normalnego. Taki wielowymiarowy rozkład prawdopodobieństwa tego, że wektorxnależy do klasy i dany jest wzorem: p(x i ) = exp (2π) N/2 Σ i /2 ( 2 (x m i) T Σ i (x m i ) ), (9) gdziem i jest średnim wektorem obserwacji klasy i, natomiastσ i jest macierzą kowariancji wektorów obserwacji klasy i daną wzorem: Σ i = E [ (x (i) m i )(x (i) m i ) T], (0) Σ i jest zaś wyznacznikiem tej macierzy. Najprostszym sposobem estymacji parametrów m i oraz Σ i jest wyznaczenie ich jako odpowiednich wartości średnich na podstawie zbioru przykładów klasy i : ˆm i = K i j i x j () ˆΣ i = K i j i (x j ˆm i )(x j ˆm i ) T, gdziek i jest liczbą przykładów klasyi. zęsto zamiast P( i x) wygodniej jest używać funkcji dyskryminacji dla każdej z klas (rys. 3), tzn. funkcji g (x),g 2 (x),...,g L (x), spośród których największą wartość powinna zwracać ta, której klasa jest najbardziej prawdopodobna w przypadku wektora x. Łatwo zauważyć, że prawdopodobieństwo p(x) we wzorze jest niezależne od klasy x g ( x) x 2 g 2 ( x) argmax y x N g L ( x) Rys. 3: Klasyfikacja z udziałem funkcji dyskryminacyjnych i w związku z tym można je pominąć. Ze względu na wykładniczy składnik wzoru 9 warto też zlogarytmować prawą stronę równania, co nie ma wpływu wybór najbardziej prawdopodobnej klasy, gdyż logarytmowanie zachowuje monotoniczność. Ostatecznie każda z funkcji dyskryminacyjnej przyjmuje postać: g i (x) = lnp(x i )+lnp( i ). (2) 4
Po podstawieniu 9 do 2 i usunięciu czynników niezależnych od klasy: g i (x) = 2 (x m i) T Σ i (x m i ) 2 ln Σ i +lnp( i ). (3) Niewątpliwą zaletą metod parametrycznych jest stosunkowo mała liczba parametrów podlegających estymacji w porównaniu do metod nieparamerycznych. Z uwagi na symetrię macierzy kowariancji liczba niezależnych parametrów podlegających estymacji wynosi 2 N(N + 3). Liczbę tę można zmniejszyć do 2N parametrów poprzez założenie o statystycznej niezależności zmiennych x,x 2,...,x N, dzięki czemu macierz kowariancji sprowadza się w tym wypadku do macierzy diagonalnej. Wykorzystanie tego założenia wiąże się z tzw. naiwnym klasyfikatorem bayesowskim opisanym w kolejnym podpunkcie..3 Naiwny klasyfikator bayesowski W naiwnym klasyfikatorze bayesowskim [, 2, 4] zakłada się niezależność zmiennych (cech obiektu) x,x 2,...x N względem siebie, co oznacza że każdą N-wymiarową gęstość rozkładu prawdopodobieństwa p(x ) można przedstawić jako iloczyn gęstości rozkładów prawdopodobieństw dla pojedynczych zmiennych. Klasyfikator przedstawiony równaniem 3 można więc uprościć do postaci: p(x )P() f(x) = argmaxp( x) = argmax p(x) N = argmaxp() p(x j ). Dzięki takiemu uproszczeniu nie jest wymagana znajomość wielowymiarowych gęstości rozkładu, a tylko jednowymiarowe. Znacznie uproszczona jest też estymacja parametrów gęstości rozkładów prawdopodobieństw w metodach parametrycznych, nie trzeba bowiem obliczać macierzy kowariancji. eną za udogodnienia jest słabe uogólnianie gdy zmienne w rzeczywistości nie są niezależne względem siebie. = wbrew nazwie, w metodach nieparametrycznych również występują parametry, tyle że o zmiennej liczbie oraz pozbawione interpretacji. Ich liczba wzrasta wykładniczo wraz z N, podczas gdy w przypadku estymacji parametrów rozkładu normalnego liczba parametrów wzrasta w tempie wielomianowym 5
Bibliografia [] Bishop.M.: Neural Networks for Pattern Recognition, larendon Press, Oxford, 995. [2] Duda R., Hart P.: Pattern lassification and Scene Analysis, John Wiley, New York 973. [3] Grąbczewski K.: Zastosowanie kryterium separowalności do generowania reguł klasyfikacji na podstawie baz danych, Praca doktorska, Instytut Badań Systemowych PAN, Warszawa 2003. [4] Mitchell T. M.: Machine Learning, McGraw-Hill, 997. 6