WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne Reprezentacja wiedzy w postaci drzew decyzyjnych entropia, przyrost informacji algorytmy ID3, C4.5 problem przeuczenia wyznaczanie reguł rzykładowe drzewo decyzyjne dla gry w Tenis ziemny: rzykład wykorzystania: Outlook: Temperature: Humidity: Wind: laytenis: Sunny Hot High Weak No Rain Medium High Weak Yes Drzewo dowolny spójny skierowany graf acykliczny. W drzewie decyzyjnym węzły środkowe (rozgałęzienia) przechowują testy sprawdzające wartości atrybutów przykładów, a węzły końcowe (liście) przechowują przypisane im kategorie. Naturalna reprezentacja, intuicyjnie oczywista dla człowieka! 1
rzestrzeń klasyfikacji: iloczyn Kartezjański X = X 1 X 2... X n skończonej liczby zbiorów X i, z których każdy jest albo zbiorem liczb rzeczywistych albo pewnym skończonym zbiorem obiektów. Zbiory X i nazywamy cechami lub atrybutami tej przestrzeni. Cechy będące zbiorem liczb rzeczywistych nazywamy cechami ciągłymi, natomiast cechy będące skończonymi zbiorami dyskretnych obiektów (np. identyfikatorów lub liczb całkowitych) nazywamy cechami dyskretnymi. Atrybuty dyskretne mogą być dodatkowo podzielone na: 1. nominalne (symboliczne) o skończonym zbiorze nieuporządkowanych wartości dyskretnych 2. porządkowe o przeliczalnym zbiorze uporządkowanych wartości dyskretnych Zbiór trenujący dla dziedziny pogody (z atrybutami dyskretnymi) Lp Aura Temperatura Wilgotność Wiatr Decyzja 1 słoneczna ciepła duża słaby nie 0 2 słoneczna ciepła duża silny nie 0 3 pochmurna ciepła duża słaby tak 1 4 deszczowa umiarkowana duża słaby tak 1 5 deszczowa zimna normalna słaby tak 1 6 deszczowa zimna normalna silny nie 0 7 pochmurna zimna normalna silny tak 1 8 słoneczna umiarkowana duża słaby nie 0 9 słoneczna zimna normalna słaby tak 1 10 deszczowa umiarkowana normalna słaby tak 1 11 słoneczna umiarkowana normalna silny tak 1 12 pochmurna umiarkowana duża silny tak 1 13 pochmurna ciepła normalna słaby tak 1 14 deszczowa umiarkowana duża silny nie 0 Zbiór trenujący dla dziedziny pogody (z atrybutami ciągłymi) Lp Aura Temperatura Wilgotność Wiatr Decyzja 1 słoneczna 27 55 2 nie 0 2 słoneczna 28 60 10 nie 0 3 pochmurna 29 65 3 tak 1 4 deszczowa 21 70 4 tak 1 5 deszczowa 17 20 5 tak 1 6 deszczowa 18 25 12 nie 0 7 pochmurna 19 30 14 tak 1 8 słoneczna 22 75 6 nie 0 9 słoneczna 20 35 7 tak 1 10 deszczowa 23 40 8 tak 1 11 słoneczna 24 45 16 tak 1 12 pochmurna 25 80 18 tak 1 13 pochmurna 30 50 9 tak 1 14 deszczowa 26 85 20 nie 0 2
Ogólny algorytm zstępującego budowania drzewa decyzyjnego: argumenty wejściowe funkcji: zbiór etykietowanych przykładów pojęcia c, d domyślna etykieta kategorii, S zbiór możliwych testów argument zwracany: węzeł-korzeń drzewa decyzyjnego reprezentującego hipotezę przybliżającą (aproksymującą) pojęcie c na zbiorze przykładów FUNCTION buduj_drzewo(, d, E ) : drzewo // podjęcie decyzji czy to jest węzeł końcowy - liść 1: IF spełnione kryterium stopu(,s) THEN 2: BEGIN 3: utwórz węzeł-liść l ; 4: d l := wyznacz_kategorię(,d) 5: RETURN węzeł l ; 6: END; // wybranie najlepszego testu dzielącego // i rekurencyjny podział na pod-węzły 7: utwórz węzeł n ; 8: t n := wybierz_test(,s); 9: d := wyznacz_kategorię(,d); 10: FOR_ALL wynik testu r R tn DO 11: n[r] := buduj_drzewo( tn, d, S-{t n }); 12: RETURN węzeł n ; 3
Jak wybierać test - miara przyrostu informacji W celu przedstawienia przyrostu informacji (ang. information gain) niezbędne jest wprowadzenie pojęcia entropii (ang. entropy). Entropia jest miarą bardzo często używaną w wielu problemach maszynowego uczenia. Ogólnie jest zdefiniowana jako pewna miara informacji zawartej w zjawisku, które w przypadkowy sposób może przyjmować n stanów. Oznacza więc także wartość średnią ilości informacji niezbędnej do zapamiętania faktu, że dane zjawisko przyjmuje jeden spośród n dostępnych stanów: E n = 1 i= 0 ( p i log 2 p i ) gdzie p i jest prawdopodobieństwem pojawienia się i-tego elementu zbioru. W problemach indukcji drzew decyzyjnych entropia służy do ustalenia najbardziej znaczącego atrybutu. Miara ta związana jest z nieokreślonością i zastosowanie jej do zbioru danych powoduje redukcję nieokreśloności na tym zbiorze. Informację zawartą w zbiorze etykietowanych przykładów można wyrazić jako: d d I( ) = log2 d C Dla logarytmu dwójkowego wynik będzie podawany w bitach ale można również stosować dowolną podstawę logarytmu (tylko wszędzie taką samą). 4
Entropia zbioru przykładów ze względu na wynik r testu t określa się jako: d d tr Etr ( ) = log 2 d C tr Entropia zbioru przykładów ze względu na test t jest definiowana jako średnia ważona entropia dla poszczególnych wyników tego testu: r tr E t ( ) = Etr ( ) R t d d tr tr rzyrost informacji wynikający z zastosowania testu t do zbioru etykietowanych przykładów jest określany jako różnica: g ( ) = I( ) E ( ) t W indukcji drzew decyzyjnych, atrybut dla którego przyrost informacji jest największy wybierany jest jako kolejny węzeł drzewa. Oznacza to, że preferowane są atrybuty, które dzielą zbiór na podzbiory zawierające przykłady o najmniejszym zróżnicowaniu klas. t 5
Drzewo jako reprezentacja zbioru reguł: JEŻELI... TO... Zakodowany zbiór reguł: IF Outlook=Sunny AND Humidity=High THEN laytennis=no IF Outlook=Sunny AND Humidity=Normal THEN laytennis=yes IF Outlook=Overcast THEN laytennis=yes IF Outlook=Rain AND Wind=Strong THEN laytennis=no IF Outlook=Rain AND Wind=Weak THEN laytennis=yes roblem przeuczenia 6