DRZEWA DECYZJI

advertisement
Maciej Bogunia
Fizyka , I rok MU,
Optoelektronika z Mikroelektorniką,
s171365
DRZEWA DECYZJI
IDEA I ZASTOSOWANIA
Praca zaliczeniowa z przedmiotu
„Inteligencja Obliczeniowa. Metody i Zastosowania”
Rok akademicki 2007/2008, semest letni
1
SPIS TREŚCI :
STRONA
Wstęp
3
1.
Idea drzew decyzji
3
1.1.
Drzewa w procesach decyzyjnych
4
1.2.
Drzewa decyzji w typowych zastosowaniach CI : klasyfikacja
5
danych i maszynowym uczeniu się .
1.3.
Budowa drzew decyzji
6
1.4.
Metody poprawy wyników uzyskiwanych dzięki drzewom decyzyjnym
8
1.4.1.
Przycinanie drzew
8
1.4.2.
Inne metody poprawy wyników
9
1.5.
Algorytmy tworzenai drzew decyzyjnych
10
1.5.1.
Algorytm ID 3
10
1.5.2.
Algorytm C4.5 i C5.0
11
1.5.3.
Algorytmy ewolucyjne
12
1.6.
Podsumowanie : cechy drzew decyzji.
12
2
Propozycja gry słownej opartej o drzewo decyzji
14
Źródła
17
2
Wstęp
W chwili obecnej, człowiek we wszystkich sferach swej działalności gromadzi
olbrzymie ilości danych. Dla skutecznego działania konieczna jest ich szybka obróbka tych
danych i podjecie na ich podstawie decyzji.
Przykładem może być tu przygotowywanie strategii długookresowej przez firmę z branży
spożywczej działającą w skali miedzynarodowej. Podjęcie decyzji w przypadku takiego
problemu wymaga rozwiązania problemów takich jak :
–
wybór zródła surowca,
–
selekcja optymalnego rynku zbytu, formy sprzedaży, sektora rynku,
–
optymalizacja cen,
–
wybór opakowań, odpowiedniej kampanii reklamowej
Proces decyzyjny wymagać będzie przeanalizowania danych dotyczacych rynku ze
strony konsumenta ( zmiany tendencji żywieniowych, zmiany w zamożności
społeczeństwa wpływajace na nietypowe zachowania konsumentów) jak i producenta ( np.
dane meteoroligiczne w celu wnioskowania o przyszłorocznych zbiorach produktów
rolnych).
W tym przypadku otrzymujemi zbiór danych w bardzo różnej postaci, których
kategoryzacja jak i wnioskowanie w oparciu o nie, nie są procesami dajacymi się łatwo
sprowadzić do prostych algorytmów. Dziedziną nauki, która próbuje stworzyć metody dla
realizacji tego typu problemów jest Inteligencja Obliczeniowa.
Drzewa decyzji to jedna z metod zaliczanych do tej dziedziny. Algorytm drzewa
decyzji znajduje zastosowanie zarówno w wspomaganiu procesów decyzyjnych jak i w
maszynowym uczeniu sie, gdzie służy do automatycznej eksploracji wiedzy na
podstawie analizy zgromadzonych przykładów.
1. Idea drzew decyzji.
Jak już zostało to ujete we wstępie, narzędzie nazywane „Drzewem decyzji” znajduje
zastosowanie w teorii decyzji jak i w metodach służących do selekcji informacji i
znajdowania reguł ( uczenia się) na podstawie dostępnych danych.
3
1.1.Drzewa w procesach decyzyjnych
W najprostszym przybliżeniu drzewo decyzji jest w teorii decyzji narzedziem
wspomagania procesów decyzyjnych, w którym dokonuje się wyboru pomiędzy możliwymi
zdarzeniami na podstawie prawdopodobieństwa ich zajścia, ich konsekwencji ( zjawisk,
które podjęta decyzja może za sobą pociągać), zysków i ryzyka przez dane zdarzenie
generowanych.
Illustration 1: Przykład prostego drzewa decyzyjnego
Rozważmy następujący przykład. Na rosyjski rynek weszła Polska marka produktów
chemii gospodarczej „Dosia” i w ciągu kilku miesięcy zdobyła znaczący udział w rynku tych
towarów 1. Spowodowało to drastyczny spadek sprzedaży ( a więc i przychodów)
producentów lokalnych, którzy zmuszeni są do podjecia działań dla polepszenia swej
sytuacji na rynku. Jedną z możliwości jest wprowadzenie nowej linii produktów , bardziej
konkurencyjnej dla marki „ Dosia” . Poniższy rysunek przedstawia proste drzewo decyzji
dla problemu czy wybrać szybkie wprowadzenie nowego produktu na rynek czy też
zdecydować się na dłuższy okres jego rozwoju.
W powyższym przypadku strategia długoterminowego rozwoju produktu z
prawdopodobieństwem 0.9 daje zysk co najmniej 300 tyś. USD , zaś podjecie decyzji
1 Warto zauważyć, że jest to przykłąd majacy odbicie w rzeczywistości.
4
przeciwnej pozwala na osiągniecie tego samego poziomu zysku z trzykrotnie mniejszym
prawdopodobieństwem. Kierujac się więc jedynie kryterium zysku, wybrany zostanie
długookresowy rozwój produktu. Oczywiscie rzeczywiste drzewo decyzji zasosowane do
tego rodzaju problemu było by dużo bardziej skomplikowane i uwzględniałoby dużo
większą ilość zjawisk i ich skutków ( chociażby ryzyko związane z kosztami utrzymania
firmy do wprowadzenia na rynek nowego produktu).
1.2. Drzewa decyzji w typowych zastosowaniach CI : klasyfikacja danych i
maszynowym uczeniu się .
Illustration 2: Przykład drzewa decyzyjnego w przypadku klasyfikacji.
Powyższy przykład przedstawia hipotetyczne drzewo decyzyjne, które mogło by służyć
do klasyfikacji próbek w trójwymiarowej przestrzeni cech ( X,Y,Z) na podstawie wartosci
tych cech.
Jak widać próbki są przydzielane do siedmiu różnych klas ( A -G) . Tu w przypadku
graficznego przedstawienia bardziej rozbudowanego drzewa decyzji lepiej widoczna
5
jest struktura podobieństwo której do drzew stała się zródłem nazwy. Stąd też bierze
się nazewnictwo elementów drzewa decyzji :
•
Korzeń to podstawa drzewa decyzyjnego w, której dokonywqany jest pierwszy
podział ( na powyższym przykładzie kryterium X> 0.5)
•
kolejne węzły , a więc miejsca w których analizowane są następne kryteria tworzą
gałęz drzewa , a gałęzie wychodzace z jednego węzła poddrzewo.
•
Liście to zakończenia określonej gałęzi , oznaczające przyporządkowanie do
konkretnej klasy ( tu : A -G)
W zastosowaniach CI drzewa decyzji służą między innymi do eksploracji danych, a
mianowicie jako klasyfikatory, których celem jest wykrycie wewnetrznej struktury
analizowanych danych. Innym zastosowaniem jest redukcja ilości danych, poprzez
redukcję ilości wykorzystywanych cech , przy zachowaniu poprawności analizy problemu.
1.3 Budowa drzewa decyzji
Drzewo decyzyjne jest przykładem wielopoziomowego procesu decyzyjnego, w którym
w miejsce jednoczesnego użycia pełnego zestawu cech opisującego pewne zjawisko,
decyzję jest generowana przy użyciu różnych podzbiorów tych cech na kolejnych
poziomach działania algorytmu.
Budowę drzewa decyzji można sprowadzić do następujacego algorytmu :
●
W pierwszej kolejności konieczny jest wybór reguły podziału dla każdego węzła
wewnątrz drzewa. Oznacza to wybór konkretnych cech oraz dla ich użycia do
podziału analizowanego zestawu danych na kazdym z węzłów.
●
Określenie zasad wyboru węzłów, które będą węzłami kończącymi podział, tzn. Na
których zostanie dokonana ostateczna klasyfikacja analizowanej próbki S do klasy
W. Wybór ten jest niezywkle istotny ze względu na ryzyko powstania drzewa z za
mało lub zbyt ogólną regułą klasyfikacji próbek.
●
Zasosowanie algorytmów mających na celu optymalizacje tworzonego drzewa
decyzji, np. Przyciecie drzewa ( pruning)
Dla przeprowadzenia dwóch pierwszych części stosuje się najczęściej reguły oparte na
6
teorii informacji. W podejściu tym posługuje się zmianą entropii do określenia czy dany
podział zachodzący na określonym węzle drzewa decyzyjnego jest informatywny.
Sama entropia w teorii informacji jest definiowana jako srednia ilosc informacji symboli
pochodzacych z pewnego probabilistycznego zródła informacji Każdy z tych symboli
występuje z określonym prawdopodobieństwem p . Entropia ( H) definiowana jest
następującym wzorem :
n
H =−∑ P a i log 2  P ai 
i=1
gdzie P(ai) juest prawdopodobieństwem zajścia zdarzenia ai .
Drzewo decyzji tworzymy na podstawie zmian entropii na kolejnych węzłach. Węzły na
których zachodzi duża zmiana entropii są zródłem najwiekszej ilości informacji ( tzn. Są to
najbardziej wartościowe podziały). W przypadku kiedy entropia na danym węzle wynosi
zero , oznacza to ze n jest mozliwe uzyskanie większej ilosci informacji z danego konaru
drzewa decyzyjnego – oznacza to lokalny koiec drzewa (klasyfikację próbki do klasy,
reprezentowanej przez dane zakończenie drzewa ).
Inną możliwością budowy drzewa decyzji w oparciu o teorię informacji jest kontrola
zysku informacyjnego , generowanego przez podział na danym węzle. Zysk informacyjny
zdefiniowany jest jako :
Przy czym test na węzle S dokonuje podziału próbek na dwa podzbiory St i Sf [] . Dalszą
rozbudowę danego konaru drzewa decyzyjnego kończy się gdy dany podział nie generuje
jusz zysku informacyjnego.
Tworzenie drzewa decyzyjnego odbywa się na pewnym zbiorze danych – zbiorze
treningowym na którym algorytm uczy sie klasyfikować określone zjawiska , przy czym
oczekuje się oczywiście że uzyskane drzewo bedzie w stanie w przyszłosci klasyfikować
według otrzymanych reguł również inne próbki niż zawarte w zbiorze testowym. W
przypadku zbyt małej ilości danych dla utworzenia takich zbiorów stosuje się
kroswalidację2.
Jednym z istotnych kryteriów stosowanych jest by drzewo nie było zbyt rozbudowane
2 Przy kroswalidacji z posiadanego (małego) zestawu danych losowo wybiera się zestaw próbek do testowania
algorytmu. Iteracyjnie uczy sie budowany model na zestawie nie wybrtanych danych a testuje na wybranych ( w
każdej iteracji jest są to inne zestawy)
7
i aby miarę możliwości bazowało na prostych funkcjach podziału. Problematyczne jest
stworzenie drzewa optymalnego. Zazwyczaj efektem działania algorytmów jest
powstawanie zbyt rozbudowanych drzew, które bardzo dobrze klasyfikują treningowy
zestaw danych, jednakże na innych zestawach danych wynikiem ich działania są
obciażone duzymi błędami (data overfitting) . Jest to szczególnie zauważalne w
przypadkach w których konieczna jest klasyfikacja niepełnego zestawu zaszumionych
danych.
Wprzypadku prostych hipotez jest mniejsza szansa że przezprzypadek będą one
pasować do analizowanych danych, stąd też z większym prawdopodobieństwem za
pomocą prostej funkcji podziału można łatwo dokonać skutecznej klasyfikacji danych.
Proste drzewa drzewa są obciążone mniejsża wariancją. Nie generują onerówniż zbyt
skomplikowanych podziałów w analizowanej przestrzeni cech, stąd tez zazwyczaj są to
algorytmy lepiej generalizujące. Proste drzewa lepiej radzą sobie takze w przypadku
zaszumionych zbiorów danych. Stąd też w algorytmach budowydrzew decyzyjnych oprócz
kryterium zysku informacyjnego stosuje się równocześnie kryterium wyboru metody
podziału generującej najmniejskomplikowane drzewo. Przykładem takiego algorytmu jest
ID 3. W przypadku otrzymania kilku drzew prowadzących do podobnegozysku
informacyjnego jako wynikowy wybierze on to , które jest najmniej rozgałęzione.
1.4 Metody poprawy wyników uzyskiwanych dzięki drzewom decyzyjnym
1.4.1. Przycinanie drzew decyzyjnych
Jak już to zostało napisane wcześniej budowa drzewa decyzyjnego na
określonymzestawie treningowych danych moze doprowadzić do powstania zbyt
rozbudowanego drzewa. Algorytm taki oprócz wspomnianego juz zbyt malego poziomu
generalizacji bedzie oczywiście stosunkowo wolny gdyz dla klasyfikacji bedzie rozważana
większa ilość warunków. Dla przeciwdziałania tego typu efektom stosuje się przycinanie
drzew . Polega ono na usuwania zbędnych elementów z drzewa po jego utworzeniu.
Oprócz faktycznego upraszczania drzew decyzyjnych , przyciunanie ma jeszcze jedną
zaletę. W przypadku stosowania reguł kończących dany konar drzewa przy uzyskaniu
okreslonej dokładności podziału ( zysku informacyjnego lub innefo kryterium) może sie
okazać, że algorytm tworzący drzewo zakończy działanie na danym słabym węźle, choć
kilka poziomów gałęziniżej będzie inny, bardzo efektywny węzeł. Jeśli więc w pierwszej
kolejności utworzymy całe drzewo, i następnie bedziemy je wstecznie przycinaćdo
8
rozsądnego rozmiaru, mamy szansę na pozostawienie tego nizej położonego węzła w
wynikowym drzewie.
Wyróznia się dwa podstawowe rodzaje przycianania drzew decyzyjnych :
●
wspomniane powyżej przycinanie wsteczne , polegajace na wygenerowaniu drzewa
które bedzie bardzo dobrze dopasowane do danego zbioru treningowego, a
następnie usuwanie od dołu najmniej efektywnych węzłów.
●
Przycinanie w przód , polegajace na wstrzymaniu dalszej rozbudowy danej gałęzi
jeśli na węzle znajduje się ilość próbek zaklasyfikowanych do tej smnaej klasy
,przekraczająca wyznaczony próg.
Istnieje wiele konkretnych rozwiazań realizujących przycinanie drzew, m.in. :
●
cost complexity pruning : w pierwszej kolejnosci dokonuje się podziałuydanych na
dwa zestawy :przeznaczony do generacji drzewa decyzyjnego i drugi przeznaczony
do jego pozniejszego przycięcia. Na zbiorze treningowym generuje się
jednocześnie wiele coraz mniejszych drzew decyzyjnych , których precyzja
testowana jest na drugim zestawie danych. Jako drzewo przycięte – wynikowe –
wybiera siędrzewo które charakteryzuje się największą dokładnością klasyfikacji
danych na tym drugim zestawie.
●
Metoda iteracyjna polegajaca na jednoczesnym rozbudowywaniu i przycinaniu
drzewa . Zestaw danych podzielony zostaje na dwa podzbiory. Opierając się na
jednym z nich , algorytm realizuje wzrost drzewa natomiast na drugim jego
jednoczesne przycięcie. Rola zbiorów jest zamieniana przy każdej z iteracji.
1.4.2. Inne metody poprawy efektywności drzew decyzyjnych :
Poza przycinaniem drzew dla poprawy dokładności tych algorytmów stosuje się szereg
innnych rozwiazań, które są szeroko stosowane w dziedzinie inteligencji obliczeniowej :
●
komitety drzew : jeden model podejmowania decyzji nie zawsze musi zapewniać
bardzo dobrą skuteczność we wszystkich przypadkach , szczególnie tych bardziej
różniących się od poprzednio analizowanych. Stąd też rozwiązaniem może być
homogeniczny zbiór modeli decyzyjnych ( tu drzew decyzyjnych) analizujących
dany problem przy różnym podejściu. Wynik jednoczesnego działania może zostać
uśredniony lub poddany podgłosowanie – może zostać stworzony oddzielny
9
algorytmpodejmujacy ostateczna decyzję bądz to poprzez wybranie decyzji na.
którą wskazuje większość drzew , lub poprzez głosowanie ważone3.
●
Boosting – w przypadku tej procedury , iteracyjnie tworzy się coraz lepszy model
procedury klasyfikacyjnej. Klasyfikowanym danym przypisane zostają odpowiednie
wagi, które w kolejnych iteracjach zostajazmienione w zależności od tego jak
dobrze tworzone drzewo je klasyfikuje. Zwiększone zostają wagi tych przypadków
które algorytm klasyfikuje z gorszą dokładnością, by „zachęcić” algorytm do
koncentracji na nich.
●
Bootstraping – w przypadku tej metody generowane jest wiele modeli w oparciu o
losowo wybrane zbiory próbek z dostępnego zestawu dancyh. Przy czym w
odróżnieniu od kroswalidacji, gdzie dokonuje się podziału na rozłaczne zbiory, w
bootstrapingu zbiory mogą zawierać te same próbki. Testowanie modeli odbywa się
na próbkach które nie zostały wybrane do tworzenia modeli. Ostatecznie wybierany
jest model zapewniający najlepsza dokładność.
1.5. Algorytmy tworzenia drzew decyzyjnych
Obecnie istnieje wiele algorymów służących do tworzenai drzew decyzyjnych. Poniżej
opisane zostały niektóre z nich. Prosty i podstawowy algorytm ID 3 , jeden z
najpopularniejszych C4.5 oraz przykład podejścia ewolucyjnego.
1.5.1. Algorytm ID 3
ID3 to jeden znajprostszych algorytmów tworzących drzewa decyzyjne. Działa on w
oparciu o zasadę maksimum zysku informacyjnego, a takze preferuje prostsze drzewa –
bazuje na najprostszych hipotezach.
Algorytm tworzenia drzewa decyzyjnego w ID 3 wygląda następujaco :
•
wybrana zostaje pewna cecha X ,która najlepiej odróznia próbki ( daje najwiekszy
zysk informacji)
•
cecha ta staje się kryterium podziału w korzeniu drzewa
•
dla każdej wartości yi cechy X stworzona zostaje nowa gałaź na podstawie testu
X=yi
•
Algorytm jest powtarzany w dół – tworzy kolejne węzły dla gałęzi wygenerowanych
w poprzednim kroku.
3
W którym decyzjom poszczególnych modeli przypisuje sięokreślone wagi, np. Na podstawie ich dokładności.
10
Oczywiście
Zaletą ID3 oprócz jego prostoty jest to iż w przypadku braku chałasu w zestawie
testowym to ID3 daje poprawny wynik dla wszystkich kategorii z zestawutreningowego.
Ten prosty algorytm majednak znaczące wady :
•
ID 3 nie radzi sobie z ciągłymi dziedzinami atrybutów (zakłada, że wartośći
atrybutów są dyskretne)
•
Algorytm ten nie radzi sobie zupełnie w przypadku niepełnych danych.
•
W ID 3 nie jest stosowane przycinanie drzewa , stąd też mimo stosowania prostych
hipotez istnieje ryzyko przerostu drzewa i overfittingu..
1.5.2. Algorytm C4.5 i C5.0
Algorytm C4.5 jest odpowiedzią na główne wady ID3. Przede wszystkim potrafi on sobie
poradzić z przypadkiem niepełnego zestawu danych oraz ciągłym rozkładem wartości
cech. Algorytm ten na podstawie znanych wartosci wyznacza najbardziej prawdopodobną
wartosc brakującej cechy i na tej podstawie dokonuje klasyfikacji. W przypadku
analizowania ciagłego rozkładu wartości dokonuje on dyskretyzacji danych. Realizowane
jest to w następujacy sposób :
•
Zbiór wartości z zestawu treningowego dzieli się na podzbiory zawirające wartości
< Ai oraz > Ai , gdzie oczywiście Ai jest jedna z wartosci analizowanej cechy. Dla
kazdego z takich podizałów wyznaczany jest zysk infoprmacyjny. Ostatecznie
wybierany jest taki podizął który generuje największy zysk informacji.
Dla przeciwdziałania występującej w ID 3 możliwosci przerostu drzewa , C4.5
zawiera funkcję przycinania drzewa która ma następujące cechy :
•
przycinanie jest realizowane wstecznie (zaczyna się od liści )
•
mając dany węzeł nie będący liściem i jego poddrzewo obliczanajest w
heurystyczny sposób wartość przewidywanego błędu dla aktualnego poddrzewa.
•
Obliczana jest wartość przewidywanego błędu dla sytuacji, gdyby rozpatrywane
poddrzewo zastąpić pojedynczym liściem z kategorią najpopularniejszą wśród liści.
•
Porównane zoostają te dwie wartości i ewentualnie dokonuje się zamiany
poddrzewa na pojedynczy liść.
11
Najnowsza wersja algorytmu C4.5 - C5.0 zawiera m.in. możliwość dyskretyzacji
nemerycznych danych przy użyciu funkcji opartych na teorii informacji, boosting, pre i post
pruning. C5.0 ma także takie praktyczne cechy jak większa szybkość i mniejsze użycie
pamieci operacyjnej komputera.
1.5.3. Algorytmy ewolucyjne
Jednym z podejść do problemu otrzymania efektywnego drzewa decyzji, jest stworzenie
algorytmu bazujacego na wzorcach zaczerpnietych z mechanizmów ewolucji. Można to
zrealizować przez stworzenie zespołu drzew o różnych parametrach startowych, które
będą opracowywac zadany problem, a jednocześnie będą modyfikowane w skutek
procesów podobnych do mutacji i wymiany informacji genetycznej ( crossover) .
Procesy mutacji realizuje się m.in. przez losową wymianę niektórych węzłów decyzyjnych
w konkretnym drzewie, losową zmianę kryterium decyzji na danym węźle, czy też losowe
stworzenie całego fragmentu drzewa ( kilku kolejnych poziomów decyzji). Jednocześnie
poszczególne drzewa czy też ich populacje ( modele o zbliżonych parametrach
startowych) rywalizują ze soba. Okresowo dochodzi do wymiany „genomu” - fragmentów
drzew między poszczególnymi rozwijanymi modelami. Te drzewa, które na danym etapie
rozwoju uzyskuja przewagę, czyli są dokładniejsze przekazuja swoje fragmenty do drzew
pozostajacych w tyle. Proces ewolucji zatrzymany zostaje po uzyskaniu drzewa
spełniajacego określone kryteria ( złożoność , generalizacja decyzji , dokładność
klasyfikacji).
1.6. Cechy drzew decyzji :
Drzewa decyzji znajduja zastosowanie w analizie dużej ilości istotnych problemów –
od analizy sygnałów w wojsku po analizę medyczną. Takie spektrum ich
zaawansowanych zastosowań wynika z ich wielu zalet :
●
Drzewa decyzji są zrozumiałe. Tworzą przejrzystą i łatwą do zrozumienia
reprezentację danych która może być analizowana nawet przez osoby bez
specjalnego matematycznego przygotowania.
●
Drzewa decyzji lepiej niż metody zorientowane numerycznie radzą sobie w
przypadku zmiennych o charakterze kategorycznym, takich jak religia, rasa , płeć.
●
Drzewa decyzji dobrze radzą sobie w przypadku zależności miedzy zmiennymi np.
12
pewne różnice w zachowaniach ludzi mogą zależeć od tego czy mieszkają oni w
północnej czy południowej Polsce. Algorytm drzewa decyzji dokona tu rozdziału
analizujac te przypadki oddzielnie.
●
Drzewy decyzji wykrywają ważne zmienne – analizując, które zmienne są
stosowane dla przeprowadzenia podziału na początkowych węzłach drzewa, można
łatwo określić które ze zmiennych opisujących klasyfikowane zjawisko mają
najwiekszą wartość w tym procesie.
●
Dobrze skonstruowany algorytm drzea decyzyjnego , dzięki zastosowaniu metod
takich jak „komitet drzew” może być bardzo skuteczny.
●
Drzewa Decyzji nie wymagają specjalnego przygotowania danych do ich analizy.
Mogą skutecznie(stosunkowo dzybko) działać nawet na dużych zestawach danych.
Niestety nie jest to metoda idealna . Do najwiekszych problemów zwiazanych z
stosowaniem drzew decyzyjnych zaliczyć należy :
●
Drzewa decyzji są niestabilne. Małe zaburzenie danych może prowadzić do
powstania zupełnie odmiennego mapowania danej przestrzeni.
●
Słabo radzą sobie w przypadku dostępnosci małej ilosci danych lub duzej ilości
cech o ciągłej reprezentacji
●
Nie wszystkie koncepcje można przedstawić używając drzew decyzji.
13
2. Propozycja gry słownej – systemu uczącego się opartego o algorytm
drzewa decyzji.
W niniejszym podrozdziale zostanie jako przykłąd zastosowania drzew decyzyjnych
zostanie przeanalizowana propozycja gry słownej, w której zadaniem programu jest
poprawne odgadnięcie o jaki przedmiot chodzi „graczowi” przy uzyskaniu od gracza jak
najmniejszej ilości informacji o nim. Pomysł powstał w oparciu o funkcjonujący algorytm
„20 -questions game”, który próbuje określić na podstawie odpowiedzi „gracza”, jakie
zwierze ma on na myśli.
W niniejszym przykładzie, jako temat gry opartej na drzewach decyzji zostały
wybrane... drzewa4. Program bedzie miał realizowac następujace zadania :
–
W sprawny sposób ( szybko i z dużą dokładnością) odgadywać propozycje „gracza”
–
Dla zrealizowania pierwszego zadania konieczne jest aby algorytm uczył się na
podstawie informacji pozyskiwanych od gracza – tzn. modyfikował swój opis
poszczególnych gatunków drzew, zmieniał kryteria które w pierwszej kolejności
pozwalaja na dyskryminację poszczególnych gatunków.
–
Program powinien także poszerzać swoją wiedzę o gatunkach drzew poprzez uczenie
się nowych propozycji, w przypadku gdy gracz zaproponuje przykład z poza tych o
których program wie.
Program ma więc w pierwszej kolejności dokonywac klasyfikacji pewnego
przedstawionego mu zjawiska do znanych mu grup, oraz modyfikowac swoją bazę
znanych zjawisk na podstawie przedstawianych mu zjawisk.
Dla klasyfikacji tego typu zjawisk konieczne jest aby zjawiska, w naszym przykładzie
gatunki drzew zostały przedstawione w formie dającej łatwo analizowac się przez
algorytm komputerowy. Należy więc cechy drzew sprowadzic do odpowiedniej
reprezentacji. Stąd też należy przejść od opisu słownego cech kategorycznych mapy
semantycznej, gdzie wartosci tych cech będą miały reprezentację liczbową.
Ponizej został przedstawiony przykład takiego mapowania przeprowadzonego dla
przypadkowych 5-u gatunków drzew występujących w Polsce : Brzozy brodawkowatej ( A)
, Buku Pospolitego (B), Dębu Bezszypułkowego ( C) , Sosny Zwyczajnej (D) , Świerku
4 Choć naturalnie skuteczność takiego algorytmu może byc z góry oceniona jako niższa, gdyż zwierzęta, w
odróżnieniu od drzew, zdają się mieć wiele więcej cech które człowiek w łatwy sposób rozróżnia.
14
Pospolitego ( E)
CECHA
A
B
C
D
E
Rodzaj listowia
Kształt liścia
Długość liscia
Kwiaty
Kolor liścia
Kolor kory
Wysok osc drzewa
Grubosc pnia
Szyszk i
Orzecszk i
Liscie
Trójkątne
7cm
Tak
Zielony
Bialy
25 m
60 cm
Nie
Tak
Liście
Owalne
15 cm
Tak
Zielone
Jasnoszara
40m
Gruby ( 600cm)
Nie
Tak
Liscie
Jajowate
12 cm
Tak
Zielony
Jasnoszara
40 m
3m
Nie
Tak
Igły
Nie
10 cm
Tak
Ciemnozielony
Brunatno szara
45 m
1.5 m
Tak
Nie
Igły
Nie
2 cm
Tak
Ciemnozielony
Czerwonobrązowa
50 m
2m
Tak
Nie
Table 1: Tabela przedstawiajaca cechy 5u wybranych gatunków drzew
CECHA
A B C D
E
Rodzaj listowia
1 1 1 0 0
Kształt liścia
1 2 3 0 0
Długość liscia
1 2 2 2 0
Kwiaty
1 1 1 1 1
Kolor liścia
0 0 0 1 1
Kolor kory
1 0 0 2 3
Wysokosc drzewa
1 2 2 2 2
Grubosc pnia
0 2 2 1 1
Szyszki
0 0 0 1 1
Orzecszki
1 1 1 0 0
Table 2: Tabela zawierające te same cechy
w reprezentacji liczbowej
Powyższy przykład przeprowadzony dla jedynie kilku gatunków ukazuje kilka ciekawych
zjawisk. Można zauważyć, że cechy pewne cechy prowadzą do bardzo dobrych podziałów,
analiza niektórych jest mniej efektywna, w końcu częsć cech jest przy ograniczeniu do
tylko tych gatunków poprostu zbedna. Okazuje się że sprawne rozróżnianie nawet miedzy
tymi 5-ma gatunkami może nie być łatwe przy jedynie 10- u cechach. Konieczne będzie
zastosowanie większej ilosci cech, które być może ujawnia bardziej wyrazne granice
podziału miedzy gatunkami. Jak widać w przypadku pięciu wyżej wymienionych gatunków
zbędne są cechy : kwiaty ( wszystkie te gatunki je mają) , szyszki oraz orzeszki ( drzewa
iglaste mają szyszki zaś liściaste orzeszki , stąd też wystarczajacą jest analiza cechy
rodzaj listowia). Powyższy przykład wskazuje, że rodzaj listowia będzie jedną z
15
najważniejszych cech, być może analizowaną już w korzeniu drzewa.
Na podstawie takiego mapowania większej ilosci cech duzej ilości gatunków drzew5,
zostanie przygotowany zestaw danych na, którym powstanie pierwsze „prototypowe”
drzewo decyzji. W toku kolejnych odsłon gry , algorytm powinien zbierać informację o tym,
które cechy prowadzą do najszybszego odgadnięcia gatunku drzewa proponowanego
przez gracza. Stąd też powinny być cechom przypisane wagi modyfikowane wraz z
efektami gry, i powinny byc one podstawą dla rekonstrukcji drzewa w przypadku zmiany
gradacji cech. Uzasadnienie takiego rozwiazania jest następujace – zależności pomiędzy
cechami odkryte przez algorytm tworzący prototypowe drzewo decyzji nie koniecznie
może znajdować odbicie w sposobie postrzegania drzew przez gracza – człowieka6.
Kolejną kwestią jest modyfikowanie samego zbioru posiadanej wiedzy o drzewach.
Algorytm nigdy w czasie budowy drzewa nie ma do dyspozycji pełnego ( nieskończonego)
zbioru próbek. Stąd też w toku klasyfikacji, jeśli pewne odpowiedzi gracza na temat
niektórych cech gatunku do którego algorytm zakwalifikował dany przykłąd nie będą
zgodne z posiadanym wzorcem , program powinien to uwzględniać. Naturalnie mechanizm
realizujacy taką modyfikację wzorca danego gatunku powinien zapewniać uniknięcie
„zaszumienia” posiadanych danych. Stąd też modyfikacja powinna zachodzić jedynie
jeżeli dany nowy opis konkretnego gatunku będzie się pojawiał ze stosunkowo dużą
częstotliwoscią.
Oczywistym jest, że program nie bedzie od razu znał wszystkich możliwych gatunków
drzew. Stąd też powinien on w przypadku błędnej klasyfikacji , jeśli gracz poda nazwę
nieznanego gatunku dodawać go do posiadanej bazy. Oczywiście przypisując cechom
nowego gatunku wartości uzyskane w czasie ostatniej gry7.
5 I chyba w praktyce stworzyć grę dla leśników i botaników jedynie...
6 Oczywiście jeśli stworzone drzewo bedzie bardzo dobrym klasyfikatorem zależnosci otkryte przez algorytm
tworzące drzewo będa wystarczajace, chyba warto jednakże sprawdzić czy taki dodatkowy element modyfikujacy
stworzony model prowadziłby do porawy jego efektywności.
7 Dla pozyskania pozostałych cech konieczne jest aby program zapytał się o nie, tak jak w przypadku „20 questions
game” , gdy program prosi by powiedzieć mu cos więcej (uzupełnić dane o innych cechach) nowego zwierzęcia.
Pytaniem pozostaje jak skuteczne bedzie takie rozwiazanie ( spodziewać się można niskiej częstotliwości
odpowiediz gracza na dodatkowe pytania)
16
Źródła :
[1] A.R. Weeb Statistical Pattern Recognition , Chichester 2002 r.
[2] Spela Hleb Babic, Peter Kokol i in. The Art of Building Decision Trees, Journal of
Medical Systems, Vol. 24, No. 1, 2000
[3] D. Michie, D.J. Spiegelhalter, C.C. Taylor
Machine Learning, Neural and Statistical Classification , 1994.
[4] Kolluru Venkata Sreerama Murthy
On Growing Better Decision Trees from Data , Baltimore, 1995 r. ;
[5] prof. dr hab. Włodzisław Duch , Inteligencja obliczeniowa - wykład. 2008 ;
[6] http://www.dtreg.com/;
[7] http://www.psychwww.com;
[8] http://www.mindtools.com;
[9] http://csdl.computer.org/comp/trans/tp/2007/01/i0173abs.htm ;
[10] www.drzewapolski.pl
[11] http://www.wiki.lasypolskie.pl
17
Download