• Nie Znaleziono Wyników

2 Pakiety do sieci bayesowskich

N/A
N/A
Protected

Academic year: 2021

Share "2 Pakiety do sieci bayesowskich"

Copied!
4
0
0

Pełen tekst

(1)

Algorytmy stochastyczne — laboratorium 08

Jarosław Piersa

2014-04-11

1 Ważniejsze wzory

Wzór na prawdopodobieństwo warunkowe:

P(A|B) = P(A ∧ B) P(B) Wzór na prawdopodobieństwo całowite:

P(A) = X

v

P(A|B = v)P(B = v) Wzór Bayesa:

P(B|A) = P(A|B)P(B) P(A)

2 Pakiety do sieci bayesowskich

• Tetrad IV / V (GNU GPL, Java): 2014-03 http://www.phil.cmu.edu/projects/tetrad/

• SMILE (C++/Java) i GeNIe (freeware, własnościowy, Windows): 2013-11 http://genie.sis.pitt.edu/

• OpenBUGS (GNU GPL, Windows, Linux, wersja tekstowa): 2013-03 http://www.openbugs.net

• BUGS (= Bayesian inference Using Gibbs Sampler) (freeware, Windows, UNIX, wersja okienkowa tylko na Windows):

porzucony w 2008

http://www.mrc-bsu.cam.ac.uk/software/bugs/

• Netica (copyrighted, komercyjny, darmowa wersja z ograniczeniami, Windows): 2014?

https://norsys.com/netica.html

• Hugin Expert (copyrighted, komercyjny): 2014?

http://www.hugin.com

• Twój własny napisany w trakcie zajęć :)

3 Zadania

Zadanie 1 Dana niech będzie sieć bayesowska. Tabele prawdopodobieństw warunkowych wyglądają następująco:

A

B C

P(A = t) P(A = f )

0.4 0.6

war P(B = t|war) P(B = f |war)

A = t 0.25 0.75

A = f 1.0 0.0

war P(C = t|war) P(C = f |war)

A = t 0.75 0.25

A = f 0.5 0.5

1

(2)

Skonstruuj tę sieć bayesowską. Oblicz prawdopodobieństwa:

• P(B = t), P(B = f)

• P(C = t), P(C = f)

• P(A = t|C = t), P(A = f|C = t)

• P(A = t|B = t), P(A = t|B = f)

• P(C = t|B = t)

• P(B = t|C = t)

Zadanie 2 Dana niech będzie sieć bayesowska o następujących tabelach prawdopodobieństw warunkowych:

A B

C

P(A = t) P(A = f )

0.1 0.9

P(B = t) P(B = f )

0.3 0.7

war P(C = t|war) P(C = f |war)

A = t, B = t 1.0 0.0

A = t, B = f 0.5 0.5

A = f, B = t 0.75 0.25

A = f, B = f 0.25 0.75

Oblicz prawdopodobieństwa:

• P(B = t), P(B = f)

• P(C = t), P(C = f)

• P(C = t|A = t), P(C = t|A = f)

• P(C = t|B = t), P(C = t|B = f)

• P(A = t|C = t)

• P(A = t|C = t, B = t)

• P(B = t|C = t)

• P(B = t|C = t, A = t)

Zadanie 2* Dla zainteresowanych: oblicz prawdopodobieństwa z zadań 1 i 2 analitycznie (tzn. kartka + ołówek).

Zadanie 3 Problem Monty Hall, „Idź na całość”, „Let’s make a deal”...

• Uczestnik konkursu wybiera jedną z trzech bramek, za jedną z niech jest nagroda, za dwiema nie ma nic (jest zonk, w wersji angielskiej: koza (goat), nagroda pocieszenia).

• Uczestnik nie wie co kryją bramki.

• Prowadzący wie gdzie jest nagroda. Prowadzący odsłania uczestnikowi jedną z bramek, w której nie ma nagrody i której uczestnik nie wybrał — zawsze jest taka bramka, czasem jest tylko jedna.

• Pozostają dwie bramki: uczestnika i nieodsłonięta, w którejś z nich jest nagroda.

• Uczestnik otrzymuje możliwość zamiany „swojej bramki” na tę drugą nieodsłoniętą.

• Czy największe prawdopodobieństwo wygranej jest gdy zamieni bramkę, gdy zachowa swoją bramkę, czy być może nie ma to wpływu na wygraną?

Skonstruuj w Genie / Tetradzie sieć bayesowską symulującą rozgrywkę.

Wskazówka: wystarczą trzy węzły: gdzie jest nagroda, którą bramkę wybiera uczestnik, którą bramkę odsłania prowa- dzący.

2

(3)

Zadanie 4 Rozważmy uogólnione zadanie 3.

• bramek jest n ≥ 3, nagroda jest tylko w jednej, w n − 1 pozostałych są zonki

• uczestnik wybiera jedną z bramek, a prowadzący odsłania mu m z pozostałych, w których nie ma nagrody (m = 1..n−2).

• Pozostają przynajmniej dwie bramki (dokładniej n − m bramek) w tym jedna uczestnika, w którejś z nich jest nagroda.

• Uczestnik otrzymuje możliwość zamiany swojej bramki na jedną z nieodsłoniętych, lub pozostania przy swojej.

• Czy powinien zamienić, zachować bramkę czy nie ma to wpływu na wygraną?

Skonstruuj siec(i) bayesowską(ie) rozwiązującą ten problem dla ogólnego przypadku; różnych par (n, m) np: (3, 1), (4, 1), (4, 2) , (5, 1), (5, 2), (5, 3), (10, 8), (100, 98)...

Tabele prawdopodobieństw dla n = 100 będą miały 10000 pozycji! Pomyśl o bardziej kompaktowym rozwiązaniu.

Wsk. rozważ sieć z węzłami: czy zgadł przy pierwszym wyborze? czy wygra jeśli zamieni bramkę? Czy wygra jeśli nie zamieni bramki?

Zadanie 5 Do sieci z zadania 3 dodaj węzeł(y) opisujące: zmianę bramki, gry bez zmiany i wygranej (w obu wypadkach).

Następnie wygeneruj instancje danych na podstawie sieci (Netica: Cases → Simulate Cases, Tedrad: Data, Genie: Learning

→ generate data file. W arkuszu kalkulacyjnym lub pakiecie statystycznym policz jaki jest odsetek wyników, w których uczestnik wygrał, wśród wszystkich wyników, w których grał tą samą taktyką. Czy zgadza się ze wskazaniami sieci? Wykonaj podobne symulacje dla sieci z innych zadań.

Zadanie 6 Na pewną chorobę (XYZ — Iksodalna Igrekoskoza Zetocyny) choruje 2% populacji. Istnieje na nią test, który daje odpowiedź poprawną w 95 przypadkach na 100 (zarówno pozytywną jak i negatywną). U losowego badanego test wykazał wynik pozytywny. Czy faktycznie jest powód do niepokoju?

Skonstruuj sieć bayesowską rozwiązującą ten problem.

Wsk.: Czy pacjent jest faktycznie chory? Wynik testu?

Zadanie programisyczne (zalążek) Napisz program pozwalający wygenerować, wczytać lub wylosować sieć bayesowską, a następnie generujący instancje wyników dla tej sieci (patrz zadanie 4).

• np. charakter „piaskownicy”

• można ustawić strukturę sieci

• można ustawić tabele prawdopodobieństw warunkowych

• można wprowadzić wiedzę

• można wygenerować dane z sieci i zapisać je do pliku

• w przyszłości będzie można dopisać wnioskowanie i uczenie sieci

• inna możliwość — sieć ustalona, która modeluje wnioskowanie np. przy klasyfikacji spamu / diagnozowaniu medycznym etc.

Przybliżony algorytm wnioskowania Ważone próbkowanie logiczne (weighted logic sampling ) 1 punkt.

Dane: sieć bayesowska, wiedza E (może być pusta), węzeł sieci X /∈ E.

Wynik: rozkład prawdopodobieństwa P(X = xi|E) 1. Powtarzaj dla j = 1..m razy:

• Przypisz wagaj:= 1;

• Umieść w węzłach startowych (bez rodziców) losowe wartości zgdnie z prawdopodobieństwami apriori. Jeżeli w danym węźle Y jest wiedza, to wymuś w Y wiedzę bez losowania i przemnóż wagej przez prawdopodobieństwo, przyjmie ten stan.

wagaj:= wagaj∗ P(Y = yi)

• Rekurencyjnie wylosuj wartości węzłów dla kolejnych pokoleń. Jeżeli w danym węźle Y jest wiedza to wymuś wartość wynikającą z wiedzy bez losowania i przemnóż wagej przez prawdopodobieńswo, że węzeł przyjmie stan wynikający z wiedzy pod warunkiem jego rodziców (ustaleni w poprzednich krokach). Można odczytać z tabeli prawdopodobieństw warunkowych.

wagaj := wagaj∗ P(Y = yi|Rodzice(Y ))

• Zapamiętaj wyniki razem z wagą (aj1, ..., ajn, wagaj).

3

(4)

2. Dla danego węzła X, który nie zawiera wiedzy E prawdopodobieństwo, że X przyjmuje stan xi jest średnią ważoną przypadków, w których wartość węzła X została przyjęta jako xi z wagą w

P(X = xi|E) = Pm

j=11aj

k=xi· wagaj Pm

j=1wagaj jeżeli ak opisuje stan węzła X.

UWAGA: jeżeli wiedza jest sprzeczna to mianownik będzie zerowy.

Literatura

[1] R. Neapolitan, Learning bayesian networks,

[2] P. Judea, Probabilistic reasoning and intelligent systems. Networks of plausible inference, Morgan Kaufman Inc. 1998.

[3] GeNIe, http://genie.sis.pitt.edu/, Decision Systems Laboratory of the University of Pittsburgh, dostęp 2014-04.

[4] Tetrad IV, http://www.phil.cmu.edu/projects/tetrad/, Carnegie Mellon University, dostęp 2014-04.

4

Cytaty

Powiązane dokumenty

Napisz program, który pobiera długość boku kwadratu I wypisuje jego obwód

Szerokie otwarcie portalu przejawia się również w różnorodności grupy docelowej, dla któ- rych jest on przeznaczony: adresowany jest bowiem zarówno do badaczy, i to nie

W przypadku, gdy liczba zadań aktualnie wykonywanych pozwala na uruchomienie jeszcze jednego zadania, to agent aM aster pobiera z bazy danych szczegółowe

Byæ mo¿e dzieje siê tak dlatego, ¿e w³aœnie w sferze kultury ze zdwojon¹ moc¹ uwidaczniaj¹ siê skutki wszelkich zmian, które pojawi³y siê wraz ze spo³eczeñstwem

Herskovits, A Bayesian Method for Induction of Probailistic Networks from Data, Machoine Learning, 9, pp. Nielsen, Bayesian Networks and Decision Graphs,

Połączenia analogowe stosujące modemy klasyczne potrzebują Połączenia analogowe stosujące modemy klasyczne potrzebują tylko jednej pary przewodów, szerokość pasma transmisji

Aczkolwiek zarów- no jeden, jak i drugi dzięki klasycznym już publikacjom 23 są najbardziej znanymi propagatorami pojęcia społeczeństwa sieciowego, to jednak podobne próby objęcia

Jak się już wkrótce okazało, przed „wirtualną realnością” nie było ucieczki, aczkolwiek na początku ery informa- tycznej Internet traktowano tak jak kiedyś sportowe