Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf ·...

10
Stochastyczne metody optymalizacji () = b a dx x f I f x dx h y b a i i N i i N () = = = - = - σ 0 1 0 1 ( ) ) ( 2 2 ξ f N a b R - = f x dx h y y y a b n i i N () = + + = - 0 1 1 2 ( ) ) ( 12 2 3 ξ f N a b R - = ξ [,] ab [ ] n n b a y y y y y y y y h dx x f + + + + + + + + = - 1 5 4 3 2 1 0 4 4 2 4 2 4 3 ) ( K ( ) () ) ( 180 4 4 5 ξ f N a b R - = Metoda prostokątów Metoda trapezów Metoda Simpsona Kwadratura Gaussa ( ) ( ) ( ) ( ) [ ] ( ) ) ( ! 2 ! ! 1 2 2 3 4 1 2 ξ n n f n n n a b R + - = + () = - = = n i i i x x w t F dt t F dx x f 1 1 1 ) ( ) ( max min

Transcript of Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf ·...

Page 1: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

Stochastyczne metody

optymalizacji

( )∫=b

a

dxxfI

f x dx h yb

a

i

i

N

i

i

N

( )∫ ∑ ∑= ==

=

σ0

1

0

1

( ))(

2

2

ξfN

abR ′

−=

f x dx hy y

ya

b

n

i

i

N

( )∫ ∑=+

+

=

−0

1

1

2

( ))(

122

3

ξfN

abR ′′

−=

ξ ∈[ , ]a b

[ ]nn

b

a

yyyyyyyyh

dxxf ++++++++= −∫ 1543210 4424243

)( K

( ) ( ))(

180

4

4

5

ξfN

abR

−=

Metoda prostokątów

Metoda trapezów

Metoda Simpsona

Kwadratura Gaussa ( )( )

( )( )[ ]

( ) )(!2

!

!12

2

3

412

ξn

n

fn

n

n

abR

+

−=

+

( ) ∑∫∫=−

⋅==n

i

ii

x

x

wtFdttFdxxf1

1

1

)()(max

min

Page 2: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

( )∫=max

min

x

x

dxxfI

( )maxminmax0 xxxyyxfy ≤≤≤≤=

( ) ( )

≥≥≥≥

−=

resztydla

yyxxxdlaxxyyxpXY

0

01

, maxminmax

minmaxmax

( )

( )minmaxmax

max

min

xxy

dxxf

Pole

Ip

x

x

−==

N

Np I=ˆ ( )

N

NxxyI I

minmaxmax −≈

xminxmax

ymax

f(x)

nR

1~

Rozkład z którego pobieramy próbki jest jednostajny

(funkcja gęstości prawdopodobieństwa jest stała). Próbki

są z jednakowym prawdopodobieństwem pobierane z

przedziałów gdzie wartość funkcji f jest duża bądź mała.

Ważne pytanie : jak wylosować populację z dowolnego rozkładu prawdopodobieństwa ?

Zaczniemy od przypadków, gdy f. gęstości rozkładu jest dany konkretnym wzorem analitycznym.

Musimy w tym celu znać reguły transformacji funkcji gęstości prawdopodobieństwa.

( ) 1010 ≤≤≤≤= srrTs

( ) ( )ds

drrpsp rs =

( ) ( )dwwprTs

r

r∫==0

( ) ( ) ( )rpdwwpdr

d

dr

rdT

dr

dsr

r

r =

== ∫

0

( ) ( ) ( )( )

11

===rp

rpds

drrpsp

r

rrs

( ) 1,,2,1,0 −== Lkn

nrp k

kr K ( ) ( ) 1,,1,000

−==== ∑∑==

Lkn

nrprTs

k

j

jk

j

jrkk K

Przypadek dyskretny:

Przyjmujemy, że r i s to zmienne losowe o gęstościach odpowiednio pr(r) i ps(s). Niech T będzie

przekształceniem jednej zmiennej losowej w drugą, wzajemnie jednoznacznym i różniczkowalnym.

W Rach. Prawd. znana jest reguła wiążąca gęstości pr(r) i ps(s).

Niech funkcją T będzie dystrybuanta:

Otrzymujemy stąd wniosek, że gęstość prawdopodobieństwa zmiennej losowej s jest

jednorodna (stała).

Invers transform sampling

Page 3: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

Przykład:

Niech zmienna x ma rozkład jednorodny w przedziale [a,b].

Reguła postępowania jest w tym wypadku dość prosta. Ponieważ dystrybuanta dowolnego

rozkładu prawdopodobieństwa ma rozkład jednostajny w przedziale [0,1] to dla dowolnej

funkcji gęstości prawdopodobieństwa p(x) z której chcemy pobrać próbki liczymy dystrybuantę

y=F(x), potem próbkujemy (losujemy) zmienną yi =F(xi) a następnie obliczamy dla każdej próbki

wartość xi=F-1(yi).

( ) ( )

≥≥

−=

resztydla

xxxdlaxxxpX

0

1minmax

minmaxstąd ( ) ( )

( )minmax

min

xx

xxdttpxF

x

XX−

−== ∫

∞−

Jeśli teraz wylosujemy próbkę yi z rozkładu U[0,1] , przyrównany do FX a następnie obliczymy xi

Nrazy to otrzymamy próbki o rozkładzie .

Jest to również rozkład jednorodny U i jak łatwo sprawdzić ma rozkład pX(x).

( ) minminmax xxxyx ii +−=

Invers transform sampling

Przykład: Losowanie z rozkładu wykładniczego

Niech funkcja gęstości prawdopodobieństwa będzie miała postać:

x

X expλλ −=)( ( ) x

X exFλ−−=1wtedy

( ) ( )λ

yyFx X

−−== − 1ln1

Losujemy yi z U[0,1] i ze wzoru na F-1 otrzymujemy xi o

rozkładzie pX(x).

Page 4: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

Invers transform sampling

Niestety…. Nie zawsze łatwo obliczyć F-1

Przypadek losowania z rozkładu normalnego tj.

( )2

2

2

2

1)( σ

µ

πσ

−−

=x

X exp

Dystrybuanta:

( ) ( ) dtexx

xF

x t

∫∞−

−Φ= 2

2

2

1

πσ

µ

Analityczne wzory na F-1(x) dla takiej funkcji nie

istnieją. Aby generować ciągi o rozkładzie normalnym

należy używać innych metod.

p(x)

x

p(x)

x

Losowanie z populacji o rozkładzie

prawdopodobieństwa opisanego funkcją

gęstości p(x) jest losowaniem

niejednorodnym. Próbki są pobierane

częściej tam, gdzie wartość f.g. jest

większa.

Losowanie to można przeprowadzić

inaczej. Próbkujemy w sposób jednorodny

pole powierzchni pod krzywą p(x).

Ponieważ liczba próbek w dowolnym

„pasku” jest proporcjonalna do wartości

p(x) więc odczytując wsp. x wylosowanego

punktu pod krzywą otrzymujemy populację

próbek o rozkładzie p(x).

Rejection sampling

Page 5: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

p(x)

x

Jak próbkować jednorodnie pod

krzywą p(x) ?

Procedura na pozór może wydawać się

dość prosta jeśli potrafimy losować w

sposób jednorodny w przedziale

[xmin, xmax] oraz umiemy obliczyć wartość

p(xi)

Procedura

1) Losujemy w sposób jednorodny

próbkę „xi” z przedziału [xmin, xmax]

2) Liczymy p(xi)

3) Losujemy „u” z przedziału [0, 1]

4) Liczymy u·p(xi) xi

p(xi)

u·p(xi)

xmin xmax

Rejection sampling

∆x1 ∆x2

Lecz niestety – nie będzie to losowanie jednorodne pod krzywą. W przedziałach ∆x1 i ∆x2

zostanie wylosowanych tą metodą dokładnie tyle samo punktów, wobec czego ich gęstość pod

krzywą w tych dwóch „paskach” na pewno nie będzie taka sama.

p(x)

M·q(x)

1: i = 1

2: while i ≠ N do

3: x(i)~ q(x)

4: u ~ U(0,1)

5: if u < p(x(i))/ M·q(x(i)) then

6: accept x(i)

7: i ← i + 1

8: else

9: reject x(i)

10: end if

11: end while

accept

reject

Rejection sampling

Procedura próbkowania (efektywna i prawidłowa !!! )

jest następująca:

Ograniczamy rozkład gęstości prawdopodobieństwa

p(x) rozkładem z którego potrafimy metodą „inverse

transform sampling” tj rozkładem Mq(x). Stałą M

dobieramy tak by w przedziale [xmin, xmax] całe p(x)

było pod Mq(x) – jak na rysunku.

- generujemy rozkład {xi} na osi X wg gęstości Mq(x)

- generujemy liczbę u~U(0,1)

- dla każdego xi liczymy yi = uMq(xi)

- jeśli p(xi) > yi to punkt pi(xi,yi) leży pod krzywą p(x)

Punkty pi spróbkują pole pod p(x) tym bardziej

jednorodnie im bardziej obie krzywe są do siebie

zbliżone.

W R krzywą nadległą jest np. odpowiednio dobierany

wielomian używany do generowania np. rozkładu

normalnego.

Page 6: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

( )( )

( )∫= dxxpxp

xfI X

X

( ) ( )( )

( )( )xp

xfgdzie

xp

xfEEI

XX

=

== ζζ

Wariancja zmiennej ζ wynosi:

Jest to wartość oczekiwana zmiennej ζ

( ) ( )( )

( )∫

−= dxxpI

xp

xfX

X

2

2 ζσ ( ) ( )( )( )

2

2

2Idx

xp

xf

X

−= ∫ζσ

Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

„importance sampling”.

Rozpatrzmy próbkowanie osi X. Małe wartości funkcji dają małe przyczynki do wartości całki, duże

zaś duże. Efektywniej jest próbkować funkcję z większą gęstością tam, gdzie jej wartości są duże.

Niech pX(x) będzie funkcją wagową (może być ona utożsamiona z funkcją gęstości

prawdopodobieństwa) zmiennej ζ.

Importance sampling

( )( )∑

=

==N

i iX

i

xp

xf

NI

1

1ˆθ Losujemy N punktów xi z rozkładu prawdopodobieństwa

pX(xi). Otrzymujemy estymator całki I. Jeśli IIN →∞→ ˆ

Chcemy tak dobrać pX(xi) tak by zminimalizować wariancję zmiennej ζ. Minimum ma

miejsce, gdy

( )( )( )∫

=dxxf

xfxpX

Minimum jest równe ( ) ( )( ) 22

2Idxxf −= ∫ζσ

Jeśli f(x)>0 to funkcja gęstości pX(x) przybiera postać

( ) ( )( )

( )I

xf

dxxf

xfxpX ==

∫zaś wariancja jest równa zero: ( ) 02 =ζσ

Importance sampling

Tak więc by obliczyć całkę procedura jest następująca:

Page 7: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

Wniosek:

Aby zminimalizować wariancję należy losować punkty z rozkładu który jest proporcjonalny do funkcji z której

jest liczona całka tj funkcji f(x).

( ) ( )xfxpX ≈

Współczynnik proporcjonalności to

( )∫=

dxxf

Ponieważ zawiera on całkę I to aby jak najlepiej zrealizować procedurę obliczenia całki I musimy znać jej

wartość. Całe szczęście, że tak jest wtedy, gdy chcemy

otrzymać wynik perfekcyjny.

De facto można wybrać dowolną funkcję wagową

p(x) i dowolny (!) współczynnik wagowy α.

Czy da się uniknąć konstrukcji rozkładu px(x) i otrzymać asymptotyczny rezultat dochodząc do rozkładu

iteracyjnie?

Idee zapożyczono z mechaniki statystycznej i metalurgii.

• wzrost temperatury gorącej kąpieli do takiej wartości, w której ciało stałe topnieje

• powolne zmniejszanie temperatury do chwili, w której cząsteczki ułożą się wzajemnie i osiągną (ang.

ground state) temperaturę zerową

• przeciwieństwo hartowania

• Metropolis i in. (1953) - algorytm statystycznego symulowania (Monte Carlo) zmian ciała stałego w

gorącej kąpieli aż do stanu termicznej równowagi

Losowe generowanie sekwencji stanów ciała stałego:

• stan i ciała stałego i jego energia Ei ,

• perturbacja (małe zniekształcenie) → następny stan. Energia następnego stanu wynosi Ej .

• jesli Ej - Ei ≤ 0, stan j jest akceptowany jako stan bieżący

• w przeciwnym wypadku, stan j jest akceptowany z pewnym prawdopodobieństwem:

T – temperatura kapieli

kB – stała Boltzmanna

Tk

EE

B

jiexp

Page 8: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

Wysoka temperatura:

Wszystkie ruchy akceptowane → błądzenie losowe.

Niska temperatura

Akceptowany wyłącznie ruchy, które polepszają rozwiązanie → klasyczne przeszukiwanie lokalne.

Algorytm SA zaczyna od wysokiej temperatury i powoli ja obniża.

1explim =

∞→ Tk

EE

B

ji

T

0explim =

∞→ Tk

EE

B

ji

T

System fizyczny Problem optymalizacji

stan rozwiązanie

Energia koszt

temperatura Parametr kontrolny

Szybkie schładzanie lokalna optymalizacja

powolne schładzanie symulowane wyżarzanie

Page 9: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie

1: wybierz model startowy m0 ,oblicz E(m0), ustaw T02: repeat Ti 3: repeat mj4: oblicz E(mj)

5: ∆E= E(mj)- E(mj-1)

6: P=exp(-∆E/Ti)

7: if ∆E ≤ 0

8: m0=m19: E(m0)= E(m1)

10: endif

11: if ∆E > 0

12: losuj u ~ U(0,1)

13: if P > u

14: m0=m115: E(m0)= E(m1)

16: endif

17: endif

18: until j=N

19: until i=M

Można uzyskać takie N, M, Ti, które

zapewniają zbieżność SW do optimum

Dobre przybliżenie SW:

generowanie homogenicznych

łańcuchów Markowa skończonej długości

dla skończonej sekwencji malejących

wartości parametru kontrolnego

(temperatury).

Łańcuch Markowa jest sekwencja prób

(rozwiązań), w której

prawdopodobieństwo wyniku danej

próby zależy od wyniku poprzedniej

próby.

Łańcuch Markowa jest niehomogeniczny

jeśli prawdopodobieństwo przejścia

zależy od numeru próby k.

Jeśli nie zależy, to łańcuch Markowa jest

homogeniczny.

X[m] Y[m] Z[m] t[s]

0 4000 -700 0.263

2000 2000 -700 0.342

0 2000 -700 0.386

2000 4000 -700 0.192

1000 3000 -50 0.14

Lokalizacja źródła emisji sejsmicznej z użyciem pięciu czujników mierzących czas

Wsp. źródła (1800, 3500, -400)

Page 10: Stochastyczne metody optymalizacji - home.agh.edu.plhome.agh.edu.pl/~lesniak/wyklady/w6_M-H.pdf · Potwierdzeniem wniosków z metody „rejection sampling” jest dyskutowana w metodzie