Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

Entropia Wzajemna informacja Drzewa decyzyjne

Informacja wzajemna

Marek Śmieja

Teoria informacji

1 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Entropia zmiennej losowej

Dotychczas entropia była definiowana w oparciu o rozkład


prawdopodobieństwa pi na zbiorze danych X .
Interpretowaliśmy ją jako statystyczną długość kodu eleemntu X w
optymalnym kodowaniu
Wygodniej będzie teraz mówić o entropii zmiennej losowej X
mającej rozkład pi :
X
h(X ) = h(p) = pi · (− log2 pi ).
i

Możemy o tym myśleć jako o informacji zawartej w zmiennej X - im


mniejsza tym łatwiej przewidzieć wartość X

2 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Entropia wielowymiarowa

Definicja
Entropia wspólna dyskretnego wektora losowego (X , Y ) o łącznym
rozkładzie p(x, y ) to:
XX
h(X , Y ) = h(p) = p(x, y ) · (− log2 p(x, y )).
x y

Jest to długość kodu jeśli tworzymy jeden kod dla x i y


Powinna być niższa niż suma osobnych kodów dla x i y , bo X , Y mogą
być skorelowane co pomaga przy kodowaniu

3 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Przykład

Y/X 1 2 3 4
1 1/8 1/16 1/32 1/32
2 1/16 1/8 1/32 1/32
3 1/16 1/16 1/16 1/16
4 1/4 0 0 0

H(X ) + H(Y ) = 7/4 + 2 ­ 27/8 = H(X , Y )

4 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Entropia warunkowa

Definicja
Niech (X , Y ) będzie dyskretnym wektorem losowym o rokładzie p(x, y ).
Entropia Y pod warunkiem X to:
X
H(Y |X ) = p(x)h(Y |X = x)
x

Oznacza informację jaką niesie Y zakładając, że X jest w pełni znana.


Co jeśli X niezależne od Y , albo Y w pełni zależne od X ?

5 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Wzór

Obliczmy ładniejszą postać entropi warunkowej


P
H(Y |X ) = x p(x)h(Y |X = x)
P P
x p(x) y p(y |x) · (− log2 p(y |x))
P P
x y p(x, y ) · (− log2 p(y |x))
P P p(x,y )
x y p(x, y ) · (− log2 p(y ) )

6 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Przykład

Y/X 1 2 3 4
1 1/8 1/16 1/32 1/32
2 1/16 1/8 1/32 1/32
3 1/16 1/16 1/16 1/16
4 1/4 0 0 0

H(Y |X ) = 13/8
czy jest jakaś zależność z poprzednimi obliczeniami?

H(X ) = 7/4, H(Y ) = 2, H(X , Y ) = 27/8

7 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Chain rule

Twierdzenie
h(X , Y ) = h(X ) + h(Y |X )

P P
H(X , Y ) =− x y p(x, y ) log p(x, y )
P P
=− xp(x, y ) log p(x)p(y |x)
y
P P P P
= − x y p(x, y ) log p(x) − x y p(x, y ) log p(y |x)
P P P P
= − x y p(x) log p(x) − x y p(x, y ) log p(y |x)
= h(X ) + h(Y |X )

Ćwiczenie: rozszerzyć twierdzenie na n-elementowy ciąg X1 , . . . , Xn .

8 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Wnioski

h(X , Y ) = h(X ) + h(Y |X )


h(X , Y ) = h(Y ) + h(X |Y )
Zatem h(X ) + h(Y |X ) = h(Y ) + h(X |Y )
Ale h(Y |X ) 6= h(X |Y ) - podać przykład

9 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Przykład: selekcja cech

Niech X ⊂ RN zbiór danych.


Pytanie: Które współrzędne są najważniejsze (niosą najwięcej
informacji)?
Załóżmy, że i-ta współrzędna jest opisana za pomocą zmiennej
losowej Xi
Zatem najważniejsza z cech, to ta która ma najwięcej informacji,
czyli maksymalizująca h(Xi )

10 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Selekcja cech -c.d.

Jak dodać drugą najważniejsza cechę do Xi ?


Można by wziąć drugą w kolejności cechę która maksymalizuje
entropię - nie jest optymalne bo te zmienne moga być zależne.
Musimy patrzeć na łączną entropię h(Xi , Xj )
k-najważniejszych cech to te które maksymalizują h(Xi1 , . . . , Xik ).
k-cech Xi1 , . . . , Xik zawiera pełną informację o X jeśli
h(Xi1 , . . . , Xik ) = h(X1 , . . . , XN ).

11 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Informacja o czymś

Dotychczas zajmowaliśmy informacją samą w sobie


(informacja/entropia o zbiorze, o rozkładzie, o zmiennej losowej)
Teraz zajmiemy się informację w ustalonym kontekście.
Dokładniej, będziemy chcieli mierzyć informację jaka jedna zmienna
losowa niesie na temat drugiej.
Przykład: jakie wpływ ma picie kawy na szanse wypadku
samochodowego:)

12 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Wzajemna informacja

Definicja
Niech X , Y będą dwoma zmiennymi losowymi o łącznym rozkładzie
p(x, y ) oraz brzegowych p(x), p(y ). Wzajemna informacja X , Y to:
XX p(x, y )
I (X ; Y ) = p(x, y ) log2 .
x y
p(x)p(y )

Widać z definicji, że I (X , Y ) = I (Y , X ).
Zatem, jest to raczej informacja wspólna zmiennych, niż wpływ
jednej na drugą.
Można pokazać: I (X , Y ) ­ 0.

13 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Powiązania

Jest to coś w rodzaju korelacji zmiennych losowych.


Korelacja jest liniowa, a wzajemna informacja nieliniowa.
Pozwala mierzyć bardziej złożone nieliniowe zależności.
Jeśli X , Y są niezależne, to I (X , Y ) = 0 (w definicji wstaw
p(x, y ) = p(x)p(y ))

14 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Związek z entropią

Twierdzenie
Nich X , Y będą dyskretnymi zmiennymi losowymi. Wtedy

I (X ; Y ) = H(X ) − H(X |Y ).

Dowód na ćwiczeniach:

15 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Wniosek

Informacja to niepewność, więc wzajemna informacja to redukcja


niepewności o X przy znajomości Y .
Analogicznie I (X ; Y ) = H(Y ) − H(Y |X ) - symetria, czyli redukcja
niepewności jest stała.

16 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

17 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Własności c.d.

Było: H(X , Y ) = H(X ) + H(Y |Y ).


Jako, że I (X ; Y ) = H(Y ) − H(Y |X ), więc
H(X , Y ) = H(X ) + H(Y ) − I (X ; Y ).
Reguła włącz/wyłącz dla zbiorów? Liczność sumy zbiorów to suma
składowych pomniejszona o część wspólną.
Informacja o sobie to entropia:

I (X ; X ) = H(X ) − H(X |X ) = H(X )

18 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Podsumowanie

Twierdzenie
I (X , Y ) ­ 0
Jeśli X , Y niezależne to I (X ; Y ) = 0.
I (X ; Y ) = H(X ) − H(X |Y )
I (X ; Y ) = H(Y ) − H(Y |X )
I (X ; Y ) = H(X ) + H(Y ) − H(X , Y )
I (X ; Y ) = I (Y ; X )
I (X ; X ) = H(X )

19 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Wnioski

Twierdzenie: Information can’t hurt


H(X |Y ) ¬ H(X )
Równość dla X , Y niezależnych

Dowód: 0 ¬ I (X ; Y ) = H(X ) − H(X |Y )

Twierdzenie
H(X , Y ) ¬ H(X ) + H(Y )
Równość dla X , Y niezależnych

Dowód: 0 ¬ I (X ; Y ) = H(X ) + H(Y ) − H(X , Y )

20 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Selekcja cech II

Niech X ⊂ RN zbiór danych oraz Y ⊂ R - etykieta.


Pytanie: Które współrzędne są najważniejsze w kontekście Y ?
Najważniejsza z cech maksymalizuje I (Xi ; Y )
k-najważniejszych cech to te które maksymalizują I (Xi1 , . . . , Xik ; Y ).
Trudno wybierać iteracyjnie, ale nieefektywnie jest patrzeć na całe
podzbiory.

21 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Klasyfikacja

Niech X ⊂ RN będzie zbiorem danych, Y ⊂ {1, . . . , K } - etykietą.


Etykieta: zdrowy/chory; kategoria tekstu itp.
Cel naiwny: utworzyć funkcję f : X → Y , która jest zgodna z danymi
Jeśli tylko dane nie są sprzeczne, to można zadać reguły

Cel rozsądny
Utworzyć funkcję (klasyfikator) f : RN → Y , która dla nowych
przykładów danych da poprawne odpowiedzi

Na statystyce była regresja liniowa

22 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Proces doboru funkcji

Klasyfikator powinien być możliwie prostą funkcją - zawężamy się


zwykle do określonej klasy (np. liniowa)
Skąd wziąć nowe dane?
Trening: wydzielmy z X około 80% danych, aby dopasować
klasyfikator (możemy mieć wiele dopasować)
Test: resztę zbioru X użyjmy jako nowych danych do ewaluacji
Ten klasyfikator jest lepszy, który na zbiorze testowym daje lepszy
podział (różne kryteria ”dobroci”)
Dopuszczamy błąd na zbiorze treningowym

23 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Ocena klasyfikatora

Mamy n punktów x ∈ RN oraz K klas


Punkt x należy do klasy y (x) ∈ {1, . . . , K }
Klasyfikator przewidział etykietę punktu x jako ŷ (x).
Accuracy to procent poprawnych odpowiedzi:
1X
Acc(y , ŷ ) = 1y (x)=ŷ (x)
n x

Zła miara dla problemów niezbalansowanych


Istnieje wersja ważona

24 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Reguły

Dane x = (x1 , . . . , xD ) posiadają atrybuty (cechy/współrzędne)


Pytamy: jak wartości atrybutów przekładają się na etykietę?
Szukamy prostych reguł.
Przykład: klasyfikacja tekstów pod względem kategorii: sport,
polityka
Reguła: jesli mecz = 1 oraz faul = 1, to sport
Reguła: jeli korupcja = 1 oraz faul = 1 to polityka

25 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Reguły

Im większy zbiór reguł tym lepsze pokrycie (na zbiorze treningowym)


Niektóre reguły to szum, tylko te najważniejsze powinny być brane
pod uwagę (pruning)
Używamy drzewa do zapisu reguł
Hierarchia reguł: pierwsze poziomy używają reguł najważniejszych

26 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Drzewo

27 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Dane

Niech Y będzie zmienną etykietującą (mamy K etykiet)


Wektor X = (X1 , . . . , XD ) ⊂ RD opisuje dane

28 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Niepewność klasyfikacji

Regułę będziemy budować w oparciu o jeden atrybut (univariate


trees)
Załóżmy, że w węźle mamy porcję danych X zbioru treningowego
Etykieta Y dzieli te dane na zbiory Y1 , Y2 , . . . , Yk (mamy k klas)
|Yi |
Niech pi = P(Yi ) = |Y | będzie prawd. klasy k w węźle
Entropia klasyfikacji w węźle
X
h(Y ) = − pi log pi
i

to niepewność klasyfikacji

29 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Podział węzła

Wybierzmy cechę Xt .
Biorąc wartość xt ∈ R dzielimy dane na dwa podzbiory

0, dla Xt ¬ xt ,
X̄t =
1, dla Xt > xt .

W ten sposób tworzymy dwóch potomków

30 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Punkt podziału

Jaką cechę Xt i jaki punkt podziału xt wybrać?


Chcemy dobrać regułę tak, aby niepewność zmalała jak najbardziej
W każdym z węzłów potomnych mamy podział na klasy i
niepewność klasyfikacji h(Y |Xt ¬ xt ) oraz h(Y |Xt > xt )
Średnia niepewność klasyfikacji w węzłach potomnych to

h(Y |X̄t ) = P(Xt ¬ xt )h(Y |Xt ¬ xt ) − P(Xt > xt )h(Y |Xt > xt )

31 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Optymalny podział

Wybieramy podział który daje największą redukcję niepewności po


podziale:
h(Y ) − h(Y |X̄t ) = I (Y ; X̄t )
Zatem trzeba wybrać taki podział który maksymalizuje wzajemną
informację

32 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Algorytm

Przeglądamy wszystkie cechy Xt


Dla każdej cechy bierzemy wszystkie możliwe punkty podziału xt (są
to wartości punktu zbioru danych Xt )
Można nie rozważać wszystkich cech i wszystkich punktów podziału
– przyspieszenie i lepsza generalizacja
Jest to realizowane w algorytmie lasów losowych (dla
zainteresowanych)

33 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Pruning

Jeśli nasze reguły dokładne pokryją zbiór treningowy to dojdzie do


przeuczenia (dopasowanie do treningu)
Aby temu zapobiec stosuje się prepruning bądź postpruning, gdzie
usuwamy najmniej znaczące reguły
Prepruning – węzeł dzielimy aż do momentu gdy jego entropia klas
spadnie poniżej ustalonego poziomu ε
Postpruning - budujemy pełne drzewo, a następnie usuwamy te
poddrzewa, które powodują największe przeuczenie

34 / 35
Entropia Wzajemna informacja Drzewa decyzyjne

Postpruning

Dzielimy zbiór na treningowy i walidacyjny


Drzewo budujemy w oparciu o zbiór treningowy
Następnie porównujemy błąd klasyfikacji na zbiorze walidacyjnym
pomiędzy sytuacją gdy:
stosujemy pełne drzewo
liście danego określonego węzła zostały usunięte (wówczas klasę
takiego węzła określa klasa dominująca w węźle)
Jeśli błąd klasyfikacji po usunięciu poddrzewa jest niewiększy niż
przed usunięciem to należy go usunąć
Postpruning jest zwykle efektywniejszy od prepruningu, choć jest
kosztowny

35 / 35

You might also like