konspekt wykładu
Transkrypt
konspekt wykładu
WYKŁAD 11 Uczenie maszynowe – drzewa decyzyjne • • • • • Reprezentacja wiedzy w postaci drzew decyzyjnych entropia, przyrost informacji algorytmy ID3, C4.5 problem przeuczenia wyznaczanie reguł Przykładowe drzewo decyzyjne dla gry w Tenis ziemny: Przykład wykorzystania: Outlook: Temperature: Humidity: Hot Sunny High Medium High Rain Wind: Weak Weak PlayTenis: No 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− Przestrzeń klasyfikacji: iloczyn Kartezjański X = X1×X2× ... ×Xn skończonej liczby zbiorów Xi, z których każdy jest albo zbiorem liczb rzeczywistych albo pewnym skończonym zbiorem obiektów. Zbiory Xi 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 słoneczna słoneczna pochmurna deszczowa deszczowa deszczowa pochmurna słoneczna słoneczna deszczowa słoneczna pochmurna pochmurna deszczowa Temperatura Wilgotność Wiatr Decyzja ciepła ciepła ciepła umiarkowana zimna zimna zimna umiarkowana zimna umiarkowana umiarkowana umiarkowana ciepła umiarkowana duża duża duża duża normalna normalna normalna duża normalna normalna normalna duża normalna duża słaby silny słaby słaby słaby silny silny słaby słaby słaby silny silny słaby silny nie – 0 nie – 0 tak – 1 tak – 1 tak – 1 nie – 0 tak – 1 nie – 0 tak – 1 tak – 1 tak – 1 tak – 1 tak – 1 nie – 0 Zbiór trenujący dla dziedziny pogody (z atrybutami ciągłymi) Lp Aura 1 2 3 4 5 6 7 8 9 10 11 12 13 14 słoneczna słoneczna pochmurna deszczowa deszczowa deszczowa pochmurna słoneczna słoneczna deszczowa słoneczna pochmurna pochmurna deszczowa Temperatura Wilgotność Wiatr Decyzja 27 28 29 21 17 18 19 22 20 23 24 25 30 26 55 60 65 70 20 25 30 75 35 40 45 80 50 85 2 10 3 4 5 12 14 6 7 8 16 18 9 20 nie – 0 nie – 0 tak – 1 tak – 1 tak – 1 nie – 0 tak – 1 nie – 0 tak – 1 tak – 1 tak – 1 tak – 1 tak – 1 nie – 0 −2− Ogólny algorytm zstępującego budowania drzewa decyzyjnego: argumenty wejściowe funkcji: P – 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 P FUNCTION buduj_drzewo( P, d, E ) : drzewo 1: 2: 3: 4: 5: 6: // podjęcie decyzji czy to jest węzeł końcowy - liść IF spełnione kryterium stopu(P,S) THEN BEGIN utwórz węzeł-liść l ; dl := wyznacz_kategorię(P,d) RETURN węzeł l ; END; // wybranie najlepszego testu dzielącego // i rekurencyjny podział na pod-węzły 7: utwórz węzeł n ; 8: tn := wybierz_test(P,S); 9: d := wyznacz_kategorię(P,d); 10: FOR_ALL wynik testu r∈Rtn DO 11: n[r] := buduj_drzewo( Ptn, d, S-{tn}); 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: n −1 E = ∑ (− pi log 2 pi ) i =0 gdzie pi 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 P można wyrazić jako: Pd Pd I ( P) = ∑ − log 2 P P 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 P ze względu na wynik r testu t określa się jako: Etr ( P ) = ∑− Ptrd d∈C d Ptr log 2 Ptrd d Ptr Entropia zbioru przykładów P ze względu na test t jest definiowana jako średnia ważona entropia dla poszczególnych wyników tego testu: Et ( P ) = ∑ r∈Rt Ptr P Etr ( P ) Przyrost informacji wynikający z zastosowania testu t do zbioru etykietowanych przykładów P jest określany jako różnica: g t ( P) = I ( P) − Et ( P) 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 P na podzbiory zawierające przykłady o najmniejszym zróżnicowaniu klas. −5− Drzewo jako reprezentacja zbioru reguł: JEŻELI . . . TO . . . Zakodowany zbiór reguł: IF Outlook=Sunny AND Humidity=High THEN PlayTennis=No IF Outlook=Sunny AND Humidity=Normal THEN PlayTennis=Yes IF Outlook=Overcast THEN PlayTennis=Yes IF Outlook=Rain AND Wind=Strong THEN PlayTennis=No IF Outlook=Rain AND Wind=Weak THEN PlayTennis=Yes Problem przeuczenia −6−