• Nie Znaleziono Wyników

Algorytmy stochastyczne Wykład 13 – 14, Uczenie strukturalne sieci bayesowskich

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy stochastyczne Wykład 13 – 14, Uczenie strukturalne sieci bayesowskich"

Copied!
6
0
0

Pełen tekst

(1)

Algorytmy stochastyczne

Wykład 13 – 14, Uczenie strukturalne sieci bayesowskich

Jarosław Piersa 2014-05-29

1 Uczenie strukturalne sieci bayesowskich

Problem

• mamy próbkę uczącą pochodzącą z sieci lub procesu, który chcemy modelować siecią,

• wiemy (na podstawie próbki) ile jest węzłów, jakie mają znaczenie i stany,

• nie wiemy jak węzły są połączone, ani tym bardziej nie znamy kształtu tabel,

• chcemy znaleźć kształt sieci, który będzie modelował dane (a następnie uzupełnić tabele).

• problem NP-Trudny (tabele mogą być wielkości wykładniczej), NP-zupełny pomijając wypełnianie tabel Wymagania dotyczące danych uczących:

• przykłady uczące E = [E1, ..., EP],

• i-ty przykład uczący: Ei= [ei1, ..., ein] — opis wszystkich stanów sieci bayesowskiej,

• wiemy, która wartość pochodzi z którego węzła,

• ei1 pochodzi z wierzchołka V1; ei2 pochodzi z V2 i tak dalej,

• kolejność próbek nie ma znaczenia,

• ma znaczenie częstość występowania próbek (niektóre mogą występować wielokrotnie, niektóre kombinacje wcale).

2 Niezależności strukturalne, d-separacja

• struktura połączeń zadaje niezależności pomiędzy zdarzeniami (węzłami) niezależnie od stanu tabel,

• przyp połączenie A → B, oznacza bezpośrednią zależność między A i B,

• zależność nie musi być pośrednia, może się propagować przez pośrednie wierzchołki np. A → C → B,

• zależność może się propagować przez wstecz ścieżki np. B → C → A (niezależność nie odróżnia przyczyny od skutku),

• zależność może się propagować przez wspólnego rodzica np. B ← C → A,

• (najtrudniejszy) zależność może się propagować przez wspólnego syna, jeżeli mamy wiedzę w nim lub innym wspólnym potomku A → C ← B i mamy wiedzę w C (V-struktura).

Szkielet strukturalny sieci bayesowskiej

• graf mieszany — powstaje z sieci poprzez zapomnienie orientacji krawędzi (krawędzie nieskierowane),

• ale nie zapomina orientacji krawędzi w V-strukturze (krawędzie skierowane),

• szkielet strukturalny zachowuje te same niezależności cho sieć, z której powstał.

Przykłady:

• A → B odpowiada A — B,

(2)

• B ← A → C odpowiada A — B — C,

• B → A ← C ← D odpowiada A → B ← C — D,

• UWAGA! Sieci:

A B

C odpowiada szkielet

A B

C (to nie jest V-struktura!).

3 Algorytm PC

Dane: Próbka ucząca E

Wynik: Szkielet strukturalny sieci bayesowskiej

1. Zacznij od pełnego grafu nieskierowanego na wszystkich węzłach sieci, 2. Dla i = 0 ... maksymalny rozmiar wykonaj

(a) Dla każdej pary węzłów połączonych krawędzią X — Y : i. Oznacz N (X) — sąsiedzi X, N (Y ) — sąsiedzi Y ,

ii. dla każdego i-elementowego podzbioru S ⊂ N (X) ∪ N (Y ) sprawdź czy X |= Y |S, tzn X jest niezależny od Y pod warunkiem S,

iii. jeżeli i = 0, to sprawdź zwykłą niezależność bez warunków,

iv. jeżeli tak, to przypisz SXY := S, usuń krawędź X—Y i przerwij bieżącą iterację, v. jeżeli nie znajdziesz, to nic nie rób,

3. dla każdej trójki X — Y — Z (i ¬(X — Z))

(a) jeżeli Z /∈ SXY, to zorientuj X → Z oraz Y → Z w V-strukturę (bo z testu powyżej: X i Y są niezależne bez warunkowania po Z),

(b) jeżeli Z ∈ SXY, to nie rób nic.

Uwaga! Nie każde dane uczące dają się modelować siecią bayesowską. Istnieją rozkłady (zestawy danych), które nie dają się modelować siecią bayesowską (bez ukrytych węzłów).

4 Uzupełnianie szkieletu strukturalnego do pełnej sieci

• Dany szkielet strukturalny sieci bayesowskiej,

• chcemy uzyskać strukturę sieci, Uzupełnainie

• Dla każdej V-struktury A → B ← C:

– dla każdej krawędzi wychodzącej z B — D, zorientuj B → D (inaczej powstałaby nowa V-struktura), – wymuś dalszą propagację orientacji D — E, na D → E,

• Cykle:

– Wyszukaj krawędzie nieskierowane dopełniające cykle skierowane, – Zorientuj je przeciwnie, aby nie domknąć cyklu,

• Powtarzaj 1. i 2. dopuki powstają nowe krawędzie,

• Jeżeli pozostały jakiekolwiek niezorientowane, to zorientuj jedną z nich losowo i uruchom 1,

• Jeżeli wszystkie krawędzie są zorientowane, to zakończ.

• UWAGA: Nie każdy szkielet daje się uzupełnić do pełnej sieci. Mając do wyboru stworzenie cyklu lub nowej V − struktury, tworzymy V-strukturę.

(3)

5 Testowanie niezależności

Dane: próbka zmiennych X, Y , Z (być może Z jest wielowymiarowa!), oraz poziom istotności 0 < α  1.

Wynik: Czy X i Y są niezależne pod warunkiem Z, tak aby szanse pomyłki nie były większe niż α (np. α = 0.025).

Oznaczenia:

• N — wielkość próbki

• c — liczba wartości (stanów) Y

• r — liczba wartości (stanów) X

• Oij, dla i = 1..r j = 1..c — ilość zaobserwowanych próbek, w których (X = xi, Y = yj)

• Eij, dla i = 1..r j = 1..c — ilość oczekiwanych próbek (wynikających z rozkładów brzegowych)

Eij = Pc

k=1Oik

N ·

Pr l=1Olj

N · N.

• Hipoteza zerowa: nie istnieje zależność między X a Y ,

• Hipoteza alternatywna: X i Y są zależne,

• Statystyka testowa:

T =

r

X

i=1 c

X

j=1

(Eij− Oij)2 Eij

,

• Statystyka testowa T zachowuje się jak rozkład χ2 z (r − 1)(c − 1) punktami swobody,

• Obliczamy obszar krytyczny:

K = (F1−α((r − 1)(c − 1)), +∞),

gdzie F1−α(k) jest kwantylem rzędu 1 − α rozkładu χ2z k punktami swobody (odczytujemy z tabeli),

• Jeżeli T ∈ K, to odrzucamy Hipotezę zerową,

• Jeżeli T /∈ K, to nie mamy podstaw do jej odrzucenia.

Alternatywnie:

• Obliczamy:

p-value := 1 − F(r−1)(c−1)(T ),

wartość dystrybuanty rozkładu w punkcie T (odczytujemy z tabeli), ang. p-value,

• Jeżeli zachodzi p-value ≤ α, to odrzucamy hipotezę zerową i przyjmujemy istnienie zależności między X i Y ,

• Jeżeli zachodzi p-value > α, to nie mamy podstaw do odrzucenia H0,

• Uwaga! Jeżeli p-value > α, to nie oznacza to automatycznie niezależności, zmienne mogą być zależne w inny sposób, którego jednak test nie wychwycił.

Odnośniki:

• Teoriahttp://math.hws.edu/javamath/ryan/ChiSquare.html(uwaga! zawiera applety javowskie)

• Teoriahttp://en.wikipedia.org/wiki/Pearson%27s_chi-square_test

• Tablicehttp://people.richland.edu/james/lecture/m170/tbl-chi.html

• Tablicehttp://www.ma.utexas.edu/users/davis/375/popecol/tables/chisq.html

• Tablicehttp://pl.wikisource.org/wiki/Tablica_rozk%C5%82adu_chi-kwadrat

(4)

Przykład

Mamy próbki:

X = 1 X = 2 razem

Y = 1 a b a + b

Y = 2 c d c + d

razem a + c b + d Mamy:

• razem N próbek N := a + b + c + d

• Szacujemy prawdopodobieństwa brzegowe (pojedynczych kategorii):

– ˆP(X = 1) :=a+b+c+da+c , – ˆP(X = 2) :=a+b+c+db+d , – ˆP(Y = 1) := a+b+c+da+b , – ˆP(Y = 2) := a+b+c+dc+d ,

• Jeżeli X i Y miałyby być niezależne, to oczekiwalibyśmy:

– P(X = 1 ∧ Y = 1) = P(X = 1)P(Y = 1) = a+b+c+da+c ·a+b+c+da+b , – (...) podobnie dla pozostałych stanów,

• I oczekiwanej liczby obserwacji:

– E1,1= P(X = 1 ∧ Y = 1) · N = a+b+c+da+c ·a+b+c+da+b · (a + b + c + d) = (a+c)(a+b)a+b+c+d , – (...) powtarzamy dla pozostałych (X = 1, Y = 2), (X = 2, Y = 1), (X = 2, Y = 2),

• Zaobsetwowane przypadki:

– O11= a – O12= c – O21= b – O22= d

• Zatem wartość statystyki testowej :

T := (E11− O11)2 E11

+(E12− O12)2 E12

+(E21− O21)2 E21

+(E22− O22)2 E22

,

• liczba stopni swobody:

df := (r − 1) · (c − 1) = 1

• ustalmy α = 0.05 (na 100 różnych próbek danych z rozkładów faktycznie niezależnych przynajmniej 95% przejdzie test niezależności):

• odczytujemy z tabeli rozkładu

Fdf =1(1 − α) = F(df = 1, p-val = 0.05) ' 3.841,

• jeżeli T > 3.841, to X i Y są zależne, w przeciwnym przypadku nie mamy podstaw do odrzucenia hipotezy o niezależ- ności.

6 Dostosowanie szkieletu do danych, funkcja oceny szkieletu strukturalnego

Pomysł: Chcemy określić funkcję oceny struktury sieci bayesowskiej „Jak dobrze sieć pasuje do danych”:

f : Dane × Grafy → R.

Taką funkcję można wykorzystać w algorytmach optymalizacyjnych: genetycznych, symulowane wyżarzanie, błądzenia loso- wego.

(5)

• Ogólna koncepcja:

P(Dane|Graph) =

n

Y

i=1 qi

Y

j=1

(ri− 1)!

(Nij− ri− 1)!

ri

Y

k=1

Nijk!, gdzie:

• n — liczba wierzchołków w sieci,

• ri — ilość stanów węzła Xi, dla i = 1, .., n,

• qi — ilość wszystkich konfiguracji stanów rodziców Xi (znaczy iloczyn po ilości stanów rodziców Xi), dla zgodności oznaczań jeżeli Xi nie ma rodzica przyjmujemy qi= 1,

• Nijk — ilość danych w próbce, gdzie Xi ma stan k-ty, a rodzice Xi mają stan j-ty (są w j-tej kombinacji stanów),

• Nij — ilość danych w próbce, w których rodzice Xi są w j-tej konfiguracji stanów (stan Xi — dowolny),

• Uwaga! Dla stabilności obliczamy logarytm z powyższej funkcji (iloczyny zamieniają się na sumy logarytmów),

• Do funkcji dodajemy karę za wielkość tablic prawdopodobieństw:

penalty(Graph) = c ·

n

X

i=1

qi(ri− 1).

• (dla uproszczenia oznaczeń) zdefiniujmy:

g(i, pii) =

qi

Y

j=1

(ri− 1)!

(Nij− ri− 1)!

ri

Y

k=1

Nijk!

tzn. wartość jw, ale ograniczona tylko do jednego wierzchołka i jego rodziców.

6.1 Algorytm K2

• na wejściu wierzchołki są posortowane, wiemy jaki wierzchołek musi być przed jakim, algorytm nie stworzy strzałki od wierzchołka późniejszego do wcześniejszego,

• limit — ograniczenie na maksymalną liczbę rodziców.

1. for i = 1..n

(a) przypisz wierzchołkowi i-temu brak rodziców: πi:= ∅ (b) pold:= g(i, πi)

(c) f laga := true

(d) while f laga i |πi| < limit

i. Z := węzeł, który jest przed Xi oraz maksymalizuje g(i, πi∪ {Z}) ii. pnew:= g(i, πi∪ {Z})

iii. if (pnew> pold),

• pnew:= pold

• πi:= πi∪ {Z}

else

• f laga = f alse

2. zwróć Xi i odpowiadających rodziców πi, dla i = 1..n

6.2 Inne metody

• poszukiwanie struktury sieci / szkieletu strukturalnego jako problem optymalizacyjny

• algorytmy genetyczne i ewolucyjne,

• symulowane wyżarzanie,

• błądzenia losowe, MCMC,

(6)

Zmiany grafu (szkieletu strukturalnego)

• dodaj krawędź A—B do grafu,

• usuń krawędź A—B z grafu,

• zorientuj A—B—C w V strukturę A → B ← C,

• usuń V-strukturę A → B ← C zamień na A—B—C (uwaga A → B może być częścią innej V-struktury A → B ← D),

Literatura

[1] G. Cooper, E. Herskovits, A Bayesian Method for Induction of Probailistic Networks from Data, Machoine Learning, 9, pp. 302–347, 1992.

[2] F. Jensen, T. Nielsen, Bayesian Networks and Decision Graphs, Springer 2007

[3] R. Neapolitan, Learning bayesian networks, Pearspon Prentice Hall, Upper Saddle River, New Jersey 2004.

Cytaty

Powiązane dokumenty

W tym względzie wyróżniał się bardzo „Tygodnik ilustrowany”, który akcentował ko- nieczność dbania o etykę zawodową i potrzebę integrowania całego środowiska

[…] południowy wylot ulicy – gdzie zbiegała się jedna z głównych ulic z trze‑ ma bocznymi – zamykały się światła komunikacyjne, które zachowały się tak, jakby ta

In addition, as opposed to the decades of the 1950s, 1960s, and 1970s, when architectural and planning educa- tion was exercising a pioneering role trying out revolution- ary ideas

Prorocze słowa Benedykta XVI, że „Ewangelia nie jest jedynie przekazem treści, które mogą być poznane, ale jest przesłaniem, które tworzy fakty i zmienia życie”,

W latach 20. XX wieku problematyka rekolekcji ignacjańskich była przed- miotem licznych i żywych dyskusji wśród jezuitów prowincji polskich. Spotykali się oni i

Wszystkie wyżej wymienione (m.in. piękny język polskiego tłumaczenia, wy- kaz unaocznionych greckim tekstem rzadko dziś przypominanych występujących w prezentowanym przekładzie

Mamy ich 130, w tym 97 dokumentów papieskich (nie wszystkie autentyczne, a część znana tylko z pośrednich wzmianek) oraz 33 dokumenty osób krajowych.. Większość z nich znana

Na długie lata – głównie z racji zdobiących go drzeworytów, wykonanych przez Erharda Reuwicha z Utrechtu i przed- stawiających widoki odwiedzanych przez pielgrzymów miast