Ocena modelu

Transkrypt

Ocena modelu
OCENA KLASYFIKACYJNYCH MODELI DATA MINING
(wybrane miary oceny algorytmów uczenia maszynowego)
Miary oceny klasyfikacyjnych modeli uczenia maszynowego dzielimy przede
wszystkim na parametry oceny oraz krzywe oceny. Pierwsze z nich są punktowymi
charakterystykami modelu zbudowanego dla danego zbioru instancji. Krzywe umożliwiają
rozpatrywanie różnych scenariuszy zastosowania poszczególnych klasyfikatorów. Punktami
odniesienia dla obydwu rodzajów miar są modele losowe lub inne klasyfikatory. W związku z
heurystycznym charakterem uczenia maszynowego poszczególne miary biorą często inne
aspekty informacyjne zbiorów danych i nie dają porównywalnych ocen. Określenia model
i klasyfikator będziemy używać zamiennie.
1. Parametry oceny
Przedstawione tu parametry oceny modeli odpowiadają prezentowanym w programie
komputerowym Weka. Przykład, na który się powołujemy, został zbudowany na bazie
klasycznego zbioru labor. Zawiera on 57 instancji, 16 atrybutów opisujących warunki
zatrudnienia oraz atrybut służący do klasyfikacji zatrudnienia na dwie klasy: bad (klasa P,
ang. positive) i good (klasa N, ang. negative). Klasyfikacji dokonaliśmy według drzewa J48,
które reprezentuje w programie Weka algorytm Quinlana, gdy – tak jak w naszym wypadku –
do przycinania drzewa użyjemy parametru confidenceFactor lub nie przycinamy drzewa. Dla
uproszczenia opisu za zbiór testujący przyjęliśmy zbiór treningowy, dzięki czemu
odwzorowaliśmy powstałe reguły decyzyjne w załączonym pliku Labor.xls. Plik ten zawiera
wyniki modelu z programu Weka oraz obliczenia miar oceny modelu, które są zbudowane na
bazie macierzy trafności (ang. Confusion Matrix).
Do
prezentacji
zależności
pomiędzy
zbiorem
wyjściowym
a
uzyskanym
klasyfikatorem służy macierz trafności (1.1), gdzie korzystamy z notacji:
TP (ang. true positive) – instancje z klasy P bad sklasyfikowane poprawnie,
FP (ang. false positive) – instancje z klasy N good sklasyfikowane błędnie jako klasa P bad,
FN (ang. false negative) – instancje z klasy P bad sklasyfikowane błędnie jako klasa N good,
TN (ang. true negative) – instancje z klasy N bad sklasyfikowane poprawnie.
Na bazie macierzy trafności uzyskujemy następujące parametryczne miary oceny
modelu:
1
1) dokładność (ang. Accuracy):
2) współczynnik TP (ang. TP rate lub Recall):
3) współczynnik FP (ang. FP rate):
4) precyzja (ang. Precision):
5) współczynnik F (ang. F-Measure):
Miara (1.2) dotyczy całego modelu i oznacza, że nasz klasyfikator 87,7% poprawnie
przydzielił instancje do odpowiednich klas. Zatem
to błąd
predykcji z zastosowanego modelu. Istotność błędu predykcji możemy przetestować
statystycznie korzystając z testu istotności dla frakcji elementów. Zwykle w modelach data
mining mamy do czynienia z dużą liczbą instancji (obserwacji), co umożliwia wyznaczenie
przedziałów ufności korzystając z aproksymacji rozkładem normalnym. Musimy jednak
pamiętać, że musimy mieć podstawy do uznania zbioru testowego za próbę losową, czyli
reprezentatywną dla populacji.
Pozostałe z wymienionych miar dotyczą klasyfikacji instancji jako klasy P.
Analogicznie obliczmy je dla klasy N we wspomnianym załączniku Labor.xls. Zasadę tą
możemy uogólnić na przypadek wielu klas: macierz trafień i bazujące na niej miary oceny
modelu budujemy traktując kolejno poszczególne klasy jako P i pozostałe jako N. Takie
ujęcie odpowiada często modelowanej sytuacji w data mining, gdzie jedna z klas oznacza
pozytywną sytuację. W naszym przypadku jest odwrotnie, tj. klasą P jest bad, ale dla potrzeby
tego krótkiego skryptu nie ma to znaczenia. W każdym razie współczynniki (1.3) – (1.6)
skupiają się na udziale sklasyfikowanych instancji jako „najbardziej interesująca” nas klasa P
w klasach zbioru testowego. Lepsze wyjaśnienie będzie możliwe przy opisie krzywych oceny.
Z punktu widzenia interpretacji możemy wyobrazić sobie sytuację, że interesują nas
negatywne oceny warunków zatrudnienia, gdyż właśnie takie warunki chcemy poprawić.
2
Praktyczne wykorzystanie macierzy trafności wydaje się najsensowniejsze przy
skorygowaniu jej o macierz zysków i strat odpowiadających odpowiednio trafnym i błędnym
klasyfikacjom instancji. W programie Weka można to uwzględnić w module Cost/Benefit
analysis.
Najbardziej syntetyczny parametr oceny modelu stanowi statystyka Kappa (1.7), którą
interpretujemy jako część trafności klasyfikacji naszego modelu, o którą przewyższa on
trafność klasyfikacji modelu losowego. Zmienność statystyki Kappa mieści się w przedziale
<0,1>, gdzie 0 oznacza model losowy a 1 idealny klasyfikator. Przyjmując oznaczenie T dla
liczby instancji zbioru testowego, Ak dla dokładności klasyfikatora (1.2) i analogicznie Al dla
dokładności klasyfikatora losowego otrzymujemy:
Uzyskany wynik dla naszego klasyfikatora oceny warunków zatrudnienia należy uznać za
wysoki, a nasz model za efektywny. Oczywiście, pamiętajmy o uproszczeniu polegającym na
użyciu zbioru treningowego jako zbioru testowego.
W programie Weka znajdziemy 4 miary oceny wartości predykcyjnych modeli.
Zwykle wykorzystywane są do oceny prognoz zmiennych numerycznych, więc opiszemy je
pobieżnie. Dla zastosowania tych miar musimy przyjąć, że zmienną użytą do klasyfikacji
reprezentuje zmienna binarna o wartościach: klasa P = 1, klasa N = 0. Przyjmujemy ponadto
oznaczenia:
p ϵ <0,1> to prognozowana wartość,
k = {P = bad = 1;N = good = 0} to aktualna wartość,
i = 1,2,…,T , gdzie T to liczba instancji zbioru testowego,
Korzystając z poniższych wzorów uzyskamy wyniki, które dla naszego modelu podajemy za
programem Weka:
6) średni błąd absolutny (ang. Mean absolute error):
7) pierwiastek średniego błędu kwadratowego (ang. Root mean squared error):
3
8) względny błąd absolutny (ang. Relative absolute error):
9) pierwiastek względnego błędu kwadratowego (ang. Root relative squared error):
Miary (1.8) i (1.9) pokazują średnie odchylenie wartości prognozowanych od
rzeczywistych wartości zbioru testowego. RMSE nadaje większą wagę odchyleniom
większym co do wartości bezwzględnej w stosunku do MAE. Gdy prognozowaną zmienną
jest niebinarna zmienna numeryczna miary te zachowują miano zmiennej i ich interpretacja
jako błędu predykcji jest oczywista. W naszym wypadku, gdzie wartość prognozowanej klasy
P wynosi 1, a prognoza klasy N jest po prostu zdarzeniem przeciwnym do prognozy klasy P,
warto uwzględnić przy interpretacji próg odcięcia (ang. threshold), który jest taką wartością
prognozowanej zmiennej p = p*, że
. Dla naszego modelu próg
odcięcia wynosi 0,557, czyli obliczone średnie błędy nie wydają się duże w tym sensie, iż nie
są wrażliwe na niewielkie zmiany p*.
Względne miary (1.10) i (1.11) pokazują odchylenie wartości prognozowanych od
rzeczywistych wartości zbioru testowego jako część zmienności zbioru testowego. RRSE
nadaje większe wagi wyższym odchyleniom w stosunku do RAE. Interpretacja dla naszego
modelu wydaje się tu prostsza niż poprzednio. Załóżmy, że zróżnicowanie zbioru testowego
(entropia zawartej w nim informacji) jest miarą ryzyka błędu losowej klasyfikacji instancji.
Wtedy, względne błędy predykcji możemy interpretować jako część losowego ryzyka,
którego nie unikniemy przy zastosowaniu naszego modelu. Uzyskane wartości RRSE około
60% i RAE około 40% wskazują, że nasz model redukuje znacząco ryzyko losowego błędu.
Zaprezentowane
powyżej
parametry
oceny
modeli
klasyfikacyjnych
należy
wykorzystywać w zależności od oczekiwań użytkowników modeli, czyli od najistotniejszych
z ich punktu widzenia aspektów klasyfikacji. Z pewnością dla modeli klasyfikacyjnych
bardziej przydatne są wzory (1.1) – (1.7) niż pozostałe. Pewne sugestie, co do dziedzin, w
których stosujemy poszczególne z nich podajemy poniżej przy opisie krzywych modeli.
4
2. Krzywe oceny
Krzywe oceny modeli są narzędziem służącym do porównań jakości różnych modeli
oraz rozpatrywania różnych scenariuszy wykorzystania poszczególnych klasyfikatorów.
Krzywe te wykorzystują wcześniej opisane miary bazujące na tabeli trafności.
W pierwszej kolejności scharakteryzujemy same krzywe. W tym celu skorzystamy z
dodatkowego zbioru testowego danych, którego instancje sklasyfikowano według pewnego
hipotetycznego klasyfikatora zmiennej binarnej. Zachowujemy dotychczasową konwencję, że
„interesująca nas” klasa to P = 1, a także wcześniejsze oznaczenia. Zbiór wraz z obliczeniami
do zbudowania wykresów krzywych zawiera plik Ocena modelu.xls.
W celu zrozumienia idei leżącej u podstawy krzywych oceny modelu przypomnijmy
twierdzenie Bayesa. Podajemy je w wersji dla współzależnych zdarzeń opisujących
interesującą nas sytuację. Przyjmujemy T = T1 + T2 oraz j ≠ j’, a także liczbę 1 jako miarę
zdarzenia sprzyjającego i oznaczmy zdarzenia jako:
Aj
– zdarzenie polegające na przynależności instancji do klasy P = 1, zatem
A’j’
– zdarzenie przeciwne do Aj polegające na przynależności instancji do klasy N = 0,
zatem
Bi
– zdarzenie polegające na poprawnym sklasyfikowaniu instancji jako P przez wybrany
klasyfikator, zatem
(Aj|Bi) – zdarzenie polegające na przynależności instancji do klasy P pod warunkiem, że nasz
klasyfikator sklasyfikował ją poprawnie jako P, zatem
– zdarzenie polegające na poprawnym sklasyfikowaniu instancji, pod warunkiem jej
klasyfikacji jako P przez wybrany klasyfikator, zatem
5
)– zdarzenie polegające na poprawnym sklasyfikowaniu instancji, pod warunkiem jej
klasyfikacji jako N przez wybrany klasyfikator, zatem
Upraszczamy zapis i uzyskujemy następującą zależność przy wykorzystaniu wzoru Bayesa:
Oznacza to, że prawdopodobieństwo poprawnej klasyfikacji instancji jako P przez nasz model
to precyzja klasyfikatora, która jest pozytywnie zależna od TP rate oraz negatywnie od
wielkości zbioru testowego, który będziemy nazywać zamiennie wielkością próby. Zależność
(2.7) jest wykorzystywana do budowy krzywych oceny modelu.
W celu wyrobienia sobie intuicji działania krzywych przypomnijmy w największym
skucie i przy dużej ogólności ideę tworzenia i działania klasyfikatorów. Zbiór treningowy jest
dzielony w sposób hierarchiczny na podzbiory przy wykorzystaniu informacji zawartej w
zbiorze. Wybór testu tworzącego podział według wartości poszczególnych atrybutów spełnia
kryterium uzyskania maksymalnej wartości informacyjnej uzyskanego podziału. Kolejność
otrzymania poszczególnych podzbiorów pozwala na zdefiniowanie przy użyciu indukcji reguł
decyzyjnych,
które
później
stosujemy do
podziału zbioru
testowego
i
wyboru
najefektywniejszego oraz ewaluacji uzyskanego klasyfikatora. Hierarchiczny podział sprawia,
że do „interesującej nas” klasy P klasyfikowane są kolejno instancje ze zbiorów o najwyższej
wartości informacyjnej, czyli o najwyższym prawdopodobieństwie uzyskania klasy P. Dla
zmiennej binarnej odpowiada takiemu podziałowi zbór uporządkowany od najwyższej do
najniższej wartości predykcji p, którą już użyliśmy przy opisie wzorów (1.8) – (1.11) (tak
uporządkowane dane zawiera arkusz Model w Ocena modelu.xls). Pozwala to obliczyć
precyzję modelu według (1.4) lub (2.7) dla każdej wielkości zbioru testowego i otrzymać
nierosnącą funkcję precyzji klasyfikatora względem wielkości próby. Oczywiście wraz ze
spadkiem precyzji i wzrostem wielkości próby rośnie TP i TP rate, aż do osiągnięcia progu
odcięcia. Ze względu na fakt, iż „interesującą nas” klasą jest P dalszy wzrost TP i TP rate
6
uzyskamy obniżając próg odciecia. Należy przy tym pamiętać, że zmniejszając próg odcięcia
zmieniamy optymalne rozwiązania naszego modelu. Te właśnie zależności wraz z
sukcesywnym obniżaniem progu odcięcia wykorzystywane są w konstrukcji krzywych oceny
modelu. W programie Weka różne ich konfiguracje można uzyskać za pomocą modułów
Visualize threshold curve lub Cost/Benefit analisys.
Na podstawie precyzji modelu możemy skonstruować krzywą Lift, którą prezentujemy
na wykresie 1. W celu porównywalności krzywej z krzywymi innych modeli zmienna lift
odnosi precyzję klasyfikatora do precyzji danych wyjściowych zbioru testowego, klasyfikując
go jako próbę losową:
Wykres 1: Hipotetyczna krzywa Lift
Lift
2,2
2,13
2
LIFT
1,8
1,6
1,52
1,4
1,2
1
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Wielkość próby
źródło: opracowanie własne
Kolory krzywych są standaryzowane i oznaczają odpowiednio:
czerwony – krzywa dla modelu losowego (ang. random),
niebieski – krzywa dla ocenianego modelu,
zielony – krzywa dla modelu idealnego (ang. wizard).
7
Krzywe niebieskie bliższe krzywej zielonej i dalsze od krzywej czerwonej oznaczają poprawę
jakości modelu mierzonego w tym wypadku precyzją.
Interpretacja wykresu jest dość oczywista. Ograniczając zbiór testowy do instancji
zawierających pewniejszą informację z punktu widzenia „interesującej nas” klasy P
uzyskujemy wyższą precyzję. Zaznaczony punkt, gdzie oceniany model ma o 1,52 wyższą
precyzję niż model losowy, wskazuje wielkość próby, przy której różnica TP naszego modelu
i modelu losowego jest najwyższa i wynosi 40 (por. wykres 3).
Druga popularna krzywa oceny modelu to Detektyw (ang. detected), która wskazuje
zmienność względnego ujęcia TP w stosunku do wielkości próby. W zależności od dziedziny,
której dotyczą dane wyjściowe TP rate określana jest czasami jako Recall. Podtrzymując
dotychczasowe oznaczenia wykres krzywej Detektyw prezentujemy na wykresie 2.
Wykres 2: Hipotetyczna krzywa Detektyw
Detektyw
100%
90%
77%
TP rate , Recall
80%
70%
60%
51%
50%
40%
30%
20%
10%
0%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Wielkość próby
źródło: opracowanie własne
Wykres powyższy potwierdza rosnący charakter liczby sklasyfikowanych jako
„interesująca nas” klasa P instancji. W zaznaczonym w analogicznym momencie punkcie
maksymalna różnica procentowa TP ocenianego modelu w stosunku do modelu losowego
wyniosła 26%, co w liczbach bezwzględnych daje 40.
8
Krzywe Lift i Detektyw uwzględniają po jednym parametrze oceny modelu, wiec
musimy mieć wyraźne wskazanie na wybór jednego z nich. Podobnie jak w wypadku oceny
klasyfikatorów na podstawie macierzy trafności właściwe jest uwzględnienie w analizie
kosztów i korzyści, co rozwiązuje często problem wyboru kryterium oceny. Podstawowym
atutem obu krzywych jest wykorzystanie doboru wielkości próby do poprawy jakości modelu
bez odwoływania się do informacji spoza niego samego. Obydwie krzywe przedstawiane są
czasami jako zależność TP od wielkości próby (por. wykres 3). Czasami poprawia to
własności
interpretacyjne
w
konkretnej
sytuacji:
widzimy dokładnie
jaką
cześć
uporządkowanego zbioru testowego należy wybrać, aby osiągnąć określoną liczbę TP
(oczywiście obliczenie tego z Detektywa nie powinno być problemem). Krzywe względnych
wielkości umożliwiają z kolei unikanie błędów przy porównaniu różnych modeli. Należy
pamiętać, że porównywanie modeli zbudowanych na różnych zbiorach testowych jest co do
zasady niewłaściwe.
Wykres 3: Hipotetyczna krzywa TP
TP/próba
160
152
140
117
120
TP
100
77
80
60
40
20
0
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Wielkość próby
źródło: opracowanie własne
Dobrym przykładem zastosowania krzywych Lift i Detektyw do rozpatrywania
różnych scenariuszy są mailingowe kampanie reklamowe. TP oznacza w nich oczekiwaną
ilość odpowiedzi przy wysyłce reklamy do określonego zbioru odbiorców, a precyzja
9
oczekiwany udział odpowiedzi w stosunku do wielkości kampanii. Przedstawione powyżej
krzywe są niekiedy określane jako krzywe wzrostu.
Krzywą oceny modelu, która uwzględnia poza konieczność kompromisu pomiędzy
trafnymi klasyfikacjami instancji jako „interesującej nas” klasy P a popełnianymi przy tym
błędami jest krzywa ROC. Jej stosowalność pochodzi z problemów alarmowania o
nietypowych sytuacjach, tzn. gdy musimy uwzględnić znaczne koszty fałszywych
klasyfikacji. Krzywa ROC pokazuje zależność pomiędzy TP a FP w ujęciu względnym, czyli
pomiędzy TP rate i FP rate. Zwróćmy uwagę, że wykres 4, na którym prezentujemy krzywą
ROC, różni się od Detektywa tylko określeniem osi poziomej, a FP rate ma ten sam kierunek
zmienności jaki ma uporządkowany zbiór testowy.
Wykres 4: Hipotetyczna krzywa ROC
ROC
100%
90%
77%
80%
TP rate
70%
60%
50%
40%
27%
30%
20%
10%
0%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
FP rate
źródło: opracowanie własne
Punkt, zaznaczony na wykresie, odpowiada temu samemu momentowi, co punkty na
poprzednich wykresach i jest to nadal maksymalna różnica między ocenianym modelem a
modelem losowym. Widzimy, że teraz pozytywny efekt jest jeszcze mocniejszy, porównując
na przykład krzywą ROC z krzywą Detektyw w tym punkcie. Relacja pomiędzy względną
trafnością TP rate i względnym błędem FP rate ocenianego klasyfikatora w tym punkcie
pozwala na przypisanie mu dobrej jakości.
10
Stwierdziliśmy wcześniej już przeciwny kierunek monotoniczności precyzji modelu
oraz TP rate, czyli także Recall. Określenie Recall jest często stosowane w problemach
wyszukiwania informacji (np. przeglądarki internetowe) i oznacza liczbę właściwych
odpowiedzi na zadane pytanie w stosunku do wszystkich właściwych odpowiedzi. Wtedy
precyzja oznacza udział właściwych odpowiedzi w liczbie wszystkich wyszukanych
odpowiedzi. Do wyboru takiej wielkości próby (proporcjonalna do Recall), która mogła by
wydawać się najsensowniejsza z punktu widzenia kompromisu pomiędzy obydwoma
parametrami stosujemy krzywą Recall/Precision. Na wykresie 5 prezentujemy ją w wersji
odwróconej Precision/Recall, co wydaje się czytelniejsze.
Wykres 5: Hipotetyczna krzywa Precision/Recall
1,00
Precision / Recall
1,00
0,95
0,88
0,90
0,84
0,85
Precision
0,80
0,77
0,75
0,75
0,70
0,75
0,71
0,73
0,68
0,65
0,61
0,60
0,55
0,50
0,47
0,45
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Recall, TP rate
źródło: opracowanie własne
Ten wykres nie zawiera krzywych random i wizard. Podawany jest często w
powyższej wersji, tj. z zaznaczonymi decylami Recall. Widać wyraźnie, że przestrzeń
pomiędzy 30-tym a 80-tym decylem Recall wiąże się z niznacznym spadkiem precyzji z 0,77
do 0,68. Sensowny wydaje się więc wybór punktu z przedziału pomiędzy 70-tym a 90-tym
decylem Recall. Oczywiście decydent znajdujący się w konkretnej sytuacji i znający
specyfikę problemu powiedziałby precyzyjniej, co byłoby najwłaściwsze. Ponownie wracamy
do uwagi, że najwłaściwszym rozwiązaniem byłoby zastosowanie analizy korzyści i strat.
11
Krzywe oceny modelu mogą być również zastosowane do porównania różnych
klasyfikatorów zastosowanych do tego samego zbioru testowego. Pokazujemy ten temat
skrótowo, gdyż wydaje się prosty i oczywisty. Wykresy 6,7,8 pokazują odpowiednio krzywą
Lift, Detektyw i ROC dla wcześniej prezentowanego modelu opartego na zbiorze Labor.
Obok niebieskich krzywych dla naszego modelu prezentujemy kolorem żółtym krzywe dla
pewnego hipotetycznego modelu. Krzywe żółte leżą poniżej krzywej niebieskiej, co oznacza
że klasyfikator z naszego modelu jest jakościowo lepszy ze względu na wszystkie istotne
parametry oceny. Oczywiście sytuacja mogłaby ulec zmianie podczas analizy korzyści i strat,
choć ewentualność taka jest mało prawdopodobna, gdy wszystkie parametry i krzywe oceny
są lepsze dla jednego z porównywanych modeli. Podany tu przykład jest dużym
uproszczeniem, gdyż w realnych sytuacjach, krzywe ocen często się przecinają wzajemnie. W
takiej sytuacji możemy zdecydować, który z klasyfikatorów jest lepszy dla określonych
liczebności uporządkowanego zbioru testowego.
Wykres 6: Krzywa Lift dla Labor
0; 2,47
2,4
0,26; 2,47
0,23; 2,31
0; 2,31
0,44; 2,17
2,2
0,32; 2,17
LIFT
2
1,8
0,46; 1,73
1,6
1,4
1,2
1; 1
1
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Wielkość próby %
źródło: opracowanie własne
12
Wykres 7: Krzywa Detektyw dla Labor
Detektyw
1
1; 1
0,44; 0,95
0,9
0,8
0,46; 0,79
TP rate, Recall
0,7
0,26; 0,65
0,32; 0,68
0,6
0,23; 0,53
0,5
0,4
0,3
0,2
0,1
0; 0
0
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Wielkość próby %
źródło: opracowanie własne
Wykres 7: Krzywa ROC dla Labor
ROC
1
1; 1
0,16; 0,95
0,9
0,8
0,29; 0,79
0,7
0,13; 0,68
TP rate
0,05; 0,65
0,6
0,08; 0,53
0,5
0,4
0,3
0,2
0,1
0; 0
0
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
FP rate
źródło: opracowanie własne
13