• Nie Znaleziono Wyników

Drzewa decyzyjne

N/A
N/A
Protected

Academic year: 2021

Share "Drzewa decyzyjne"

Copied!
5
0
0

Pełen tekst

(1)

KATEDRA SYSTEMÓW

MULTIMEDIALNYCH

LABORATORIUM INTELIGENTNYCH

SYSTEMÓW DECYZYJNYCH

Ćwiczenie nr 4: Drzewa decyzyjne

opracowanie: mgr inż. Katarzyna Kaszuba mgr inż. Kuba Łopatka 1. Wprowadzenie

1.1 Struktura drzewa decyzyjnego

Drzewo decyzyjne z definicji jest to struktura obrazująca proces decyzyjny. Algorytmy drzew decyzyjnych stosowane są w uczeniu maszynowych jako metoda pozyskiwania wiedzy z zebranych przykładów (eksploracja danych, ang. data mining).

Algorytmy charakteryzuje struktura drzewiasta, w której węzły wewnętrzne zawierają testy na wartościach atrybutów. Z każdego węzła wewnętrznego wychodzi tyle gałęzi, ile możliwych jest wyników testu badanego w węźle. Każde drzewo decyzyjne zakańczają liście w których przechowywane są decyzję o klasyfikacji obiektów. Od strony programistycznej warto wiedzieć, że zwykle drzewo decyzyjne koduje program zawierający same instrukcje warunkowe.

1.2 Testowanie węzłowe

Atrybutami wejściowymi drzew decyzyjnych mogą być dane w formie liczbowej lub ujęte przy pomocy pojęć naturalnych takich ja np. niski, wysoki, zimny, itp. Atrybuty symboliczne są bardziej przejrzyste podczas przeglądania struktury drzewa jednak dają możliwości dla testowania węzła tylko w sposób równościowy tzn:

otherwise

v

x

a

if

x

t

i

0

)

)

(

(

1

)

(

Gdzie: t(x) – decyzja ,ai(x) - atrybut, v – wartość oczekiwana atrybutu

Dla atrybutów liczbowych dyskretnych prócz testu równościowego możliwe jest przeprowadzanie następujących testów:

 tożsamościowego:

t

(

x

)

a

i

(

x

)

 przynależnościowego:

otherwise

V

x

a

if

x

t

i

0

)

)

(

(

1

)

(

(2)

W przypadku danych liczbowych w postaci ciągłej możliwe jest tez przeprowadzenie testu nierównościowego.

otherwise

c

x

a

if

x

t

i

0

)

)

(

(

1

)

(

1.3 Tworzenie drzew decyzyjnych

Podczas konstruowania drzewa decyzyjnego dąży się do uzyskania optymalnej struktury. Istnieją trzy podstawowe kryteria oceny jakości drzewa:

 Rozmiar drzewa – im mniejsze drzewo, tym lepsze o Mała liczba węzłów

o Mała wysokość o Mała liczba liści

 Skuteczność klasyfikacji na zbiorze treningowym

 Skuteczność klasyfikacji na zbiorze testowych

Zazwyczaj drzewa decyzyjne budowane są w sposób rekurencyjny, tzn. w pierwszej kolejności definiowane jest kryterium zakończenia konstrukcji drzewa, jeżeli dla danego testu kryterium jest nie spełnione następuje utworzenie nowej gałęzi, ustalany jest nowy test i budowane jest kolejne poddrzewo. Sytuacja ta zachodzi do momentu spełnienia kryterium. Zazwyczaj podstawowe kryteria zatrzymania:

 brak atrybutów z zbiorze budującym

 obecność atrybutów tylko jednej klasy w zbiorze

 brak możliwych dalszych podziałów

Podczas konstrukcji drzewa decyzyjnego każdy zbiór obiektów zostaje podzielony na klasy. Wyznaczane jest też prawdopodobieństwo wystąpienia danej klasy.

X

C

p

i

i

gdzie, pi – prawdopodobieństwo wystąpienia obiektu i-tej klasy, Ci – liczebność i-tej klasy, X – ilość wszystkich obiektów w zbiorze.

Wektor (p1,p2,…pr) nazywany jest rozkładem klas decyzyjnych w X.

Podstawowym problem przy tworzeniu drzew decyzyjnych jest stworzenie takiej struktury oraz testów węzłowych dla których drzewo będzie najbardziej efektywne. Wiąże się to bezpośrednio z wyborem najbardziej istotnych parametrów dla tworzenia podziałów. Najprostszym kryterium podziału jest kryterium większościowe – wybierany jest taki atrybut, który separuje największą ilość danych. Oceny przydatności parametrów można dokonać przed przystąpieniem do tworzenia struktury drzewiastej poprzez zastosowanie metod statystycznych. Można w tym celu posłużyć się statystykami Berensha-Fishera, testem t-studenta lub zastosować omawiane na wykładzie kryterium Chi2

Pearsona.

Znając rozkład klas decyzyjnych warto zdefiniować i obliczyć entropie informacyjną oraz związany z nią zysk informacyjny. Entropia jest to najmniejsza średnia ilość informacji potrzebna do zakodowania faktu zajścia danego zdarzenia.

(3)

p

i

p

i

X

Entropy

(

)

log

)

(

)

(

i i i

Entropy

X

p

X

Entropy

IG

Duża wartość entropii informuje o równomiernym rozkładzie prawdopodobieństwa klas, zatem wyniki będą trudniejsze do przewidzenia, natomiast duża wartość zysku informacyjnego jest pożądana, gdyż świadczy o większej przydatności danego testu. W przypadku budowania drzew decyzyjnych warto tez korzystać z pojęcia entropii warunkowej, ponieważ pozwala ona uwzględniać wartości poszczególnych atrybutów klas. Oznacza to, że możliwe jest określenie prawdopodobieństwa wystąpienia danej klasy przy warunku, że dany atrybut przyjmuję konkretną wartość. W analogiczny sposób można też badać warunkowy zysk informacyjny. Kryteria warunkowe często służą do wyboru parametrów zapewniających najlepszą separowalność klas.

1.4 Odcinanie gałęzi (ang.prunning)

Drzewo decyzyjne budowane na danych treningowych często charakteryzuje się rozłożystą strukturą i bardzo małą zdolnością generalizacji. Oznacza to, że skuteczność rozpoznawania klas dla zbioru treningowego jest bardzo wysoka ( często 100%) natomiast nowe przypadki są klasyfikowane z niską skutecznością. Zjawisko to nazywane jest przetrenowaniem klasyfikatora. Aby zapobiegać takim sytuacjom skracany jest opis struktury kosztem straty skuteczności na zbiorze treningowych. Dokonuje się tego poprzez zastąpienie poddrzewa nowym liściem lub mniejszym poddrzewem. Można tego dokonać kiedy nowy liść lub poddrzewo daje efektywność nie gorszą lub taką samą dla nowych obiektów. Takie testowanie przeprowadza się na próbce nazywanej zbiorem przycinania.

Przykład:

1.5 Omówienie wybranych drzew decyzyjnych

Omówione powyżej metody tworzeni struktury drzewa decyzyjnego są najczęściej stosowanymi, klasycznymi algorytmami tego typu. Budowanie drzew decyzyjnych na bazie entropii oraz zysku informacyjnego jest podstawa działania algorytmów drzew decyzyjnych C4.5 oraz CART przy czym algorytm C4.5 dopuszcza dowolną ilość wyników testu węzłowego tzn. że z każdego węzła może wychodzić dowolna ilość gałęzi. Algorytm CART zezwala jedynie na podział binarny – węzeł może być zakończony maksymalnie dwoma

(4)

gałęziami lub dwoma liśćmi. Oba te algorytmy mogą występować w wersji bez przycinania lub z przycinaniem gałęzi. Ciekawą odmianą drzew decyzyjnych są algorytmy Random Tree (RT) i Random Forest (RF). Algorytm RT tworzy drzewo decyzyjne poprzez wybór k – losowych atrybutów dla każdego z węzłów. Algorytm ten cechuje się niską skutecznością jest jednak bazą do działania algorytmu RF. RF wykorzystuje wiele niezależnych klasyfikatorów RT do podjęcia decyzji. Każde drzewo RT daje osobny wynik i wybierana jest ta odpowiedź , która pojawiła się najczęściej. Zestawienie wielu „słabych” klasyfikatorów daje w konsekwencji precyzyjny wynik, przy zachowaniu dużej wydajności czasowej obliczeń. Zarówno RT jak i RF nie wykorzystują przycinania gałęzi.

2. Opis ćwiczenia

2.1 Zaprojektuj drzewo decyzyjne, które rozwiązuje problem, w jaki sposób osoba ma spędzić wolny wieczór i popołudnie. Wykorzystaj dane treningowe zamieszczone w tabeli konwergencji poniżej. Schemat stworzonego drzewa decyzyjnego należy dołączyć do sprawozdania. Pamiętaj przy tym, że projektując drzewo należy kierować sie zasadą: im mniejsze, tym lepsze.

Wiek Dzień Tygodnia

Pogoda Samopoczucie Fundusze Jak spędzić wolne

popołudnie i wieczór

20 Wtorek słońce dobre 0 Sport

25 Środa deszcz dobre 50zł Kino

50 Czwartek deszcz złe 100zł Dom

38 Sobota słońce złe 100zł Sport

24 Środa słońce złe 30zł Kino

56 Niedziela słońce dobre 0 Sport

47 Poniedziałek słońce złe 100zł Kino

32 Piątek deszcz dobre 100zł Impreza

35 Sobota deszcz złe 0 Dom

22 Sobota słońce złe 50zł Impreza

25 Piątek deszcz dobre 100zł Impreza

40 Wtorek słońce dobre 20zł Sport

53 Czwartek deszcz złe 0 Dom

21 Środa słońce dobre 100zł Sport

29 Czwartek deszcz złe 50zł Kino

59 Sobota deszcz dobre 0 Dom

2.2 Zaimplementuj zaprojektowane drzewo w środowisku Matlab. W tym celu należy zmodyfikować funkcję zawartą w pliku tree.m i zaimplementować własne reguły, korzystając z instrukcji warunkowych (słowa kluczowe if, elseif, else). Wykonać analizę skuteczności na zbiorze treningowym, uruchamiając skrypt drzewoD.m. Wyniki zostaną wypisane w konsoli Matlaba. W razie potrzeby zmodyfikować drzewo tak, aby uzyskać skuteczność bliską 100%. Do sprawozdania załączyć wyniki klasyfikacji i fragment napisanego kodu zawierający funkcję decyzyjną.

(5)

2.3 W pliku drzewoD.m odkomentować część dotyczącą testowania na zbiorze testowym (walidacyjnym). Porównać wyniki rozpoznawania zbioru testowego i treningowego. Z czego wynikają różnice?

Cytaty

Powiązane dokumenty

Drzewa iglaste mają igły i są zielone przez cały rok ( wyjątek stanowi MODRZEW, który zrzuca igły na zimę ).. Na podstawie wiadomości z

Ocenie podlega czy zaplanowany okres zapewnienia finansowania działalności bieżącej nowo utworzonych miejsc opieki nad dziećmi do 3 lat w formie żłobków lub

Lasy losowe (random forests) b˛ed ˛ ace uogólnieniem idei drzew decyzyjnych zalicza si˛e do procedur agreguj ˛ acych (ensemble method). Działanie lasów losowych polega na

przykładów skonstruuj drzewo, przykładów skonstruuj drzewo, które najlepiej przybliża proces które najlepiej przybliża proces podejmowania decyzji dla tych podejmowania

atrybut Kolor ma przestrzeń {Czerwony, Zielony, Niebieski, Żółty}... atrybut będący najlepszym dyskryminatorem ze względu

Dzień Pogoda Temperatura Wilgotność Wiatr Tenis D9 Słonecznie Zimno Normalna Słaby Tak D11 Słonecznie Przyjemnie Normalna Silny Tak D1 Słonecznie Gorąco Wysoka Słaby Nie

Atrybutami warunkowymi są: liczba nóg i umiejętność latania (zerojedynkowa; na potrzeby zadania mrówki nie latają, a pegazy latają), decyzją jest

Propozycja wykorzystania rozmytych drzew decyzyjnych do zarządzania ryzykiem projektów rolnych została przetestowana w wybranym wielkoobsza- rowym przedsiębiorstwie