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