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−