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