• Nie Znaleziono Wyników

6. Metody selekcji

N/A
N/A
Protected

Academic year: 2021

Share "6. Metody selekcji"

Copied!
25
0
0

Pełen tekst

(1)

Home Page Title Page JJ II J I Page1of25 Go Back Full Screen Close

Wykład 6

Metody selekcji

Kazimierz Grygiel

(2)

Home Page Title Page JJ II J I Page2of25 Go Back Full Screen Close Quit

Selekcja jednokrotna

• Selekcja jednokrotna: wybór jednego elementu1 z danej

popula-cji

• Selekcja może być zdefiniowana w sposób:

– deterministyczny (określamy kryterium wyboru)

– losowy (określamy rozkład prawdopodobieństwa wyboru)

• Terminologia:

– operacja (wariant deterministyczny) – operator (wariant zrandomizowany)

• Przykład operacji selekcji: s(P ) = optf(P )

• W przypadku selekcji losowej każdej populacji P

przyporządko-wujemy rozkład prawdopodobieństwa na zbiorze jej elementów, zadany wektorem {π(x), x ∈ P }

• Operator selekcji wybiera losowy element χ z P w ten sposób,

że P {χ = x} = π(x)

(3)

Home Page Title Page JJ II J I Page3of25 Go Back Full Screen Close

(4)

Home Page Title Page JJ II J I Page4of25 Go Back Full Screen Close Quit

Implementacja

(koszt logarytmiczny)

// porządek elementów bez znaczenia

// cps[1..N] -- wektor sumarycznych prawdopodobieństw wyboru // cps[i] = p[1]+p[2]+...+p[i]

// wyznaczanie numeru "zwycięskiego" sektora: begin u := random; l := 1; r := N; while l < r do begin k := (l+r) div 2; if cps[k] < u then l := k+1 else r := k end; return(r); end

(5)

Home Page Title Page JJ II J I Page5of25 Go Back Full Screen Close

Uzasadnienie

(6)

Home Page Title Page JJ II J I Page6of25 Go Back Full Screen Close Quit

Inna implementacja

2

(koszt stały + liniowy koszt inicjacji tablic)

Zastosowanie: selekcja wielokrotna z powtórzeniami

// ps[1..N] -- wektor prawdopodobieństw wyboru

// prob[1..N] -- tablica względnych częstości

// alias[1..N] -- tablica indeksów zapasowych // wyznaczanie numeru "zwycięskiego" sektora: begin

u := N*random + 1;

i := trunc(u); // podłoga if u-i <= prob[i] then

return(i) else

return(alias[i]); end

2 M. D. Vose (1991) A Linear Algorithm For Generating Random Numbers With

(7)

Home Page Title Page JJ II J I Page7of25 Go Back Full Screen Close

Objaśnienia

N=3, p1=p2=1/8, p3=3/4

(8)

Home Page Title Page JJ II J I Page8of25 Go Back Full Screen Close Quit

Inicjacja tablic

// small[0..s], large[0..l] -- stosy pomocnicze indeksów do ps // small: ps[i] <= 1/N; large: ps[i] > 1/N

// "redystrybucja" i przeskalowanie prawdopodobieństw begin

while (s>0) and (l>0) do begin s := s-1; j := small[s]; l := l-1; k := large[l];

prob[j] := N*ps[j]; alias[j] := k; ps[k] := ps[k] + (ps[j]-1/N); if ps[k] > 1/N then l := l+1

else begin small[s] := k; s := s+1 end end;

// zostały tylko "kawałki" długości 1/N while s>0 do begin s := s-1; prob[small[s]] := 1 end; // naprawa błędów zaokrągleń while l>0 do begin l := l-1; prob[large[l]] := 1 end end

(9)

Home Page Title Page JJ II J I Page9of25 Go Back Full Screen Close

Schematy selekcji wielokrotnej

• Selekcja z powtórzeniami (with replacement):

– odpowiednik schematu losowania ze zwracaniem

– każdy element populacji może być wybrany wielokrotnie – podział na sektory pozostaje bez zmian

– nieograniczona liczba prób

• Selekcja bez powtórzeń (without replacement):

– odpowiednik schematu losowania bez zwracania

– każdy element populacji może być wybrany co najwyżej raz – podział na sektory ulega zmianie:

pj := pj/(1 − pi), j 6= i

– alternatywnie: odrzucanie elementów powtarzających się – liczba (udanych) prób ograniczona wielkością populacji – zastosowanie: losowanie podzbiorów

(10)

Home Page Title Page JJ II J I Page10of25 Go Back Full Screen Close Quit

Selekcja wielokrotna z powtórzeniami

• Rozważmy model ruletkowy losowania wielokrotnego z

powtó-rzeniami dla zbioru uniwersalnego

S = {x1, x2, . . . , xn}

• Niech elementowi xi odpowiada prawdopodobieństwo wyboru

pi (

n

X

j=1

pj = 1)

• Dokonujemy N losowań tworząc populację N -elementową • Jakie jest prawdopodobieństwo, że w ten sposób wylosujemy

populację nieuporządkowaną P o wektorze krotności

(k1, k2, . . . kn)

gdzie ki ­ 0, Xn

j=1

(11)

Home Page Title Page JJ II J I Page11of25 Go Back Full Screen Close

Rozkład prawdopodobieństwa

populacji losowej

• Odpowiedź: Jest to prawdopodobieństwo określone wzorem pk1,k2,...,kn = N ! k1!k2! · · · kn! p k1 1 p k2 2 · · · p kn n

(tzw. rozkład wielomianowy), gdzie

k1 + k2 + . . . + kn = N

(przyjmujemy, że 00 = 1)

• Dla próby beztendencyjnej (pi = 1/n)

pk1,k2,...,kn = N !

k1!k2! · · · kn! 1

(12)

Home Page Title Page JJ II J I Page12of25 Go Back Full Screen Close Quit

Selekcja wielokrotna z populacji

• Powyższy wzór można łatwo przenieść na przypadek losowania

z populacji o wektorze krotności

(j1, j2, . . . jn)

• W tym przypadku prawdopodobieństwo wyboru elementu3 x

i wynosi

πi = jipi

• Jeśli założymy, że wielkość populacji źródłowej jest również

rów-na N , to otrzymamy w ten sposób operator selekcji działający na rodzinie wszystkich populacji N -elementowych ze zbioru S.

(13)

Home Page Title Page JJ II J I Page13of25 Go Back Full Screen Close

Współczynnik reprodukcji

• Rozważmy konkretny element xi populacji P

sukces = wybór elementu xi

porażka = wybór innego elementu

• Wielokrotne zastosowanie operatora selekcji: ciąg doświadczeń

Bernoulliego z prawdopodobieństwem sukcesu pi = π(xi)

• Średnia liczba sukcesów przy k powtórzeniach: k · pi

• Współczynnik reprodukcji elementu xi:

σi = N · pi

• Interpretacja: średnia liczba potomków jednego egzemplarza

osob-nika przy pełnym odtworzeniu populacji

• Uwaga: jeśli egzemplarzy jest ni, to ich potomków będzie śred-nio n σ

(14)

Home Page Title Page JJ II J I Page14of25 Go Back Full Screen Close Quit

Selekcja neutralna

i proporcjonalna

• Selekcja neutralna (beztendencyjna)

– prawdopodobieństwo wyboru: pi = 1 N – współczynnik reprodukcji: σi = N 1 N = 1 – efekt długofalowy: dryf losowy

• Selekcja proporcjonalna (Holland)

– prawdopodobieństwo wyboru: pi = fi N X j=1 fj = fi N f, gdzie fi = f (xi) > 0 – współczynnik reprodukcji: σi= N fi N f = fi f (proporcjonalny do wskaźnika dostosowania)

(15)

Home Page Title Page JJ II J I Page15of25 Go Back Full Screen Close

Ograniczenia selekcji proporcjonalnej

• Warunki bezpośredniego zastosowania:

– zadanie maksymalizacji

– dodatnia (nieujemna) funkcja oceny: funkcja dostosowania

• Minimalizacja → Maksymalizacja: f (x) =

 

Cmax − g(x) jeżeli g(x) < Cmax

0 w przec. przypadku

• Eliminacja ujemnych wartości: f (x) =

 

Cmin + g(x) jeżeli g(x) + Cmin > 0

(16)

Home Page Title Page JJ II J I Page16of25 Go Back Full Screen Close Quit

Wady selekcji proporcjonalnej

• Wielkość presji selekcyjnej zależna od względnego dostosowania

– małe różnice → dryf losowy

– duże różnice → utrata różnorodności (małe populacje!) – wrażliwość na „poziom” wykresu:

lim c→∞ fi+ c ¯ f + c = 1 • Sposoby przeciwdziałania – skalowanie liniowe – skalowanie nieliniowe – skalowanie wg rang

(17)

Home Page Title Page JJ II J I Page17of25 Go Back Full Screen Close

Selekcja Boltzmanna

• Skalowanie wykładnicze: ˜f (x) = eβf (x), gdzie β ∈ R

– ˜f zawsze dodatnia

– możliwość regulacji presji selekcyjnej (parametr β) – możliwość zastosowania do minimalizacji (β < 0) – niewrażliwość na „poziom” wykresu f

• Prawdopodobieństwo wyboru: pi = e βfi N X j=1 eβfj

• Stała addytywna wchodzi do wykładnika i ulega skróceniu: eβ(fi+c) = eβfi · eβc

(18)

Home Page Title Page JJ II J I Page18of25 Go Back Full Screen Close Quit

Selekcja liniowa wg rang

(linear ranking)

• Populacja posortowana niemalejąco wg dostosowania • Ranga: indeks elementu w posortowanej populacji • Skalowanie:

˜

fi = fmin + (fmax − fmin)

i − 1 N − 1 • Wariant uproszczony: ˜fi = i (fmin = 1, fmax = N )

(19)

Home Page Title Page JJ II J I Page19of25 Go Back Full Screen Close

Selekcja turniejowa

(tournament selection)

• Turniej rozmiaru k = k-elementowa próba losowa z populacji

(k ­ 2)

• Zwycięzca turnieju: najlepszy element w turnieju • Rozmiar turnieju określa wielkość presji selekcyjnej • Typowy rozmiar turnieju: k = 2

• Warianty:

– turnieje bez powtórzeń

– losowy wybór zwycięzcy (np. selekcja proporcjonalna)

• Selekcja turniejowa może być opisana za pomocą modelu

(20)

Home Page Title Page JJ II J I Page20of25 Go Back Full Screen Close Quit

Efekty długofalowe

• Selekcja N -krotna z powtórzeniami (model ruletkowy) • Pełna wymiana pokoleń

(21)

Home Page Title Page JJ II J I Page21of25 Go Back Full Screen Close

Wnioski

• Proces czystej selekcji: pochłaniający łańcuch Markowa,

przy czym:

– stany = populacje

– stany pochłaniające = populacje jednorodne – stany chwilowe = populacje niejednorodne

• Wniosek:

Każdy proces czystej selekcji kończy się (z prawdopodo-bieństwem 1 ) wytworzeniem populacji jednorodnej4 • Efekt ten jest skutkiem

(a) fluktuacji losowych (dryf losowy)

(b) presji selekcyjnej (tendencyjność wyboru)

(22)

po-Home Page Title Page JJ II J I Page22of25 Go Back Full Screen Close Quit

Redukcja wariancji operatora selekcji

• Efekt dryfu losowego powoduje, że najlepszy osobnik w bieżącej

populacji może zostać „bezpotomny” w następnym pokoleniu, co jest niekorzystne z punktu widzenia zastosowań algorytmu ewolucyjnego

• Fluktuacji losowych można się pozbyć stosując selekcję

determi-nistyczną, jednak kosztem wprowadzenia silnej presji selekcyjnej, co nie zawsze jest pożądane

• Rozwiązaniem kompromisowym jest redukcja wariancji

operato-ra selekcji

• Zapewnia to np. schemat SUS (Stochastic Universal Sampling)

(23)

Home Page Title Page JJ II J I Page23of25 Go Back Full Screen Close

Schemat SUS

(24)

Home Page Title Page JJ II J I Page24of25 Go Back Full Screen Close Quit

SUS, implementacja

// ps[1..N] -- wektor prawdopodobieństw wyboru // c[1..N] -- wynikowy wektor krotności potomków begin u := random/N; s := 0.0; for i := 1 to N do begin c[i] := 0; s := s + ps[i]; while u < s do begin c[i] := c[i]+1; u := u + 1/N end end end

Można pokazać, że liczba potomków osobnikaijest równa bN ps[i]c (z praw-dopodobieństwem 1 − ri) lub dN ps[i]e (z prawdopodobieństwem ri), a

(25)

Home Page Title Page JJ II J I Page25of25 Go Back Full Screen Close

Selekcja obcinająca

(truncation selection)

• Selekcja wielokrotna, oparta na operacji „wybierz najlepszy

ele-ment” (deterministyczna)

• Niech M — rozmiar populacji źródłowej, N — rozmiar

popu-lacji docelowej

• Wybieramy N najlepszych elementów z M

(N -krotne zastosowanie operacji wyboru najlepszego elementu, bez zwracania)

• Liczbę α = N/M nazywamy progiem selekcji

• Stosowana zazwyczaj jako metoda selekcji końcowej (często w

połączeniu z częściową wymianą pokoleń)

Cytaty

Powiązane dokumenty

W systemie zdecentralizowanym, będącym trójwarstwowym układem składającym się z trzech poziomów: centralnego, nadrzędnego i lokalnego, istnieje możliwość podejmowania decyzji

From the information provided by Onet, the first 20 live episodes of the program had on average more than 800 thousand views on the portal’s main site and its Facebook fan page

Ponieważ jednym z dominujących narzędzi takiej alokacji zasobów pieniężnych stał się w ostatnich latach wykup akcji wła- snych, stąd, wraz ze wzrostem znaczenia

Zgodnie z ogólną definicją przez „świadczenie usług” rozumie się każde świadcze- nie wykonywane na rzecz osoby fizycznej, osoby prawnej lub jednostki organiza-

Wariant ten oznaczałby spadek transferówbudżetowychnie tak dotkliwy dla społeczeństwa, wzrost udziału oszczędności tylko do 24-25% PKB, stopy inwestycji maksymalnie do 27-29%

Gott war viel mehr der Verteidiger Israels als der Strafende, deswegen muss seine Gerechtigkeit als Gnade für sein Volk und als Beistand für die Armen verstanden werden 53 ,

Sława Awedyk (Poznań) Stig Eliasson (Mainz) Jacek Fisiak (Poznań) Edmund Gussmann (Poznań) Erik Hansen (Copenhagen) Ernst Håkon Jahr (Kristiansand) Gert Kreutzer (Cologne)

In disputes involving rules and procedures under more than one covered agreement, if there is a conflict between special or additional rules and procedures of such agreements