• Nie Znaleziono Wyników

MarekŚmieja MaxEnt–zasadamaksymalnejentropii

N/A
N/A
Protected

Academic year: 2021

Share "MarekŚmieja MaxEnt–zasadamaksymalnejentropii"

Copied!
29
0
0

Pełen tekst

(1)

MaxEnt – zasada maksymalnej entropii

Marek Śmieja

Teoria informacji

(2)

Motywacja 1

Rzucamy kostką. Jaki jest najbardziej prawdopodobny rozkład na kostce?

Jednostajny p(i ) = 16

Losujemy liczbę z przedziału [0, 1]. Jaki jest najbardziej prawdopodobny rozkład na przedziale?

Jednostajny (nie mamy żadnej dodatkowej informacji) Rozkład jednostajny maksymalizuje entropię (informację)

2 / 29

(3)

Motywacja 2

W praktyce mamy dodatkową informację o rozkładzie np. średnio na kostce wypada wartość 4.

Jaki jest najbardziej prawdopodobny rozkład przy tym ograniczeniu?

Maksymalizowanie entropii minimalizuje ilość informacji wejściowej (a priori) o rozkładzie – jeśli nie wiemy wiele o danych to użyjmy rozkładu MaxEnt

Zasada maksymalnej entropii wywodzi się z fizyki

(4)

MaxEnt

Problem

Znajdź gęstość f , która maksymalizuje entropię h(f ) =R f (x)(− log f (x))dx przy warunkach:

f (x ) ­ 0, R f (x)dx = 1,

R f (x)ri(x )dx = αi, dla i = 1, . . . , m

Dwa pierwsze warunki to warunki na gęstość. Ostatni mówi o równości momentów

Przypomina to metodę momentów ze statystyki, ale tam zamiast optymalizacji entropii zakładaliśmy postać rozkładu.

4 / 29

(5)

Wyprowadzenie

Zaastosujmy metodę Lagrange’a do problemu maksymalizacji:

J(f ) = − Z

f log f + λ0( Z

f − 1) +

m

X

i =1

λi( Z

rif − αi)

Różniczkując względem f (x ) (osobno względem każdego f (x )) dostajemy:

∂J

∂f (x ) = − log f (x ) − 1 + λ0+

m

X

i =1

λiri(x )

Przyrównując ją do zera dostajemy:

f (x ) = exp(λ0− 1 +

m

X

i =1

λiri(x )),

gdzie λ0, λ1, . . . , λm są wybrane tak, aby f spełniała zadane warunki.

(6)

Globalne maksimum

Nasz kandydat na maksimum ma postać:

f (x ) = exp(λ0+

m

X

i =1

λiri(x )),

Pokażmy, że jest maksimum globalnym:

Twierdzenie

Niech f (x ) = exp(λ0+Pm

i =1λiri(x )), gdzie λ0, λ1, . . . , λmsą wybrane tak, aby f spełniała zadane warunki. Wówczas f jest maksimum globalnym problemu.

6 / 29

(7)

Dowód

Niech g również spełnia zadane warunki. Wówczas:

h(g ) = − Z

g log g = − Z

g logg f f

= D(g kf ) − Z

g log f ¬ − Z

g log f

= − Z

g (λ0+

m

X

i =1

λiri(x ))

= − Z

f (λ0+

m

X

i =1

λiri(x ))

= − Z

f log f = h(f )

Nierówność, bo D(g kf ) ­ 0, potem korzystamy z postaci f oraz z faktu że g spełnia te same warunki co f .

(8)

Rozkład MaxEnt

Definicja

Rozkład maksymalnej entropii jest postaci

f (x ) = exp(λ0+

m

X

i =1

λiri(x )),

gdzie λ0, λ1, . . . , λm są tak dobrane aby spełnić następujące warunki:

f (x ) ­ 0, R f (x)dx = 1,

R f (x)ri(x )dx = αi, dla i = 1, . . . , m

Dla rozkładu dyskretnego p = (p1, . . . , pk) dostajemy rozkład:

pj = exp(P

iλirij) exp(−λ0) , gdzie λi spełniająP

jpj = 1 orazP

jpjrij = αi.

8 / 29

(9)

Przykład

Znajdź rozkład maksymalizujący entropię, który spełnia EX = 0, D2X = σ2.

Zauważmy, że D2X = E (X2) − (EX )2, więc u nas E (X2) = σ2. Mamy dwa warunki na momenty, więc możemy zastosować postać MaxEnt:

f (x ) = exp(λ0+ λ1x + λ2x2) Skorzystajmy z postaci kanonicznej funkcji kwadratowej:

f (x ) = exp(λ2(x − p)2+ q) = exp(q) exp(λ2(x − p)2), gdzie p = −λ1

0 oraz q = −∆

0.

To jest gęstość rozkładu normalnego, zatem optymalny ma postać:

1

2πσexp(−x2 2), aby spełniał warunki.

(10)

Cel

Chcemy zastosować zasadę MaxEnt do problemu klasyfikacji.

Przypomnienie:

Mamy zbiór treningowy X = {xi}ni =1⊂ RD, gdzie każdy przykład xi jest klasy yi∈ Y = {1, . . . , K }.

Szukamy funkcji f : RD → Y , która daje dobre odpowiedzi na zbiorze testowym.

Zwykle szukamy prostych funkcji aby móc generalizować.

10 / 29

(11)

Rozkład a posteriori

Weźmy przykład x i zbiór etykiet Y

Znajdźmy prawdopodobieństwo, że nasz x należy do klasy y , dla każdego y ∈ Y

Wówczas, jako klasę x przyjmujemy tę najbardziej prawdopodobną.

Tak naprawdę szukamy rozkładu warunkowego py(x ) = p(y |x ) Jest to rozkład a posteriori (szansa klasy y mając dany x )

(12)

Notacja

xij oznacza j -tą współrzędną i -tego przykładu

py(x ) = p(y |x ) to rozkład a posteriori przykładu x względem klasy y Dla zbioru treningowego rozkład a posteriori to macierz:

p(1|x1) . . . p(1|xn) . . .

p(K |x1) . . . p(K |xn)

Rozkład empiryczny a posteriori:

ˆ

p(y |xi) =

 1, yi= y 0, yi6= y Rozkład na X to p(xi) =1n. Wtedy

p(xi, y ) = p(xi)p(y |xi) = 1 np(y |xi)

12 / 29

(13)

Cel

Będziemy chcieli znaleźć taki rozkład a posteriori, który maksymalizuje entropię, czyli informację o danych

Bez dodatkowych warunków weźmiemy rozkład jednostajny, który nie klasyfikuje dobrze (losowy)

Zażądamy, aby rozkład a posteriori dawał dobre odpowiedzi na znanych przykładach (w sensie wartości oczekiwanej)

(14)

Ograniczenia 1

Oczywiście p(y |x ) musi być rozkładem, tzn.

py(xi) ­ 0, dla xi ∈ X , y = 1, . . . , K PK

k=1pk(xi) = 1, dla xi ∈ X

14 / 29

(15)

Ograniczenia 2

Predykcje mają zgadzać się ze zbiorem treningowym tzn.

py(xi) ≈ 1y =yi, dla każdego xi, y .

Chcemy żeby powyższa równość była spełniona “średnio (po wszystkich xi)”:

1 n

n

X

i =1

py(xi)xi= 1 n

n

X

i =1

1y =yixi.

dla każdego y = 1, . . . , K .

Powyższe jest wielowymiarowe, więc badamy wartość średnich na każdej współrzędnej:

n

X

i =1

py(xi)xij =

n

X

i =1

1y =yixij, .

dla y ∈ Y , j = 1, . . . , D

(16)

Problem

Szukamy takiego py(x ), który spełnia zadane warunki i maksymalizuje entropię (warunkową):

H(Y |X ) = − P

x ∈X

p(x )H(Y |x )

= −1n P

y ∈Y

P

x ∈X

py(x ) log py(x )

= −1n P

(x ,y )

py(x ) log py(x )

Intuicyjnie: rozkład ma się zgadzać na klasach oraz rozciągać się w miarę jednostajnie poza zbiorem uczącym (zakładając gładkość rozwiązania).

16 / 29

(17)

Postać rozwiązania

Z postaci rozkładu MaxEnt mamy, że:

pk(xi) = exp(βi+

D

X

j =1

λkjxij)

= exp(βi+ λk · xi),

gdzie

λk = (λk1, . . . , λkD) λk· xi=PD

j =1λkjxij oznacza iloczyn skalarny

Szukamy parametrów βi, λk aby warunki (1-3) były spełnione.

Warunek (1) jest spełniony bo exp(x ) ­ 0.

(18)

Parametr βi

Aby wyznaczyć wartość βi wrzućmy nasz rozkład do warunku (2):

K

X

k=1

exp(βi+ λk · xi) = 1

Mamy:

exp(βi) = 1/

K

X

k=1

exp(λk· xi) Zatem wracając do postaci rozkładu dostajemy:

py(xi) = exp(λy · xi) PK

k=1exp(λk· xi),

Jest to tak zwana funkcja sigmoidalna.

18 / 29

(19)

Sigmoid

−4 −2 0 2 4

0.00.20.40.60.81.0

(20)

Parametry λk

Znalezienie λk nie jest jest takie proste

Wrzucenie rozkładu do warunku (3) daje równanie uwikłane – nie da się wyciągnąć jawnego wzoru, ale rozwiązanie istnieje

Pokażemy warunek równoważny warunkowi (3), który będzie można rozwiązać

20 / 29

(21)

Warunek równoważny (3)

Rozważmy funkcję log-likelihood dla py(x ) (funkcja wiarygodności):

L(λ1, . . . , λK) =

n

X

i =1

log p(yi|xi)

Twierdzenie

Maksymalizacja funkcji L jest równoważna warunkowi (3) dla problemu MaxEnt.

Innymi słowy, parametry λ dobieramy maksymalizując funkcję wiarygodności

(22)

Dowód

ćwiczenie:)

trzeba policzyć funkcję wiarygodności i dojdzie się do równości momentów

22 / 29

(23)

Podsumowanie

Klasyfikator MaxEnt szuka prawdopodobieństw a posteriori py(x ) postaci:

py(x ) = exp(λy · x) PK

k=1exp(λk· x) gdzie λk dla k = 1, . . . , K są parametrami modelu.

Aby je znaleźć, maksymalizujemy funkcję wiarygodności

Pochodna ma postać uwikłaną, więc nie da się wyliczyć jawnego wzoru na λ

Rozwiązania szukamy gradientowo

Funkcja jest wklęsła – istnieje jednoznaczne rozwiązanie!

(24)

Metoda gradientowa

Dana funkcja L(λ1, . . . , λK) =Pn

i =1log p(yi|xi)

Liczymy gradient (macierz pochodnych cząstkowych po λ):

∇L =

∂L

∂λ11 . . . ∂λ∂L

1D

. . . . . . . . .

∂L

∂λK 1 . . . ∂λ∂L

KD

Idziemy po wzroście gradientu (implementacja L-BFGS w Python)

24 / 29

(25)

Analiza

Znajdźmy granicę pomiędzy klasami k i c.

Są to takie punkty x ∈ RD, dla których pc(x ) = pk(x ).

Rozwiązując dostajemy:

λk · x = λc· x Zatem rozwiązaniem są takie x ∈ RD, że

D

X

j =1

kj − λcj)xj = 0

Jest to równianie liniowe, więc granicą jest hiperpłaszczyzna

(26)

Problemy praktyczne 1

Postać hiperpłaszczyzn dzielących to A · x = 0

Model nie dopuszcza przesunięcia granic (brak wyrazu wolnego) Warto zanurzyć nasze dane ˜X = {1} × X , a by umożliwić przesunięcia

Innymi słowy zamiast x = (x1, . . . , xD) bierzemy ˜x = (1, x1, . . . , xD) Podobnie bierzemy ˜λk = (λk0, λk1, . . . , λkD), zatem:

λ˜k · ˜x = λk0+ λk · x, i mamy wyraz wolny

26 / 29

(27)

Problemy praktyczne 2

W praktyce, parametry λk mogą rosnąć, co powoduje overfitting (sigmoidy zbiegają do funkcji Heaviside’a)

Jest to spowodowane niedostatkiem przykładów uczących – chcemy uniknąć świetnego dopasowania do zbioru treningowego

−4 −2 0 2 4

0.00.20.40.60.81.0 f(x) = x f(x) = 10x

(28)

Problemy praktyczne 2 - c.d.

Do funkcji wiarygodności dodajemy regularyzację

R(λ) =

K

X

k=1

kk2

ograniczającą współczynniki λk (nie karzemy za przesunięcie!).

Dlatego maksymalizujemy:

n

X

i =1

log p(yi|xi) − αR(λ),

gdzie α ­ 0 wybieramy ręcznie (zwykle przez walidację krzyżową).

28 / 29

(29)

Logistyczna regresja

Wprowadzony klasyfikator jest znany jako logistyczna regresja Ma swoje alternatywne wyprowadzenie niekorzystające z entropii, choć ono trochę wyciąga z kapelusza sigmoida...

MaxEnt pokazuje, że sigmoid sam wychodzi z przyjętych założeń

Cytaty

Powiązane dokumenty

Uczniowie na polecenie nauczyciela wskazują, co łączy tekst biblijny, omawiane dzieła malarskie oraz tekst Kaczmarskiego. Nauczyciel przypomina pojęcie

Oblicz, jaki rozkład maksymalizuje entropię przy warunku znanej średniej i wariancji

Oblicz prawdopodobieństwa, że X odchyla się od swojej wartości oczekiwanej o nie więcej niż kolejno σ, 2σ i

Definicje Kowiariancja i współczynnik korelacji Wariancja sumy z.l..

A może słowa Benedykta XVI kończące wykład przygotowany dla uniwersytetu La Sapienza zawierają coś z proroctwa, przepowiadając pojawienie się jakiegoś wielkiego

Oszacować na podstawie przybliżenia Poissona, jakie jest prawdopodobieństwo, że wśród 1000 losowo wybranych ziaren znajduje się (1) co najwyżej 16 ziaren chwastów, (2) co najmniej

Każda algebra Boole’a jest izomorficzna z pewną podalgebrą pewnej algebry

Szansa wykonania kroku w kierunku przepaści wynosi 1/3, w przeciwnym — 2/3, kroki są niezależne.. Jaka jest