1 Klasyfikator bayesowski
Transkrypt
1 Klasyfikator bayesowski
1 Klasyfikator bayesowski Załóżmy, że dane sa˛ prawdopodobieństwa przynależności do klas P (C1 ), P (C2), . . . , P (CLC ) przykładów z pewnego zadania klasyfikacji, jak również g˛estości rozkładów prawdopodobieństw wystapienia ˛ wektora obserwacji x w poszczególnych klasach przykładów p(x|C1 ), p(x|C2 ), . . . , p(x|CLC ) zwane prawdopodobieństwami a-priori. Korzystajac ˛ z reguły Bayesa można obliczyć g˛estość rozkładu prawdopodobieństwa a-posteriori wystapie˛ nia klasy k wzgl˛edem wektora obserwacji x: P (Ck |x) = p(x|Ck )P (Ck ) , p(x) (1) gdzie g˛estość rozkładu wartości wektora obserwacji p(x) jest suma˛ g˛estości po wszystkich klasach: LC X p(x|Ck ). (2) p(x) = k=1 Prawdopodobieństwa a-posteriori dla wszystkich klas sumuja˛ si˛e do jedności w całej dziedzinie zmienności wektora p(x). Teraz już tylko wystarczy każdemu klasyfikowanego wektorowi obserwacji p(xi ) przypisać klas˛e, której odpowiada maksymalna wartość prawdopodobieństwa a-posteriori: f (x) = argmax P (C|x). (3) C Przykładowe g˛estości rozkładów w przypadku jednowymiarowych wektorów obserwacji i 2 klas przedstawione sa˛ na rys. 1, na którym zaznaczono też obszary R1 i R2 odpowiadajace ˛ klasom C1 i C2 przypisywanym według wzoru 3. R2 R1 R2 prawdopodobienstwo 1 0.8 p(C1|x) 0.6 p(C2|x) p(x|C1) 0.4 p(x|C2) 0.2 0 0 2 4 x 6 8 10 Rys. 1: G˛estoś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 (C1 ) = 0.4, P (C2 ) = 0.6 Klasyfikator bayesowski jest klasyfikatorem optymalnym (dowód w [2]) pod wzgl˛edem minimalizacji bł˛edu uogólniania, o ile wykorzystane do obliczeń prawdopodobieństwa i g˛estości rozkładów prawdopodobieństw odpowiadaja˛ prawdzie. Wynika to z funkcji bł˛edu [2], który można wyrazić suma˛ prawdopodobieństw łacznych, ˛ gdy wektor obserwacji należy w rzeczywistości do klasy innej niż klasa obszaru, do którego zostanie przypisany przez klasyfikator bayesowski: P (bład ˛ klasyfikacji) = LC LC X X i=1 = P (x ∈ Ri , Cj ) = i=1 j=1 j6=i LC X LC Z X i=1 LC LC X X P (x ∈ Ri |Cj )P (Cj ) = j=1 j6=i p(x|Cj )P (Cj )dx. Ri j=1 j6=i W przypadku jednowymiarowego wektora cech i 2 klas (jak na rys. 3) prawdopodobieństwo bł˛edu wynosi: Z Z p(x|C1 )P (C1 )dx (4) p(x|C2 )P (C2 )dx + P (bład ˛ klasyfikacji) = R2 R1 i można je interpretować jako sum˛e pól powierzchni pod tymi fragmentami krzywych g˛estości rozkładów, które znajduja˛ si˛e w obszarach przypisanych do innych klas. Jeśli wi˛ec przesuni˛eta zostanie jedna z granic decyzji tak jak na rys. 2, to pole powierzchni wzrośnie i tym samym wzrośnie bład ˛ klasyfikacji. prawdopodobienstwo 0.4 R1 0.35 R2 0.3 p(x|C2)P(C2) 0.25 0.2 p(x|C1)P(C1) 0.15 0.1 0.05 0 0 2 4 x 6 8 10 Rys. 2: Pole powierzchni (obszar zaciemniony) odpowiadajace ˛ bł˛edowi klasyfikacji w przypadku nieoptymalnej granicy decyzji W przypadku jednowymiarowych wektorów obserwacji granice obszarów R1 , R2 , . . . , RLC sprowadzaja˛ si˛e do punktów, w przypadkach dwuwymiarowych do krzywych, w przypadkach trójwymiarowych do zakrzywionych powierzchni, itd. Widać stad, ˛ że klasyfikator bayesowski pomimo swojej prostoty jest dosyć niepraktyczny w przypadku dużej liczby zmiennych wektora obserwacji, gdyż wymaga pami˛etania 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|C1 ), p(x|C2 ), . . . , p(x|CLC ) na podstawie zbioru przykładów uczacych, ˛ jeśli nie sa˛ dane bezpośrednio. Stosuje si˛e wi˛ec szereg uproszczeń takich jak założenie o statystycznej niezależności zmiennych (naiwny klasyfikator bayesowski [1, 3]) czy narzucenie gotowych rozkładów prawdopodobieństw i estymacja ich parametrów. 1.1 Estymacja rozkładów prawdopodobieństw Niewatpliw ˛ a˛ zaleta˛ klasyfikatora bayesowskiego jest możliwość oceny i minimalizacji bł˛edu 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 sa˛ zazwyczaj dost˛epne i konieczna jest ich estymacja na podstawie zbioru przykładów dla każdej z klas. W metodach nieparametrycznych estymuje si˛e zwykle cała˛ funkcj˛e rozkładu, co pozwala na dowolnie dokładne przybliżenie funkcji rozkładu w zależności od liczby dost˛epnych przykładów. W literaturze [1, 2, 4] wyróżnić można 3 metody estymacji rozkładu: • na podstawie histogramów, • okno Parzena (Parzen window), • LS najbliższych sasiadó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˛ecej, 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 taka˛ sama˛ liczb˛e wartości, liczba słupków dla N-wymiarowego wektora obserwacji wyniosłaby mN . 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 punkcie x na podstawie przykładów znajdujacych ˛ si˛e 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 1 jeśli przykład znajduje si˛e w hiperkostce: 1 |ui | < 21 i = 1, 2, . . . , N ϕ(u) = (5) 0 – w przeciwnym razie. Liczba przykładów klasy Ci znajdujacych ˛ si˛e w hiperkostce wynosi: X x − xj . LS (x, h) = ϕ h j∈C (6) i G˛estość rozkładu można wyznaczyć dzielac ˛ liczb˛e przykładów należacych ˛ do hiperkostki przez liczb˛e wszystkich przykładów oraz obj˛etość hiperkostki: LS (x, h) p(x|Ci ) ∼ , = Ki V (7) gdzie V = hN , Ki jest liczba˛ przykładów klasy i. Funkcj˛e okna można oczywiście zmodyfikować tak by uzyskać bardziej gładka˛ funkcj˛e g˛estości np. zmniejszajac ˛ wpływ tych przykładów, które znajduja˛ si˛e dalej od wektora x. Dobrym rozwiazaniem ˛ jest np. zastosowanie funkcji rozkładu normalnego jako funkcji okna. Zaleta˛ tej metody w stosunku do metody opartej na histogramach jest możliwość uzyskania gładkiej funkcji g˛estości rozkładu, problemem jest natomiast ustalanie szerokości hiperkostki. W metodzie LS najbliższych sasiadów ˛ do obliczenia p(x|Ci ) również wykorzystuje si˛e przykłady znajdujace ˛ si˛e blisko punktu x. Tym razem jednak liczba wykorzystywanych przykładów LS jest ustalana z góry, natomiast obj˛etość hiperkostki lub hipersfery jest wyznaczana jako obj˛etość minimalna, w której mieści si˛e LS przykładów. G˛estość rozkładu wyznaczana jest podobnie jak poprzednio ze wzoru 7. Jest jeszcze inna, bardziej oszcz˛edna obliczeniowo metoda zwana klasyfikatorem S-najbliższych sasiadów: ˛ zamiast oddzielnie obliczać g˛estości rozkładów wektorów obserwacji dla każdej z klas, a nast˛epnie klasyfikować nowe przykłady wybierajac ˛ maksymalne prawdopodobieństwo klasy w zależności od wektora obserwacji zgodnie ze wzorem 3, można wyznaczyć pewna˛ liczb˛e najbliższych przykładów z dowolnych klas, a nast˛epnie wybrać klas˛e najliczniej reprezentowana.˛ 3 1.2 Estymacja parametrów rozkładu normalnego G˛estość rozkładu normalnego o średniej µ i wariancji σ 2 dana jest wzorem: (x − µ)2 1 , exp − p(x) = (2πσ 2 )1/2 2σ 2 (8) Zamiast konieczności estymacji całej krzywej rozkładu wystarczy wi˛ec wyznaczyć tylko 2 parametry: średnia˛ i wariancj˛e. W przypadku wi˛ekszej liczby zmiennych konieczne jest zastosowanie wielowymiarowego rozkładu normalnego. Taki wielowymiarowy rozkład prawdopodobieństwa tego, że wektor x należy do klasy Ci dany jest wzorem: 1 1 T −1 p(x|Ci ) = exp − (x − mi ) Σi (x − mi ) , (9) (2π)N/2 |Σi |1/2 2 gdzie mi jest średnim wektorem obserwacji klasy Ci , natomiast Σi jest macierza˛ kowariancji wektorów obserwacji klasy Ci dana˛ wzorem: Σi = E (x(i) − mi )(x(i) − mi )T , (10) |Σi | jest zaś wyznacznikiem tej macierzy. Najprostszym sposobem estymacji parametrów mi oraz Σi jest wyznaczenie ich jako odpowiednich wartości średnich na podstawie zbioru przykładów klasy Ci : 1 X m̂i = xj (11) Ki j∈C i 1 X (xj − m̂i )(xj − m̂i )T , Σ̂i = Ki j∈C i gdzie Ki jest liczba˛ przykładów klasy i. Cz˛esto zamiast P (Ci |x) wygodniej jest używać funkcji dyskryminacji dla każdej z klas (rys. 3), tzn. funkcji g1 (x), g2 (x), . . . , gLC (x), spośród których najwi˛eksza˛ wartość powinna zwracać ta, której klasa jest najbardziej prawdopodobna w przypadku wektora x. Łatwo zauważyć, że prawdopodobieństwo p(x) we wzorze 1 jest niezależne od klasy g1(x) x1 x2 g2(x) argmax C y xN gLC(x) Rys. 3: Klasyfikacja z udziałem funkcji dyskryminacyjnych i w zwiazku ˛ z tym można je pominać. ˛ Ze wzgl˛edu na wykładniczy składnik wzoru 9 warto też zlogarytmować prawa˛ stron˛e równania, co nie ma wpływu wybór najbardziej prawdopodobnej klasy, gdyż logarytmowanie zachowuje monotoniczność. Ostatecznie każda z funkcji dyskryminacyjnej przyjmuje postać: gi (x) = ln p(x|Ci ) + ln P (Ci ). 4 (12) Po podstawieniu 9 do 12 i usuni˛eciu czynników niezależnych od klasy: 1 1 gi (x) = − (x − mi )T Σ−1 ln |Σi | + ln P (Ci ). i (x − mi ) − 2 2 (13) Niewatpliw ˛ a˛ zaleta˛ metod parametrycznych jest stosunkowo mała liczba parametrów podlegajacych ˛ estymacji w porównaniu do metod nieparamerycznych1 . Z uwagi na symetri˛e macierzy kowariancji liczba niezależnych parametrów podlegajacych ˛ estymacji wynosi 1 N(N + 3). Liczb˛e t˛e można zmniejszyć do 2N parametrów poprzez założenie o 2 statystycznej niezależności zmiennych x1 , x2 , . . . , xN , dzi˛eki czemu macierz kowariancji sprowadza si˛e w tym wypadku do macierzy diagonalnej. Wykorzystanie tego założenia wia˛że si˛e z tzw. naiwnym klasyfikatorem bayesowskim opisanym w kolejnym podpunkcie. 1.3 Naiwny klasyfikator bayesowski W naiwnym klasyfikatorze bayesowskim [1, 2, 4] zakłada si˛e niezależność zmiennych (cech obiektu) x1 , x2 , . . . xN wzgl˛edem siebie, co oznacza że każda˛ N-wymiarowa˛ g˛estość rozkładu prawdopodobieństwa p(x|C) można przedstawić jako iloczyn g˛estości rozkładów prawdopodobieństw dla pojedynczych zmiennych. Klasyfikator przedstawiony równaniem 3 można wi˛ec uprościć do postaci: f (x) = argmax P (C|x) = argmax C = argmax P (C) C C N Y p(x|C)P (C) = p(x) p(xj |C). j=1 Dzi˛eki takiemu uproszczeniu nie jest wymagana znajomość wielowymiarowych g˛estości rozkładu, a tylko jednowymiarowe. Znacznie uproszczona jest też estymacja parametrów g˛estości rozkładów prawdopodobieństw w metodach parametrycznych, nie trzeba bowiem obliczać macierzy kowariancji. Cena˛ za udogodnienia jest słabe uogólnianie gdy zmienne w rzeczywistości nie sa˛ niezależne wzgl˛edem siebie. 1 wbrew nazwie, w metodach nieparametrycznych również wyst˛epuja˛ 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 [1] Bishop C.M.: Neural Networks for Pattern Recognition, Clarendon Press, Oxford, 1995. [2] Duda R., Hart P.: Pattern Classification and Scene Analysis, John Wiley, New York 1973. [3] Grabczewski ˛ 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, 1997. 6