Drzewa decyzyjne. 1. Wprowadzenie. Drzewa decyzyjne sÄ… graficznÄ… metodÄ… wspomagania procesu decyzyjnego. Jest to jedna z najczęściej wykorzystywanych technik analizy danych. Drzewo skÅ‚adajÄ… siÄ™ z korzenia oraz gaÅ‚Ä™zi prowadzÄ…cych z korzenia do kolejnych wierzchoÅ‚ków. WierzchoÅ‚ki, z których wychodzi co najmniej jedna krawÄ™dz, sÄ… nazywane wÄ™zÅ‚ami, a pozostaÅ‚e wierzchoÅ‚ki liśćmi. W każdym wÄ™zle sprawdzany jest pewien warunek dotyczÄ…cy danej obserwacji, i na jego podstawie wybierana jest jednÄ… z gaÅ‚Ä™zi prowadzÄ…ca do kolejnego wierzchoÅ‚ka. Klasyfikacja danej obserwacji polega na przejÅ›ciu od korzenia do liÅ›cia i przypisaniu do tej obserwacji klasy zapisanej w danym liÅ›ciu. Poniżej przedstawiono przykÅ‚adowe drzewo decyzyjne wspomagajÄ…ce zakup konsoli do gier. 2. Zastosowanie drzew decyzyjnych Drzewa decyzyjne znajdujÄ… praktyczne zastosowanie w różnego rodzaju problemach decyzyjnych, szczególnie takich gdzie wystÄ™puje dużo rozgaÅ‚Ä™ziajÄ…cych siÄ™ wariantów a także w warunkach ryzyka. Wiele algorytmów uczenia siÄ™ wykorzystuje drzewa decyzyjne do reprezentacji hipotez. Zgodnie z ogólnym celem uczenia siÄ™ indukcyjnego, dążą one do uzyskania drzewa decyzyjnego klasyfikujÄ…cego przykÅ‚ady trenujÄ…ce z niewielkim bÅ‚Ä™dem próbki i o możliwie niewielkim rozmiarze, w nadziei, że takie drzewo bÄ™dzie miaÅ‚o również niewielki bÅ‚Ä…d rzeczywisty. Drzewa decyzyjne znajdujÄ… szerokie zastosowanie w problemach zwiÄ…zanych z klasyfikacjÄ… i predykcjÄ… pojęć typu: · diagnostyka medyczna, · przewidywanie wydajnoÅ›ci, · akceptacja i udzielanie kredytów. · i wiele wiÄ™cej Proces klasyfikacji z wykorzystaniem drzew decyzyjnych jest efektywny obliczeniowo, wyznaczenie kategorii przykÅ‚adu wymaga w najgorszym razie przetestowania raz wszystkich jego atrybutów. 3. PrzykÅ‚ad 1. Rozważmy sytuacjÄ™ w której decydent podejmuje dziaÅ‚ania, których wynik zależy od okolicznoÅ›ci od niego niezależnych, ale na których wyniki może reagować podejmujÄ…c kolejne dziaÅ‚ania. Powiemy wówczas, że decydent podejmuje decyzje sekwencyjne w warunkach niepewnoÅ›ci. Proces podejmowania decyzji sekwencyjnych wygodnie jest przedstawić w postaci drzewa decyzyjnego. W drzewie wyróżniamy : · wÄ™zÅ‚y decyzyjne (kwadraty) reprezentujÄ…ce decyzje, · wierzchoÅ‚ki (kółka) reprezentujÄ…ce zdarzenia losowe. Auki wychodzÄ…ce z wÄ™złów decyzyjnych bÄ™dziemy utożsamiać z podjÄ™tymi decyzjami, a Å‚uki wychodzÄ…ce z wierzchoÅ‚ków odpowiadajÄ…cych zdarzeniom losowym z wynikami jakie wystÄ…piÄ… w przypadku zajÅ›cia zdarzeÅ„ losowych wpÅ‚ywajÄ…cych na proces decyzyjny (wynik podjÄ™tej decyzji). WewnÄ…trz wierzchoÅ‚ków wypÅ‚aty, które uzyskujemy w kolejnych etapach procesu decyzyjnego. Poszukiwacz ropy musi podjąć decyzjÄ™, czy rozpocząć wiercenie szybu naftowego w pewnym miejscu przed wygaÅ›niÄ™ciem licencji na wykonywanie odwiertów. Koszt wiercenia wynosi 200 tys. dol., caÅ‚kowite zyski (bez uwzglÄ™dnienia kosztów wierceÅ„) w przypadku natrafienia na ropÄ™ 800 tys. dol. Decyzja o podjÄ™ciu wierceÅ„ jest pozytywna, jeżeli oczekiwany zysk zwiÄ…zany z podjÄ™ciem decyzji jest dodatni. Jeżeli decyzja jest podejmowana wielokrotnie, to wybór kryterium maksymalizacji oczekiwanego zysku jest w peÅ‚ni uzasadniony. Powiedzmy, że przed dokonaniem odwiertu możemy przeprowadzić test sejsmiczny pozwalajÄ…cy na bardziej precyzyjnÄ… ocenÄ™ warunków geologicznych dziaÅ‚ki. Test ten pozwala z wiÄ™kszÄ… dokÅ‚adnoÅ›ciÄ… odpowiedzieć na pytanie, czy trafimy na ropÄ™. Oznacza to zwiÄ™kszenie prawdopodobieÅ„stwa trafienia i zmniejszenie prawdopodobieÅ„stwa nietrafienia na ropÄ™ a wiÄ™c zwiÄ™kszenie wartoÅ›ci oczekiwanej wypÅ‚aty (zysku). Przeprowadzenie testu wiąże siÄ™ z poniesieniem dodatkowych kosztów. Kiedy warto je ponieść? 4. PrzykÅ‚ad 2. Rozważmy prosty system ekspertowy ze Å›cisÅ‚e okreÅ›lonym zbiorem rozwiÄ…zaÅ„ i kilkoma możliwoÅ›ciami wyboru. Nasz system ekspertowy bÄ™dzie doradzaÅ‚, gdzie ulokować pewnÄ… kwotÄ™ oszczÄ™dnoÅ›ci. Decyzja o sposobie zainwestowania zależy od wysokoÅ›ci kwoty, dochodów na osobÄ™ i wieku inwestora. JednÄ… z metod pozwalajÄ…cych Å‚atwo i szybko stworzyć bazÄ™ reguÅ‚ jest zaprojektowanie drzewa decyzyjnego dla rozwiÄ…zywanego problemu. Każdy wÄ™zeÅ‚ takiego drzewa reprezentuje albo pytanie o wartość atrybutu, albo konkluzjÄ™. Każda gaÅ‚Ä…z wywodzÄ…ca siÄ™ z poszczególnego wÄ™zÅ‚a zwiÄ…zanego z pytaniem o atrybut reprezentuje jednÄ… z możliwych wartoÅ›ci tego atrybutu. Na rysunku przedstawiajÄ…cym drzewo decyzyjne naszego problemu wÄ™zÅ‚y zwiÄ…zane z pytaniem bÄ™dÄ… oznaczone prostokÄ…tami, a wÄ™zÅ‚y dotyczÄ…ce konkluzji - owalami. Załóżmy że mamy nastÄ™pujÄ…cÄ… listÄ™ atrybutów i ich wartoÅ›ci: 1. Inwestycje: lokata w banku, obligacje, fundusz powierniczy, akcje, nieruchomoÅ›ci. 2. Kwota do zainwestowania: do 5000, od 5000 do 30000, powyżej 30000. 3. Dochód na osobÄ™: poniżej Å›redniej krajowej, powyżej Å›redniej krajowej. 4. Wiek inwestora: do 35 lat, powyżej 35 lat. Drzewo decyzyjne dla tego przykÅ‚adu prezentuje rysunek poniżej. Przyjmujemy dla tego problemu wÄ™zeÅ‚ Kwota do zainwestowania jako wÄ™zeÅ‚ główny, czyli leżący na najwyższym poziomie drzewa, zawierajÄ…cy pod sobÄ… wszystkie możliwe rozwiÄ…zania. Na nastÄ™pnym poziomie drzewa wprowadzimy atrybuty Dochód na osobÄ™ oraz Wiek. Możemy teraz przystÄ…pić do tworzenia reguÅ‚ na podstawie utworzonego drzewa. PrzykÅ‚adowe drzewo nie zawiera hipotez poÅ›rednich, co uproÅ›ci proces tworzenia reguÅ‚. TworzÄ…c reguÅ‚Ä™, wybieramy wÄ™zeÅ‚ konkluzji, który do tej pory nie byÅ‚ rozpatrywany. Åšledzimy Å›cieżkÄ™ w górÄ™ drzewa decyzyjnego przez wszystkie wÄ™zÅ‚y aż do wÄ™zÅ‚a głównego. WÄ™zÅ‚y oznaczone owalami zapisujemy w części THEN (TO) reguÅ‚y, a oznaczone prostokÄ…tami w części IF (JEÅ»ELI). Każda Å›cieżka utworzy nam jednÄ… reguÅ‚Ä™ w bazie wiedzy. Na podstawie naszego drzewa decyzyjnego powstanÄ… nastÄ™pujÄ…ce reguÅ‚y o nazwach oznaczonych kolejnymi cyframi: ReguÅ‚a l: IF kwota do zainwestowania = do 5000 and dochód na osobÄ™ = poniżej Å›redniej THEN inwestycja = lokata w banku. ReguÅ‚a 2: IF kwota do zainwestowania = do 5000 and dochód na osobÄ™ = powyżej Å›redniej THEN inwestycja = obligacje. ReguÅ‚a 3: IF kwota do zainwestowania = od 5000 do 30000 and wiek = do 35 lat THEN inwestycja = fundusz powierniczy. ReguÅ‚a 4: IF kwota do zainwestowania = od 5000 do 30000 and wiek = powyżej 35 lat THEN inwestycja = obligacje. ReguÅ‚a 5: IF kwota do zainwestowania = powyżej 30000 and wiek = do 35 lat THEN inwestycja = akcje. ReguÅ‚a 6: IF kwota do zainwestowania = powyżej 30000 and wiek = powyżej 35 lat THEN inwestycja = nieruchomoÅ›ci. Dla zdefiniowanego przez nas problemu otrzymaliÅ›my kompletnÄ… i spójnÄ… bazÄ™ wiedzy. PowracajÄ…c do naszego przykÅ‚adu, załóżmy, że przy doradzaniu o sposobie inwestowania oszczÄ™dnoÅ›ci chcemy uzyskać dokÅ‚adniejsze informacje o inwestorze. DoÅ‚ożymy nastÄ™pujÄ…ce atrybuty i ich wartoÅ›ci: Dla inwestorów pragnÄ…cych zainwestować kwotÄ™ do 5000: " Przeinaczenie kwoty: niewielki zakup, wiÄ™kszy zakup (np. samochód lub zmiana mieszkania. " Termin wykorzystania: do roku, minimum za rok. Dla pozostaÅ‚ych inwestorów: " Ryzyko: tak, nie. " Stan majÄ…tkowy: dobry, zÅ‚y. Nasze drzewo ulegnie teraz modyfikacji i bÄ™dzie miaÅ‚o postać jak na rysunku 2. Zauważmy, że hipotezy w naszym drzewie pojawiajÄ… siÄ™ teraz na różnych poziomach drzewa. TworzÄ…c jak poprzednio zbiór reguÅ‚ na podstawie siedzenia poszczególnych gaÅ‚Ä™zi, możemy otrzymać zbiór reguÅ‚ skÅ‚adajÄ…cych siÄ™ na bazÄ™ wiedzy. Dla inwestorów inwestujÄ…cych do 5000 zbiór reguÅ‚ ma postać nastÄ™pujÄ…cÄ…: ReguÅ‚a l: IF kwota do zainwestowania = do 5000 and dochód na osobÄ™ = poniżej Å›redniej THEN inwestycja = lokata w banku. ReguÅ‚a 2: IF kwota do zainwestowania = do 5000 and dochód na osobÄ™ = powyżej Å›redniej and przeznaczenie = niewielki zakup THEN : inwestycja = lokata w banku. ReguÅ‚a 3: IF kwota do zainwestowania = do 5000 and dochód na osobÄ™ = powyżej Å›redniej and przeznaczenie = wiÄ™kszy zakup and termin wykorzystania = do roku THEN inwestycja = fundusz powierniczy. ReguÅ‚a 4: IF kwota do zainwestowania = do 5000 and dochód na osobÄ™ = powyżej Å›redniej and przeznaczenie = wiÄ™kszy zakup and termin wykorzystania = minimum za rok THEN inwestycja = obligacje. Analogicznie możemy zbudować reguÅ‚y dla pozostaÅ‚ych konkluzji. W przypadku, gdy reguÅ‚y sÄ… dÅ‚ugie lub gdy nie jesteÅ›my w stanie zbudować drzewa decyzyjnego, możemy posÅ‚użyć siÄ™ hipotezami poÅ›rednimi, bÄ™dÄ…cymi prostym sposobem okreÅ›lenia części procesu decyzyjnego. W naszym przykÅ‚adzie hipotezÄ… poÅ›redniÄ… może być atrybut Typ klienta. Typ klienta okreÅ›limy na podstawie Kwoty do zainwestowania i Wieku (patrz tablica 1). Tablica 1. OkreÅ›lenie typu klienta Typ klienta Wiek Kwota A do 35 lat 5000-30000 B powyżej 35 5000-30000 C do 35 lat powyżej 30000 D powyżej 35 powyżej 30000 ReguÅ‚y dotyczÄ…ce inwestycji powyżej 5000 bÄ™dziemy tworzyć za pomocÄ… hipotezy poÅ›redniej. Tak wiÄ™c reguÅ‚y bazy definiujÄ…ce podcel majÄ… nastÄ™pujÄ…cÄ… postać: ReguÅ‚a 5: IF kwota do zainwestowania = od 5000 do 30000 and wiek = do 35 lat THEN typ klienta = A. ReguÅ‚a 6: IF kwota do zainwestowania = od 5000 do 30000 and wiek = powyżej 35 lat THEN typ klienta = B. ReguÅ‚a 7: IF kwota do zainwestowania = powyżej 30000 And wiek = do 35 lat THEN typ klienta = C. ReguÅ‚a 8: IF kwota do zainwestowania = powyżej 30000 and wiek = powyżej 35 lat THEN typ klienta = D. KorzystajÄ…c z zdefiniowanych hipotez poÅ›rednich, tworzymy pozostaÅ‚e reguÅ‚y potrzebne nam do wypeÅ‚nienia bazy danych. W reguÅ‚ach tych konkluzje poÅ›rednie reguÅ‚ 5, 6, 7 i 8 sÄ… przesÅ‚ankami: ReguÅ‚a 9: IF typ klienta = A and ryzyko = tak THEN inwestycja = akcje. ReguÅ‚a 10: IF typ klienta - A and ryzyko = nie THEN inwestycja =obligacje. ReguÅ‚a 11: IF typ klienta = B and ryzyko = tak THEN inwestycja = fundusz powierniczy. ReguÅ‚a 12: IF typ klienta = B and ryzyko = nie THEN inwestycja = lokata w banku. ReguÅ‚a 13: IF typ klienta = C or typ klienta = D and stan majÄ…tkowy = dobry and ryzyko = tak THEN inwestycja = akcje. ReguÅ‚a 14: IF typ klienta = C or typ klienta = D and stan majÄ…tkowy = zÅ‚y THEN inwestycja = fundusz powierniczy. ReguÅ‚a 15: IF typ klienta = C and stan majÄ…tkowy = dobry and ryzyko nie THEN inwestycja = fundusz powierniczy. ReguÅ‚a 16: IF typ klienta = D and stan majÄ…tkowy = dobry and ryzyko = nie THEN inwestycja = nieruchomoÅ›ci. Przy tworzeniu drzewa decyzyjnego może okazać siÄ™, iż posiada ono gaÅ‚Ä™zie prowadzÄ…ce do nieistniejÄ…cych lub niemożliwych do okreÅ›lenia rozwiÄ…zaÅ„. Należy eliminować takie sytuacje poprzez reorganizowanie wÄ™złów drzewa. Lepiej tworzyć drzewa decyzyjne z jak najmniejszÄ… liczbÄ… poziomów (tym samym atrybutów), reprezentujÄ…ce wszystkie znane konkluzje, a tym samym tworzÄ…ce bardziej efektywne reguÅ‚y. Im mniejsza jest liczba atrybutów, tym mniejsza liczba danych potrzebna do uzyskania konkluzji i mniejsza liczba pytaÅ„ zadawanych użytkownikowi. ZwÅ‚aszcza w przypadkach deterministycznych. Należy jednak uważać, by w trakcie modyfikacji nie powstawaÅ‚y sytuacje, w których wymagany bÄ™dzie dodatkowy atrybut, wczeÅ›niej nie uwzglÄ™dniony. W tych przypadkach, w których mamy do czynienia z niepewnoÅ›ciÄ…, lepiej jest posiadać dokÅ‚adniejsze informacje przy podejmowaniu decyzji. PrzeÅ›ledzmy teraz sposób wnioskowania w naszym przykÅ‚adzie. Załóżmy, że znane sÄ… nastÄ™pujÄ…ce fakty: 1. Kwota do zainwestowania: 35000 (powyżej 30000). 2. Wiek: 33 Å‚ata (do 35 lat). 3. Stan majÄ…tkowy: dobry. 4. Ryzyko', podejmuje niechÄ™tnie (nie). Inwestor chce uzyskać poradÄ™, jak zainwestować pieniÄ…dze. W procesie wnioskowania w przód na podstawie znanych faktów i reguÅ‚ generujemy nowe fakty aż do osiÄ…gniÄ™cia celu lub niemożnoÅ›ci uzyskania rozwiÄ…zania z powodu braku reguÅ‚. Rozpoczynamy od rozważenia warunków reguÅ‚. Szukamy reguÅ‚, w których w części IF prawdziwa jest przesÅ‚anka Kwota do zainwestowania = powyżej 30000. W naszym przypadku sÄ… to reguÅ‚y 7 i 8. ReguÅ‚a 7 jako konkluzjÄ™ zawiera Typ klienta = C. Musimy zweryfikować tÄ™ konkluzjÄ™, sprawdzajÄ…c prawdziwość przesÅ‚anki Wiek = do 35 lat. Ta przesÅ‚anka jest prawdziwa, wiÄ™c konkluzja Typ klienta = C też jest prawdziwa. W przypadku reguÅ‚y 8 weryfikacja konkluzji Typ klienta = D jest nieprawdziwa, gdyż przesÅ‚anka Wiek = powyżej 35 lat jest nieprawdziwa. WiedzÄ…c, że Typ klienta = C, możemy zweryfikować reguÅ‚y, w których wystÄ™puje on jako przesÅ‚anka. SÄ… to reguÅ‚y 13, 14, 15. W regule 13 prawdziwe sÄ… przesÅ‚anki Typ klienta = C i Stan majÄ…tkowy = dobry. PrzesÅ‚anka Ryzyko = tak jest nieprawdziwa, a tym samym akcja reguÅ‚y jest nieprawdziwa. W regule 14 przesÅ‚anka Typ klienta = C jest prawdziwa, natomiast przesÅ‚anka Stan majÄ…tkowy = zÅ‚y, jest faÅ‚szywa, co powoduje faÅ‚szywość konkluzji. W regule 15 przesÅ‚anka Typ klienta = C jest prawdziwa, przesÅ‚anka Stan majÄ…tkowym dobry jest prawdziwa oraz przesÅ‚anka Ryzyko = nie także jest prawdziwa, a tym samym konkluzja reguÅ‚y jest prawdziwa. Konkluzja tej reguÅ‚y Inwestycja = fundusz powierniczy jest konkluzjÄ… ostatecznÄ… i tak też brzmi porada dla inwestora. Na tym samym przykÅ‚adzie przeÅ›ledzmy teraz sposób wnioskowania w tyÅ‚. Załóżmy, że mamy nastÄ™pujÄ…ce fakty: 1. Kwota do zainwestowania: 35000 (powyżej 30000). 2. Wiek: 53 lata (powyżej 35 lat). 3. Stan majÄ…tkowy: dobry. 4. Ryzyko: podejmuje niechÄ™tnie (nie). Inwestor chce siÄ™ dowiedzieć, czy powinien inwestować w nieruchomoÅ›ci. Wnioskowanie do tyÅ‚u odbywa siÄ™ przez akcje reguÅ‚. Rozpoczynamy od reguÅ‚y, której akcja rozwiÄ…zuje problem. W naszym przypadku hipoteza Inwestycja == nieruchomoÅ›ci wystÄ™puje w regule 16. Musimy sprawdzić jej prawdziwość, weryfikujÄ…c wszystkie przesÅ‚anki. Zaczynamy od przesÅ‚anki Typ klienta = D. Ponieważ nie jest to znany nam fakt szukamy reguÅ‚, dla których Typ klienta = D jest konkluzjÄ… reguÅ‚y. Sytuacja taka wystÄ™puje w regule 8. Sprawdzamy teraz wartoÅ›ci przesÅ‚anek reguÅ‚y 8: " przesÅ‚anka Kwota do zainwestowania = powyżej 30000 jest prawdziwa, " przesÅ‚anka Wiek = powyżej 35 lat jest prawdziwa. Zatem konkluzja Typ klienta = D jest prawdziwa. Powracamy do reguÅ‚y 16 i weryfikowania kolejnych jej warunków: " przesÅ‚anka Stan majÄ…tkowy = dobry jest prawdziwa, " przesÅ‚anka Ryzyko = nie jest prawdziwa, wszystkie warunki reguÅ‚ 16 sÄ… wiÄ™c prawdziwe, co powoduje prawdziwość hipotezy Inwestycje = nieruchomoÅ›ci. 5. Podsumowanie Zalety · Drzewa decyzyjne mogÄ… reprezentować dowolnie zÅ‚ożone pojÄ™cia pojedyncze lub wielokrotne, jeżeli tylko ich definicje da siÄ™ wyrazić w zależnoÅ›ci od atrybutów. · Efektywność pamiÄ™ciowa reprezentacji drzewiastej. · Czas decyzyjny ograniczony liniowo przez liczbÄ™ atrybutów (maksymalna gÅ‚Ä™bokość drzewa). · Forma reprezentacji czytelna dla czÅ‚owieka. · Aatwość przejÄ™cia od reprezentacji drzewiastej do reprezentacji reguÅ‚owej. Wady · Testuje siÄ™ wartość jednego atrybutu na raz, co powoduje niepotrzebny rozrost drzewa dla danych gdzie poszczególne atrybuty zależą od siebie (inne metody reprezentacji mogÄ… być w tym przypadku o wiele mniej zÅ‚ożone). · Kosztowna reprezentacja alternatyw pomiÄ™dzy atrybutami znaczny rozrost drzewa (w przeciwieÅ„stwie do reprezentacji koniunkcji, która jest zapisywana jako pojedyncza Å›cieżka , czyli droga od korzenia do liÅ›cia). · Drzewa decyzyjne nie stwarzajÄ… Å‚atwej możliwoÅ›ci do ich inkrementacyjnego aktualizowania, algorytmy udoskonalajÄ…ce gotowe już drzewa poprzez zestaw nowych przykÅ‚adów sÄ… bardzo zÅ‚ożone i zazwyczaj wynikiem jest drzewo gorszej jakoÅ›ci niż drzewo budowane od poczÄ…tku z kompletnym zestawem przykÅ‚adów.