Algorytmy klasyfikacji - Politechnika Warszawska

Transkrypt

Algorytmy klasyfikacji - Politechnika Warszawska
Algorytmy klasyfikacji
Konrad Miziński
Politechnika Warszawska
Wydział Elektroniki i Technik Informacyjnych
Warszawa, Polska
[email protected]
Streszczenie—Niniejszy dokument opisuje jedna˛ z metod
odkrywania wiedzy jaka˛ jest klasyfikacja. Zawiera ogólne
wprowadzenie do samego odkrywania wiedzy oraz przybliża samo poj˛ecie klasyfikacji. Nast˛epnie opisuje poszczególne
modelu klasyfikacji, proces ich budowy, wady, zalety oraz
zastosowania. Najwi˛eksza˛ uwag˛e przywiazuje
˛
do drzew decyzyjnych, ale przedstawia również takie algorytmy klasyfikacji
jak lasy losowe, naiwny klasyfikator Bayesa czy metoda najbliższych sasiadów.
˛
Słowa kluczowe-okdrywanie wiedzy; eksploracja danych;
klasyfikacja; drzewa decyzyjne;
I. W ST EP
˛
W dzisiejszym świecie przechowujemy coraz wi˛eksze
ilości danych. Z czasem jednak samo ich gromadzenie
przestało nam wystarczać. Zacz˛eliśmy obserwować pewne
regularności w danych oraz nauczyliśmy si˛e przewidywać
jak moga˛ wygladać
˛
dane jeszcze nieznane. Tak narodziła
si˛e nowa interdyscyplinarna dziedzina nauki zwana odkrywaniem wiedzy (ang. data mining).
II. O DKRYWANIE WIEDZY
Niezależnie od obszaru, w którym chcielibyśmy zastosować wybrane przez nas metody odkrywania wiedzy,
w każdym z nich możemy wyróżnić pewne jednakowe
elementy. Pierwszym z nich jest dziedzina (nazywana też
populacja).
˛ Jest to zbiór wszystkich obiektów, których dotyczyć ma odkrywana przez nas wiedza. Oczywiście nigdy
nie jesteśmy w stanie poznać całej dziedziny. Zazwyczaj
dysponujemy jedynie jej fragmentem tzw. zbiorem danych.
Zbiór taki najcz˛eściej przyjmuje postać tabeli w relacyjnej
bazie danych. Przyjmuje si˛e ponadto, że poszczególne
przykłady opisane sa˛ za pomoca˛ tzw. atrybutów, czyli
poszczególnych cech obiektów z dziedziny, które formalnie
definiuje si˛e jako dowolna˛ funkcj˛e określona˛ na dziedzinie.
Atrybuty możemy podzielić na:
• ciagłe
˛ - określone na zbiorze liczb rzeczywistych,
• dyskretne - określone na skończonym zbiorze wartości,
które z kolei podzielić można na:
– nominalne - kiedy nie możemy określić wzajemnych relacji mi˛edzy atrybutami,
– porzadkowe
˛
- kiedy atrybuty daj˛e si˛e uporzad˛
kować.
Rysunek 1.
Dziedzina, zbiór danych, atrybuty
Sam proces eksploracji danych podzielić można na kilka
podstawowych etapów. Pierwszym z nich jest wnioskowanie
indukcyjne. Polega ono na zauważaniu w danych pewnych
reguł i zależności, a jego wynikiem jest uzyskanie wiedzy.
Kolejnym krokiem jest formalne zapisane posiadanej wiedzy
w reprezentacji obliczeniowej, czyli stworzenie tzw. modelu.
Nast˛epnie możliwe jest tzw. wnioskowanie dedukcyjne - tzn.
zastosowanie modelu do nowych danych z dziedziny, w celu
przewidywania nieznanych do tej pory danych.
III. K LASYFIKACJA
Klasyfikacja˛ nazywamy semantyczny podział przykładów
na klasy, wykonywany według określonej zasady [4].
Mówiac
˛ prościej jest to wiedza o tym jak przynależność
do pewnej kategorii (tzw. klasy decyzyjnej) zależy od
atrybutów. W praktyce rol˛e klasy decyzyjnej pełni jeden
z atrybutów - tzw. atrybut docelowy. Oznacza to, że na
podstawie przykładów, dla których atrybut docelowy jest
znany, musimy stworzyć taki model, który b˛edzie w stanie
przywidzieć atrybut docelowy dla wszystkich przykładów z
dziedziny. Model taki nazywać b˛edziemy klasyfikatorem, a
proces przewidywania klasy decyzyjnej - predykcja.˛
IV. D RZEWA DECYZYJNE
Najbardziej rozpowszechnionym modelem klasyfikacji sa˛
drzewa decyzyjne. W ogólnym przypadku drzewa sa˛ struktura˛ składajac
˛ a˛ si˛e z w˛ezłów, z których wychodza˛ gał˛ezie
prowadzace
˛ do innych w˛ezłów badź
˛ liści (przy czym nie
ma ograniczenia na ilość gał˛ezi), oraz z liści, z których
nie wychodza˛ już żadne gał˛ezie. Szczególnym przypadkiem w˛ezła jest korzeń - w˛ezeł do którego nie prowadzi
żadna gałaź
˛ - punkt poczatkowy
˛
drzewa. W przypadku
drzew decyzyjnych w˛ezły reprezentuja˛ podziały przykładów
na podstawie odpowiednich testów, liście zaś odpowiednie
klasy docelowe.
Rysunek 2.
Drzewo decyzyjne
A. Konstrukcja drzewa
Konstrukcja drzewa decyzyjnego przebiega w sposób
zst˛epujacy
˛ (od korzenia do liści) i jest wyjatkowo
˛
prosta
i intuicyjna, składa si˛e z 2 podstawowych kroków:
• kryterium stopu - decyzja czy na danym etapie budowy
drzewa należy utworzyć w˛ezeł czy liść,
• wybór testu - w przypadku, gdy zdecydowaliśmy si˛
e
na utworzenie w˛ezła zamiast liścia, musimy określić w
jaki sposób dokonać podziału przykładów znajdujacych
˛
si˛e w w˛eźle.
wyczerpaliśmy pul˛e dost˛epnych testów - żaden z możliwych do użycia testów nie daje podziału na co najmniej dwa niepuste podzbiory, np. dlatego, że wszystkie
testy zostały już użyte lub zbiór zawiera sprzeczne
dane (przykłady o takich samych atrybutach ale innych
klasach docelowych).
Ponadto możemy narzucić na drzewo różnego rodzaju
ograniczenia majace
˛ wpływ na kryterium stopu:
• minimalna liczba przykładów w w˛
eźle - nie pozwalamy
na tworzenie w˛ezłów, w których znalazłoby si˛e mniej
przykładów, niż pewna z góry ustalona wartość,
• minimalna liczba przykładów w liściu - podobnie jak
powyżej, ale to nie to samo,
• maksymalna gł˛
ebokość drzewa - czyli odległość od
korzenia do najbardziej oddalonego liścia,
• maksymalna czystość klas w liściu - wymagamy w
każdym liściu był co najmniej jakiś wcześniej zdefiniowany odsetek przykładów należacych
˛
do innej klasy
docelowej niż dominujaca
˛ w liściu,
• minimalny przyrost informacji po podziale - żadamy
˛
aby każdy test był co najmniej tak dobry jak pewna
ustalona wartość, wi˛ecej o jakości testów w dalszej
cz˛eści artykułu.
•
C. Rodzaje testów
Testem nazywamy przyporzadkowanie
˛
poszczególnych
przykładów do gał˛ezi wychodzacych
˛
z danego w˛ezła. W
praktyce przyjmuje si˛e ograniczenie, że wynik testu jest
tak naprawd˛e funkcja˛ jednego z atrybutów. Wyróżniamy
nast˛epujace
˛ rodzaje tego typu testów:
• testy tożsamościowe:
t(x) = a(x)
•
B. Kryterium stopu
Kryterium stopu oznacza decyzj˛e, czy w danym momencie kończymy konstrukcj˛e drzewa i tworzymy liść w takim przypadku musimy przypisać do niego klas˛e decyzyjna,˛ najcz˛eściej jest to klasa dominujaca
˛ w danym liściu,
czy tworzymy w˛ezeł i decydujemy si˛e na dalszy podział
przykładów. Wyróżnić można kilka sytuacji, w których
konstruujacy
˛ drzewo nie ma wyjścia i musi utworzyć liść,
sa˛ to tzw. Ostateczne kryteria stopu:
• zbiór zawiera przykłady tylko jednej klasy - wtedy
dalsze podziały nie maja˛ już sensu,
• zbiór przykładów jest pusty - bardzo rzadka sytuacja,
ale możliwa w przypadku niebinarnych testów. Jako
klas˛e docelowa˛ w danym liściu najlepiej wybrać w tym
przypadku klas˛e dominujac
˛ a˛ w rodzicu,
•
•
atrybut jest testem - tyle podziałów ile możliwych
wartości atrybutu,
testy równościowe:
1
a(x) = v
t(x) =
0
a(x) 6= v
do pierwszego poddrzewa trafiaja˛ te przykłady, których
zadany atrybut przyjmuje odpowiednia wartość. Pozostałe przykłady trafiaja˛ do drugiego poddrzewa,
testy przynależnościowe:
1
a(x) ∈ V
t(x) =
0
a(x) ∈
/V
podobnie jak w przypadku testów równościowych, ale
o przynależności przykładu do pierwszego poddrzewa
decyduje przynależność atrybutu do zadanego przedziału,
testy podziałowe:

1
a(x) ∈ V1



2
a(x) ∈ V2
t(x) =
...



k
a(x) ∈ Vk
•
podział przeciwdziedziny atrybutu na kilka przedziałów odpowiadajacy
˛
przydziałowi przykładów do
poszczególnych poddrzew.
testy nierównościowe:
1
a(x) < v
t(x) =
0
a(x) ≥ v
sprawdzenie nierówności atrybutu. Test ten, w przeciwieństwie do pozostałych, może być zastosowany
jedynie do atrybutów ciagłych.
˛
D. Wybór podziału
Znajac
˛ możliwe do wykonania testy potrzebujemy jeszcze
kryterium oceny, który z nich jest najlepszy. Kryterium
to powinno faworyzować testy, które przybliżaja˛ nas najbardziej do momentu utworzenia liścia - tzn. takie, które
maksymalizuja˛ rozkład klas decyzyjnych na poszczególne
poddrzewa.
1) Entropia: Naturalnym kandydatem wydaje si˛e wi˛ec
entropia - miara ilości informacji. W tym przypadku
wyrażona wzorem:
E=−
X |Ci |
|X|
log
|Ci |
|X|
gdzie |Ci | to liczba przykładów danej klasy decyzyjnej, a
|X| to liczba wszystkich przykładów w w˛eźle. Pozwala na
ona na policzenie przyrostu informacji jako:
∆E = E − ET
gdzie ET to średnia ważona entropia po podziale. Da˛żymy
oczywiście do maksymalizacji wartości ∆E, poprzez wybór
takiego testu, dla którego ET jest jak najmniejsza.
2) Indeks Giniego: Inna powszechnie stosowana˛ miara˛
jakości podziału jest tzw. indeks Giniego wyrażony wzorem:
gini(X) = 1 −
X |Ci |
)2
(
|X|
Ma on właściwości podobne do entropii: jego wartości
należa˛ do przedziału [0, 1], a wartość 0 osiaga
˛ w przypadku maksymalnej czystości klas. W takim sam sposób
pozwala również na wyliczenie i maksymalizacj˛e przyrostu
informacji. Eksperymenty wykazały jednak, że w ocenie
jakości podziału sprawdza si˛e lepiej od entropii. Jest to
szczególne widoczne w przypadku testów o niebinarnej
ilości podziałów - wtedy entropia ma tendencje do premiowania testów o wi˛ekszej ilości podziałów (konieczne jest
wi˛ec przeskalowanie przyrostu informacji przez odwrotność
liczby podziałów w w˛eźle).
E. Ocena jakości drzewa
Wyróżnić możemy 2 podstawowe kryteria oceny jakości
drzewa decyzyjnego:
1) Rozmiar: Preferowane sa˛ drzewa jak najprostsze, tzn.
takie, które umożliwiaja˛ predykcj˛e na podstawie jak najmniejszej liczby atrybutów. Do numerycznej reprezentacji
rozmiaru drzewa posłużyć moga:
˛
• liczba w˛
ezłów,
• liczba liści,
• wysokość drzewa.
2) Dokładność klasyfikacji: Dokładność klasyfikacji najcz˛eściej reprezentowana jest przez odsetek bł˛edów klasyfikacji. Ważne jest jednak aby został on policzony na innym
zbiorze danych niż ten, który posłużył do budowy drzewa.
Stad
˛ jednym z pierwszych etapów konstrukcji tego typu
klasyfikatora powinno być podzielenie danych na 2 zbiory:
• zbiór trenujacy
˛ - służacy
˛ do budowy drzewa,
• zbiór testowy - służacy
˛ do jego oceny.
F. Nadmierne dopasowanie
Z problemem nadmiernego dopasowania mamy do
czynienia gdy wygenerowany przez nas klasyfikator jest
przeuczony, tzn. zbyt dobrze klasyfikuje dane ze zbioru
trenujacego
˛
kosztem danych rzeczywistych. Jeśli jesteśmy
w stanie znaleźć taki model który, jest lepszy od wygenerowanego przez nas na zbiorze rzeczywistym, a jednocześnie gorszy na zbiorze trenujacym
˛
to wygenerowany
przez nas klasyfikator jest na pewno nadmiernie dopasowany. Dlatego też preferowane sa˛ dość proste drzewa,
gdyż im mniejszy jest ich rozmiar tym mniejsze ryzyko
nadmiernego dopasowania.
G. Przycinanie
Najcz˛eściej stosowana˛ technika˛ unikania nadmiernego
dopasowania jest przycinanie, czyli redukcja rozmiaru
drzewa już po jego zbudowaniu. Polega ono na prostym
zastapieniu
˛
poddrzewa liściem oraz wskazaniu w nim takiej
klasy decyzyjnej, jaka dominuje w całym poddrzewie.
Możliwa jest różna kolejność rozpatrywania poddrzew
do zastapienia,
˛
jednak najbardziej rozpowszechnione jest
przycinanie od dołu, które to pozwala nanosić łagodne
zmiany w strukturze drzewa.
H. Kryteria przycinania
Istnieje wiele kryteriów przycinania, tzn. testów mówia˛
cych nam o tym czy dane poddrzewo należy zastapić
˛ liściem
czy też nie. Do najważniejszych z nich należa:
˛
• Przycinanie redukujace
˛ bład
˛ (ang. Reduced Error Pruning) - zast˛epujemy poddrzewo liściem kiedy bład
˛ po
przyci˛eciu jest taki sam albo mniejszy. Kryterium to
mimo, że jest proste ma jedna˛ wad˛e - wymaga osobnego zbioru przykładów do przycinania.
• Przycinanie minimalizujace
˛ bład
˛ (ang. Minimal Error Pruning) - w przypadku gdy nie możemy sobie
pozwolić na wydzielenie osobnego zbioru przykładów
do przycinania możemy spróbować estymować liczb˛e
bł˛edów w poszczególnych elementach drzewa. W przypadku liści możemy posłużyć si˛e tzw. m-estymacja˛ tzn.
dodaniem do zbioru przykładów w liściu pewnej z
góry ustalonej liczby przykładów, w których odsetek
przykładów danej klasy decyzyjnej jest taki sam jak w
całym zbiorze trenujacym.
˛
Odsetek bł˛edów na takim
zbiorze ma wtedy postać:
eb = 1 −
•
|Ci | + mp
|X| + m
gdzie m to liczba przykładów dodanych do liścia, a
mp to liczba przykładów klasy dominujacej.
˛
Przez jego
propagacj˛e w gór˛e (np. za pomoca˛ średniej ważonej)
możemy uzyskać odsetek bł˛edów w poszczególnych
w˛ezłach.
Przycinanie z parametrem złożoności (ang. Costcomplexity Pruning) - możemy również wprowadzić
dodatkowy parametr, który dodany do odsetka bł˛edów
w w˛eźle, zwi˛eksza szanse na uzyskanie mniejszego
odsetka bł˛edów w ewentualnie utworzonym liściu.
Przyj˛eło si˛e, że parametr tan jest zazwyczaj przemnażany przez liczb˛e podziałów w w˛eźle. Warunek na
przyci˛ecie przyjmuje wtedy postać:
e(l) ≤ e(w) + α · |w|
gdzie e(l) i e(w) oznaczaja˛ odpowiednio odsetek
bł˛edów w liściu i w˛eźle, α parametr złożoności, a |w|
liczb˛e podziałów w w˛eźle. Zauważyć należy, że płynnie
przesuwajac
˛ parametr α otrzymujemy ciag
˛ drzew, w
którym każde kolejne jest naddrzewem poprzedniego.
Wybór najlepszego z nich najlepiej pozostawić intuicji. Znajac
˛ odsetek bł˛edów w poszczególnych liściach
zwykle jesteśmy w stanie ocenić, które z otrzymanych
drzew sprawdzi si˛e najlepiej na danych rzeczywistych.
Jeśli jednak z jakiś powodów nie jesteśmy w stanie
wybrać najlepszego z nich, możemy skorzystać np. z
reguły jednego odchylenia standardowego - tzn. wybrać
najprostsze drzewo, które jest nie gorsze od najlepszego
o wi˛ecej niż jedno odchylenie standardowe.
V. L ASY LOSOWE
Lasy losowego sa˛ przykładem modelowania zespołowego
- tzn. takiego takiego, w którym model właściwy jest
zbiorem mniejszych modeli, a proces predykcji predykcji
odbywa si˛e przez głosowanie (proste lub z wagami). Lasy
losowe zgodnie intuicja˛ składaja˛ si˛e z pewniej ilości drzew.
Różnorodność poszczególnych drzew osiaga
˛ si˛e poprzez
losowe zaburzenie algorytmu ich budowy. Losowość ta
przebiega w dwojaki sposób:
1) Bagging przykładów:
Przykłady do budowy
poszczególnych drzew wybieranie sa˛ metoda˛ losowania
ze zwracaniem. Oznacza to, że do budowy pojedynczego
drzewa wykorzystanych zostanie średnio 2/3 danych ze
zbioru trenujacego.
˛
Podejście to pozwala zmniejszyć
wrażliwość klasyfikatora na zmiany w danych trenujacych,
˛
zwieszajac
˛ tym samym jego stabilność. Pozwala również
na uzyskanie nieobcia˛żonego estymatora bł˛edu klasyfikacji.
2) Losowanie atrybutów: Poszczególne drzewa decyzyjne generowanie sa˛ z wykorzystaniem losowych atrybutów. Losowanie to może odbywać si˛e w dwojaki sposób.
Albo podczas każdorazowego wyboru testu losowany jest
pewien podzbiór atrybutów, a podział jest dokonywany na
podstawie jednego z nich, albo atrybuty wykorzystane do
konstrukcji drzewa wybierane jeszcze przed rozpocz˛eciem
jego budowy. Szczególne dobre efekty przynosi to drugie
podejście. Wylosowanie na poczatku
˛ niewielkiej liczby atrybutów pozwala na uzyskanie rodziny bardzo małych drzew,
cz˛esto tzw. pieńków, czyli drzew składajacych
˛
si˛e jedynie z
korzenia i liści. Drzewa takie moga˛ posłużyć nie tylko do
klasyfikacji ale również do oceny wpływu poszczególnych
atrybutów na klas˛e decyzyjna.˛ Wszystkie te zalety sprawiaja,˛
że lasy losowe uznawane sa˛ za jedna˛ z najlepszych metod
klasyfikacji.
VI. M ETODA NAJBLI ŻSZYCH S ASIADÓW
˛
Opisane wyżej algorytmy sa˛ przykładem tzw. zapalczywego podejścia do problemu klasyfikacji. Charakteryzuje
si˛e ono budowa˛ modelu na podstawie zbioru trenujacego,
˛
a nast˛epnie całkowitym zapomnieniem danych trenujacych.
˛
Przeciwieństwem takiego podejścia jest klasyfikacja leniwa.
W tym podejściu model stanowia˛ same dane, a predykcja
odbywa si˛e poprzez porównanie nowych przykładów z
dziedziny z tymi ze zbioru trenujacego
˛
za pomoca˛ odpowiednich algorytmów. Przykładem takiej klasyfikacji jest bardzo
prosta i intuicyjna metoda najbliższych sasiadów.
˛
Polega
ona po prostu na wyborze klasy decyzyjnej najcz˛eściej
wyst˛epujacej
˛
wśród k najbardziej podobnych przykładów
(W przypadku remisu możemy wybrać klas˛e najpowszechniejsza˛ w całym zbiorze danych, badź
˛
rozstrygnać
˛ arbitralnie). Jedynym wymogiem tej metody jest zdefiniowanie pewniej miary odległości (ściślej niepodobieństwa)
pomi˛edzy poszczególnymi przykładami.
VII. NAIWNY KLASYFIKATOR BAYESA
Naiwny klasyfikator Bayesa bazuje na twierdzeniu
Bayesu, pozwalajacemu
˛
na obliczenie prawdopodobieństwa
warunkowego:
P (A|B) =
P (A)P (B|A)
P (B)
Zakładajac,
˛ że zdarzeniem A jest przynależność przykładu
do zadanej klasy, a zdarzeniem B ciag
˛ wartości jego atrybutów:
A→c=d
B → a1 = v1 , a2 = v2 , ..., ak = vk
możemy w prosty sposób otrzymać namiastk˛e klasyfikatora:
P (c = d|a1 = v1 , a2 = v2 , ..., ak = vk ) =
=
P (c = d)P (a1 = v1 , a2 = v2 , ..., ak = vk |c = d)
= (∗)
P (a1 = v1 , a2 = v2 , ..., ak = vk )
Zauważyć można, że mianownik powyższego wyrażenia w
żaden sposób nie zależy od atrybutu docelowego (Potrzebny
jest tylko po to aby prawdopodobieństwa sumowały si˛e do
jedynki). Możemy si˛e wi˛ec go pozbyć bez utraty informacji:
(∗) ∼ P (c = d)P (a1 = v1 , a2 = v2 , ..., ak = vk |c = d) = (∗∗)
Niestety tak skonstruowana funkcja prawdopodobieństwa
zwróci niezerowa˛ wartość tylko wtedy gdy zbiór trenujacy
˛
zawiera przykład o dokładnie takich samych atrybutach
jak przykład aktualnie rozpatrywany. Aby rozwiazać
˛
ten
problem wprowadźmy kolejne uproszczenie. Przyjmijmy
założenie o niezależności atrybutów:
∀i 6= j
P (ai = vi , aj = vj ) = P (ai = vi ) · P (aj = vj )
Równanie przyjmuje wtedy postać:
(∗∗) = P (c = d)
k
Y
P (ai = vi |c = d)
i=1
Co jest forma˛ dużo prostsza˛ o poczatkowej
˛
i zwracajac
˛ a˛
w wi˛ekszości przypadków niezerowe wartości. Predykcja
przebiega w tym przypadku w sposób bardzo prosty:
P r(x) = argmaxd∈C [P (c = d)
k
Y
P (ai = ai (x)|c = d)]
i=1
czyli po prostu wybieramy ta˛ klas˛e decyzyjna,˛ dla której
wyznaczony wcześniej wzór zwróci najwi˛eksza˛ wartość.
Jak łatwo zauważyć założenie o w niezależności
poszczególnych atrybutów zazwyczaj nie jest spełnione.
Stad
˛ właśnie człon „naiwny” w nazwie tego klasyfikatora.
Okazuje si˛e jednak, że pomimo „naiwnego” założenia o
niezależności atrybutów klasyfikator ten w wi˛ekszości zastosowań daje całkiem niezłe rezultaty. Dodatkowa˛ jego
zaleta˛ jest nie tylko predykcja oczekiwanej klasy decyzyjnej,
ale również możliwość wyznaczenia prawdopodobieństwa
przynależności do każdej z nich.
L ITERATURA
[1] Paweł Cichosz, Systemy uczace
˛ si˛e
[2] Daniel T. Larose, Discovering knowledge in data
[3] Tadeusz Morzy, Eksploracja danych: metody i algorytmy
[4] Klasyfikacja – Wikipedia, wolna encyklopedia [online]
http://pl.wikipedia.org/wiki/Klasyfikacja