SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE WYKŁAD 8 DRZEWA DECYZYJNE Dr hab. inż. Barbara Dębska, prof. PWSZ KROSNO Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
DRZEWA DECYZJI JAKO METODA REPREZENTACJI WIEDZY W SYSTEMACH KLASYFIKACYJNYCH Drzewa decyzji są często stosowaną strukturą reprezentacji wiedzy o badanym procesie. Drzewo decyzji składa się z węzłów oraz gałęzi: gałęzie Węzeł początkowy Węzeł pośredni Węzeł końcowy Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Budowa takiego drzewa jest w pewnym sensie odwzorowaniem struktury rzeczywistego drzewa, przy czym charakterystyczną różnicą jest to, że korzeń występuje na szczycie drzewa, zaś gałęzie rozchodzą się w dół. Drzewa decyzji przedstawiają zamkniętą wiedzę dotyczącą danego problemu: W każdym węźle drzewa umieszczone są pytania tak sformułowane, aby odpowiedź na nie wynikała z wyboru jednej z dopuszczalnych alternatyw. Gałęzie reprezentują operacje, które należy wykonać, aby przemieścić się z węzła o wyższej hierarchii do niższej. W węzłach końcowych umieszcza się konkluzję, hipotezę lub akcję, czyli wynik procesu rozumowania. Drzewo przedstawia przejrzyście drogę rozwiązywania określonego problemu i ułatwia prześledzenie ścieżek prowadzących do rozwiązania. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
STRUKTURY OKREŚLANE JAKO DRZEWA Drzewem zorientowanym (skierowanym) nazywamy skierowany graf acykliczny spełniający następujące trzy warunki: 1. Istnieje dokładnie jeden wierzchołek, do którego nie dochodzi żadna krawędź. Wierzchołek ten nazywamy korzeniem drzewa. 2. Dla dowolnego wierzchołka v w drzewie istnieje droga prowadząca od korzenia do tego wierzchołka i jest to droga jedyna. 3. Każdy wierzchołek nie będący korzeniem ma dokładnie jedną krawędź wchodzącą do niego 1 2 3 7 6 5 4 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Drzewem niezorientowanym nazywamy graf nieskierowany, który jest: 1. Spójny, tj. istnieje droga pomiędzy dwoma dowolnymi wierzchołkami, 2. Acykliczny, 3. Posiada wyróżniony wierzchołek nazywany korzeniem. 1 2 3 7 6 5 4 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
WŁAŚCIWOŚĆI DRZEW Jeśli rozważyć krawędź (v, w) E w drzewie, to węzeł v jest nazywany rodzicem wierzchołka w, a węzeł w jest nazywany synem wierzchołka v. Jeżeli w drzewie zorientowanym istnieje droga prowadząca od węzła v do węzła w, to węzeł v nazywa się przodkiem węzła w. Dla węzła niezorientowanego należy zaznaczyć, że węzeł v jest położony wyżej w strukturze drzew niż węzeł w. Pewien węzeł v wraz ze wszystkimi jego potomkami nazywamy poddrzewem. Węzeł v jest wtedy określany jako korzeń tego poddrzewa. Węzeł nie posiadający potomków nazywa się liściem. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Drzewo decyzyjne jest to użyteczny i efektywny typ schematu wnioskowania, umożliwia pokazanie w sposób graficzny wszystkich czynników uwzględnianych przy podejmowaniu decyzji. Posiada następujące właściwości: Gdy budowane jest drzewo, które będzie wykorzystywane do klasyfikacji zbioru obiektów (bazy przykładów, to w każdym węźle drzewa umieszczony jest jeden z atrybutów. Każda krawędź wychodząca z danego węzła jest etykietowana jedną z możliwych wartości atrybutu węzła ojca. Liściem w takim drzewie jest wartość ze zbioru decyzji (kategoria), jaką przyporządkujemy obiektom mającym takie wartości atrybutów, jakie znajdują się na ścieżce od korzenia do liścia. Na każdym poziomie w drzewie mogą się znajdować zarówno węzły z atrybutami, jak i liście. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Dobrze zbudowane drzewo decyzyjne (tzn Dobrze zbudowane drzewo decyzyjne (tzn. takie, które szybko potrafi zwrócić kategorię) ma odpowiednio rozmieszczone atrybuty w węzłach: W korzeniu znajduje się atrybut, który zawiera ,,najwięcej informacji'' (tzn. jego wartości mają większy wpływ na wynik niż pozostałe). Dalej drzewo budowane jest rekurencyjnie zgodnie z zasadą umieszczania w korzeniu atrybutów dających największy zysk informacyjny. W każdym węźle drzewa umieszczone są pytania tak sformułowane, aby odpowiedź na nie wynikała z wyboru jednej z dopuszczalnych alternatyw. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Tworzenie drzewa decyzyjnego Drzewo decyzyjne - to użyteczny i efektywny typ schematu wnioskowania, ponieważ umożliwia graficzne pokazanie wszystkich czynników, które muszą być uwzględnione przy podejmowaniu decyzji. Przykład: drzewo decyzji dla problemu zatrudnienia się do pracy aplikanta mającego obsługiwać instalację technologiczną. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Opis drzewa decyzji: Diagram składa się z kół i prostokątów, nazywanych węzłami. Zawierają one zmienne warunków i konkluzji, numery w węzłach są po to, aby wygodnie było odwoływać się do nich. Linie ze strzałkami łączące węzły to łuki lub gałęzie, zawierają one możliwe wartości zmiennych warunków. Koła, które zawierają pytania są węzłami decyzyjnymi (węzłami warunków). Zawierają one przynajmniej jedną gałąź wychodzącą z nich. Kształty prostokąta zawierają cele diagramu i oznaczają konkluzje (węzły konkluzji). Strzałki oznaczają kierunek diagramu. Droga zależy od odpowiedzi na pytania w węzłach decyzyjnych. Np. węzeł 5 ma dwie możliwe odpowiedzi. Średnia aplikanta może być zmienną. Każdy węzeł będący kołem zawiera zmienne, od wartości których zależy ścieżka wnioskowania. Prostokąty są konkluzjami (lub subkonkluzjami), np. nr 9 jest konkluzją (odpowiada na pytanie postawione na początku) a nr 3 jest subkonkluzją, informuje jedynie, że możliwe jest zatrudnienie aplikanta. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Algorytmy: ID3 i C4.5 do wyboru atrybutu testowego w wierzchołku drzewa decyzyjnego wykorzystują kryterium zysku informacyjnego. Punktem podziału jest tutaj cały atrybut. Jako atrybut testowy (aktualny wierzchołek drzewa decyzyjnego) algorytm wybiera atrybut dający największy zysk informacyjny (lub największą redukcję entropii). Atrybut testowy minimalizuje ilość informacji niezbędnej do klasyfikacji przykładów w partycjach uzyskanych w wyniku podziału. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Algorytm ID3 należy do klasy algorytmów „dziel i pokonuj”, tzn Algorytm ID3 należy do klasy algorytmów „dziel i pokonuj”, tzn. nie działa na całym zbiorze treningowym lecz dzieli dany zbiór na podklasy i na nich próbuje dokonać klasyfikacji. Konsekwencją takiego podejścia jest to, że dla tego samego zbioru treningowego można uzyskać różne drzewa decyzji Generowanie drzewa odbywa się na podstawie analizy zbioru przykładów – rozwiązań danego problemu przygotowanego przez eksperta. Algorytm uczy się na zbiorze treningowym, aby potem przypadki nieznane odpowiednio klasyfikować. Do oceny jakości (tzw. dobroci) wygenerowanego drzewa wykorzystuje się pojęcia: - entropii informacji H, oraz - średniej liczby pytań E(S) potrzebnych do klasyfikacji wszystkich przypadków ze zbioru treningowego. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
2. obydwa drzewa są równoważne, jeśli E(S1) = E(S2). Porównanie dwóch drzew decyzyjnych, wygenerowanych na podstawie tego samego zbioru treningowego opiera się na nastepującym kryterium: 1. drzewo S1 jest lepsze od drzewa S2, jeśli zachodzi warunek: E(S1) < E(S2), zaś 2. obydwa drzewa są równoważne, jeśli E(S1) = E(S2). Średnia liczba pytań daje odpowiedź na pytanie, które drzewo decyzji opisujące ten sam zbiór przykładów jest lepsze, ale czy jest ono optymalne (najlepsze)? Drzewo optymalne (najlepsze), to drzewo w szczególności spełniające warunek: E(S) = H(X), gdzie H jest to entropia informacji potrzebna do sklasyfikowania elementów zbioru X Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Aby istniało drzewo (system identyfikacyjny) optymalne, identyfikujące elementy zbioru X i spełniające warunek E(S) = H(X), potrzeba i wystarcza, aby log2pi był liczbą całkowitą dla każdego (i =1, 2, 3, . . . , n) Tylko niektóre zbiory spełniają powyższy warunek, dając absolutnie najlepsze drzewo decyzji. Wszystkie pozostałe zbiory przykładów mają taka właściwość, że istnieje zawsze drzewo decyzji, dla którego średnia liczba pytań różni się od entropii informacji nie więcej niż o 1, tzn. H(X) ≤ E(S) ≤ H(X) +1 W większości przypadków przebudowując strukturę drzewa można przybliżyć średnią liczbę pytań do liczby H(X) jak i doprowadzić dobroć systemu do dobroci systemu bardzo bliskiego idealnemu. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Algorytm ID3 pozwala ustalić, który z atrybutów należy umieścić w korzeniu drzewa w celu uzyskania drzewa optymalnego. Kluczem do rozwiązania tego zagadnienia jest równanie Shannona wyprowadzone z teorii informacji. Aby zadecydować jakie pytanie umieścić w korzeniu drzewa decyzji, algorytm wyznacza dla każdego dla każdego atrybutu różnicę entropii (tzw. obniżenie entropii): min( H(X) – H(X, A) ), w którym: H(X) - oznacza ilość informacji (entropię ) całego zbioru treningowego, H( X, A) – to entropia tego zbioru podzielonego wskutek wyboru atrybutu A. W korzeniu drzewa zostaje umieszczony atrybut dający największe obniżenie entropii informacji (wówczas drzewo jest optymalne). Często w czasie generowania drzewa optymalnego, algorytm ID3 pomija niektóre atrybuty, ponieważ nie wpływają one w sposób istotny na obniżenie entropii informacji. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
sortuje wartości atrybutów rosnąco lub malejąco, Algorytm ID3, na podstawie którego działa 1stClass, łatwo buduje drzewa decyzyjne dla atrybutów symbolicznych, natomiast atrybuty numeryczne (zwłaszcza wtedy, gdy przyjmują one wiele wartości) są pewną trudnością dla tego programu. System w takich przypadkach dokonuje dyskretyzacji, czyli zamiany atrybutów ciągłych na dyskretne. W tym celu program 1stClass: sortuje wartości atrybutów rosnąco lub malejąco, dzieli na klasy decyzyjne a pomiędzy klasami, wyznacza wartości progowe, które są średnią arytmetyczną wartością sąsiednich atrybutów z obydwu klas, wyznacza wartość entropii w punktach cięć, a następnie wybiera wartości progowe wg zasady minimalnej entropii i umieszcza je w węzłach drzewa decyzyjnego. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Program 1stClass W tym programie generowanie drzewa decyzji odbywa się na podstawie podanego przez użytkownika zbioru przykładów, ujętego w postaci tablicy decyzji (zbioru uczącego, nazywanego tez zbiorem treningowym). Atrybuty opisujące eksperyment (problem, zjawisko, zagadnienie) są indeksowane kolumnami, przy czym w ostatniej kolumnie tablicy danych, podane są wartości atrybutu decyzyjnego. Określane są również wagi poszczególnych decyzji. Bazy danych obsługiwane przez program 1stClass mają rozszerzenie *.KBM, zaś program działa pod systemem operacyjnym MS DOS. Przetwarzanie danych jest realizowane blokowo, przy czym działanie każdego bloku podlega sterowaniu odrębnym ekranem. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
OPCJE programu 1stClass Ekran <Definition> , umożliwia zdefiniowanie nazw kolejnych kolumn (atrybutów), określenie ich typu (symboliczny, numeryczny), kolejności atrybutów (ważnej z uwagi na fakt wpływu tego parametru na kształt drzewa decyzji, budowanego przy pomocy opcji „od-lewej-do-prawej”, symulującej wnioskowanie oparte na wykorzystaniu atrybutów w kolejności zgodnej z naturalną kolejnością czytania tekstu). Dodatkowo ekran umożliwia definiowanie dopuszczalnych wartości poszczególnych atrybutów (ujętych w tablicy decyzyjnej). Ekran <Examples> , umożliwia wprowadzenie przykładów, tj. wartości poszczególnych atrybutów oraz decyzji. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
OPCJE programu 1stClass (c.d.) Ekran <Methods> , daje możliwość utworzenia drzewa optymalnego (z wykorzystaniem algorytmu ID3), lub drzewa wygenerowanego uprzednio wspomnianą metodą „od-lewej-do-prawej”. Ten drugi typ drzewa cechuje się podobną skutecznością (bezbłędna klasyfikacja każdego przykładu z tablicy decyzyjnej) jaką cechuje się drzewo optymalne, jednakże jest ono znacznie bardziej rozbudowane i zawiera nadmierną liczbę pytań. Wygenerowane drzewo można wyświetlić na ekranie monitora używając opcji <Rule> , a także zapisać na dysku w postaci pliku o podanej nazwie i rozszerzeniu .KBM, nadanym automatycznie przez program 1stClass. Ekran <Advisor> , pozwala na przeprowadzenie wnioskowania opartego na wcześniej wygenerowanym drzewie decyzji. Po uruchomieniu procesu program zadaje pytania, na które odpowiada użytkownik, aż do momentu osiągnięcia finalnej konkluzji, po udzieleniu na wszystkie zadane przez program pytania. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Wnioskowanie programu 1stClass oparte jest na uczeniu nadzorowanym lub uczeniu na podstawie przykładów (ang. Learning from examples). Uczenie nadzorowane jest to taki schemat klasyfikacji, w którym znana jest przynależność rozpatrywanych obiektów do danej klasy. Obiekty o znanej przynależności klasowej są używane w procesie poznania ogólnego opisu modelu danej klasy; model ten może służyć później do klasyfikacji nieznanych obiektów. 1stClass pozwala na dezaktywację wybranych atrybutów (opcja <Definitions>) oraz dezaktywację przykładów, realizowaną w ekranie <Examples>. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Przykład. Źródłowa Baza Danych została utworzona z wyników analizy piwa w Laboratorium Kontroli Jakości Browaru „Van Pur” i zawiera dane opisujące 70 próbek, dla dwóch kategorii jakości piwa, określanych w jako piwo „dobre” i „niedobre”. Baza ta jest bazą zrównoważoną, co oznacza, że obie klasy jakości są reprezentowane przez 35 przykładów. Każda próbka piwa zarejestrowana w bazie PIWO.KBM opisana jest przez 12 atrybutów będących parametrami technologicznymi opisującymi jakość piwa (atrybuty numeryczne) oraz jednym atrybutem decyzyjnym o dwóch wartościach logicznych {dobre, niedobre} Wykaz atrybutów numerycznych: alkohol, barwa, ekstr_poz, ekstr_rzecz, ekstr_podst, goryczka, klarowność, odf_poz, odf_rzecz, pH, zaw_CO2 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Fragment źródłowej bazy danych Alkohol Barwa Ekst_poz Ekst_rzecz Ekst_podst Goryczka Klarowność Zaw_CO2 PIWO weight 1 3,87 7,8 2,74 4,49 11,99 22,0 0,38 0,50 dobre 1,00 2 3,78 7,5 2,89 4,61 11,94 23,0 0,64 . . . 3 3,73 8,2 3,08 4,77 12,01 21,0 0,45 0,51 4 3,86 8,1 2,57 4,33 11,82 18,0 0,32 0,49 5 4,02 7,7 2,41 4,22 12,11 20,0 0,29 6 3,97 8,4 2,76 4,57 12,25 0,30 0,53 niedobre 7 3,71 6,6 2,88 4,67 11,75 15,0 0,65 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno
Drzewo decyzji wygenerowane przez program 1stClass: Omówienie drzewa decyzji: Głównym atrybutem (znajdującym się w korzeniu) jest <Ekst_podst>. Kolejnymi atrybutami, potrzebnymi do kompletnej identyfikacji wszystkich przypadków, są <Klarowność>i <Barwa> znajdujące się w węzłach umieszczonych na następnych poziomach drzewa decyzji. Jeżeli atrybut opisujący ekstrakt podstawowy (<Ekst_pods> ma wartość <11.80, to od razu piwo jest niedobre. Natomiast jeśli przyjmuje wartości ≥ 11.80, to konieczna jest znajomość drugiego atrybutu oznaczającego klarowność piwa (<Klarowność>). Wygenerowane drzewo decyzji nie jest rozbudowane i nie zawiera sprzeczności. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno