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