NES PDF

Transkrypt

NES PDF
Algorytmy ewolucyjne
NES
Piotr Lipiński
1
Natural Evolution Strategies (NES)
• NES konstruuje rozkład prawdopodobieństwa na przestrzeni poszukiwań
umożliwiający generowanie dobrych rozwiązań problemu. W zależności od
konkretnej wersji NES używane mogą być rozkłady normalne, rozkłady tStudenta, rozkłady Cauchy’ego i inne.
• W kolejnych iteracjach algorytmu, parametry rozkładu są modyfikowane:
Używając określonego rozkładu prawdopodobieństwa z określonymi wartościami parametrów generowana jest próbka danych (populacja). Następnie, na podstawie wartości funkcji celu w wygenerowanych punktach (osobnikach), aktualizowane są wartości parametrów rozkładu, tak aby zmaksymalizować oczekiwaną wartość funkcji celu. Kroki te są powtarzane zadaną
liczbę iteracji lub aż do spełnienia pewnego warunku zakończenia.
• Optymalizacja parametrów odbywa się metodą gradientową, ale zamiast
tradycyjnego gradientu używany jest gradient naturalny (podejście Natural Gradient Descent).
1.1
Podejście z tradycyjnym gradientem
Niech F : Ω → R oznacza funkcję celu określoną na przestrzeni poszukiwań
Ω ∈ Rn .
Niech f (x|θ) oznacza gęstość rozpatrywanego rozkładu prawdopodobieństwa, zaś θ wektor jego parametrów.
Oczekiwana wartość funkcji celu wynosi więc
∫
EF (x) = F (x)f (x|θ)dx,
i jest funkcją zmiennej θ, może zatem być oznaczona przez G(θ).
Gradient funkcji G(θ) można przedstawić jako
∫
∫
∫
f (x|θ)
∇G(θ) = ∇ F (x)f (x|θ)dx = F (x)∇f (x|θ) = F (x)∇f (x|θ)
dx =
f (x|θ)
∫
= F (x)∇ log(f (x|θ))f (x|θ)dx = EF (x)∇ log(f (x|θ)).
1
1 Natural Evolution Strategies (NES)
2
Można więc ten gradient aproksymować przez średnią z próbki w następujący
sposób:
λ
1∑
∇G(θ) ≈
F (xk )∇ log(f (xk |θ)),
λ
k=1
czyli iteracyjnie
θ = θ + η∇G(θ).
1.2
Podejście z gradientem naturalnym
θ = θ + ηF−1 ∇G(θ),
gdzie F to macierz informacji Fishera.
1.3
Modelowanie funkcji celu
W celu zwiększenia efektywności algorytmu, wartości funkcji celu są rozpatrywane z pewnymi wagami zależnymi od pozycji osobnika w rankingu populacji.
Wartości funkcji celu kolejnych najlepszych osobników x1 , x2 , . . . , xλ są zastępowane wartościami ich użyteczności u1 ­ u2 ­ . . . ­ uλ , co prowadzi do innej
postaci gradientu:
λ
∑
∇G(θ) ≈
uk ∇ log(f (xk |θ)),
k=1
zakładając, że użyteczności sumują się do 1.
1.4
Szkic algorytmu
NES(F )
1 θ ← Inicjalizacja-Parametrów-Modelu();
2 while not Warunek-Zakończenia()
3
do
4
P ← Nowa-Populacja(θ);
5
Obliczenie F (xk );
6
Obliczenie ∇ log f (xk |θ);
7
Obliczenie użyteczności uk ;
∑λ
8
Estymacja gradientu ∇G(θ) = k=1 uk ∇ log(f (xk |θ));
∑
λ
9
Estymacja macierzy F = λ1
∇ log f (xk |θ)∇f (xk |θ)T ;
k=1
10
Aktualizacja parametru θ = θ + ηF−1 ∇G(θ);
11