• Nie Znaleziono Wyników

Algorytmy stochastyczne — laboratorium 10 Jarosław Piersa

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy stochastyczne — laboratorium 10 Jarosław Piersa"

Copied!
4
0
0

Pełen tekst

(1)

Algorytmy stochastyczne — laboratorium 10

Jarosław Piersa

2014-04-25

1 Zadania na zajęcia

Zadanie 1

Z pewnym prawdopodobieństwem dziś będzie padał deszcz. Prognoza pogody zazwyczaj poprawnie przewiduje ulewę, ale może się dowolnie źle pomylić (patrz system Lorenza). Na podstawie prognozy pogody (bo faktycznej pogody znać nie może) pan Iksiński rano podejmuje decyzję czy zabrać ze sobą parasol. Oczywiście najlepiej jest gdy nie pada i parasol został w domu — Pan Iksiński ocenia taką wytuację wysoko +100. Jeżeli pada to dobrze jest mieć parasol przy sobie +80. Jeżeli nie pada, a Pan Iksiński zabrał parasol to musi go nosić ze sobą cały dzień, co nie jest wygodne +10. Jeżeli pada, a parasol został w domu to Pan Iksiński przemoknie 0.

Deszcz

Prognoza

Parasol

Zadowolenie

Skonstruuj (lub przeanalizuj gotową) sieć bayesowską z wykorzystaniem węzła decyzyjnego (decision node, action node) do podjęcia decyzji czy zabrać parasol i węzła wypłaty (utility node, value node) do liczenia „zysku” jaką przyniesie decyzja.

Pan Igerkowski jest zapalonym podróżnikiem i ma inne priorytety. Oczywiście lubi gdy nie pada i nie nosi parasolki (+100), ale perspektywa zmoknięcia nie przeraża go (+20 jeżeli zmoknie) aż tak bardzo jak dodatkowy balast (+0 jeżeli nosi parasol i nie pada). Jeżeli pada i ma parasol ocenia sytuację na +40. Jak się zmieniły oczekiwane wartości decyzji?

Zadanie 2

Skonstruuj sieć: Węzły:

• Zimno — czy panuje zimowa pogoda (ma wpływ na osłabienie organizmu) Zimno Umiarkowanie Ciepło

− .3 .4 .3

• Papierosy — czy pacjent pali papierosy (co może być alternatywną przyczyną kaszlu) Tak Nie

− .4 .6

• Grypa — czy pacjent ma grypę

Tak Nie

Z .7 .3

U .25 .75 C .15 .85

1

(2)

• Angina — czy pacjent ma anginę

• Kaszel — czy pacjent ma kaszel

• CzyLeczyć — Węzeł decyzyjny - czy należy pojąć leczenie?

• Wypłata — węzeł utylitarny określający trafność decyzji

Temperatura

Angina Grypa Papierosy

Kaszel

Czy leczyc

Wynik

Intuicyjnie wybierz prawdopodobieństwa warunkowe.

Dodaj do sieci dodatkowy węzeł JakWysokoPacjentCeniSwojeZdrowie. Jeżeli nisko to stosowanie leczenia będzie mniej opłacalne. Jak zmieniają się optymalne decyzje?

Zadanie 3

Pan Iksiński zamierza kupić używany samochód. Jeżeli będzie on sprawny sporo zaoszczędzi, jeżeli okaże się złomem straci na naprawach więcej niż był wart. Ma możliwość wykonać dwa testy pojazdu. Wiązą się one z dodatkową opłatą, ale dają szansę oceny czy samochód jest sprawny czy też nie. Zbuduj sieć bayesowską pomagającą dokonać właściwego wyboru.

Węzły decyzyjne będą odpowiadały za to czy robić testy (nie, jeden, oba) oraz czy dokonać zakupu (tak, nie). Węzły wypłaty będą szacowały zysk z danej decyzji.

Jazda próbna? Stan

Wynik jazdy Koszt

testu

Czy kupić?

Zysk

Zadanie 4

Przebuduj sieci do zadań Monty Halla z poprzedniej listy tak by wykorzystywały węzły decyzyjne i utylitarne

Zadanie 5

Naiwny Klasyfikator Bayesowski (NBC — Naive Bayesian Classifier)

Węzeł źródłowy jest przyczyną, którą chcemy zdiagnozować. Pozostałe węzły są symptomami, na których podstawie dokonujemy diagnozy (w tym wypadku możliwe problemy zgłaszane pomocy technicznej przez użytkowników). Zazwyczaj pytamy tylko o stan węzła przyczynowego. Tablice prawdopodobieństw są niewielkie gdyż każdy z węzłów (z wyjątkiem ko- rzenia) ma dokładnie jednego rodzica. Umożliwia to budowanie dość złożonych klasyfikatorów bez popadania w wykładnicze złożoności pamięciowe.

Zbuduj sieć klasyfikator jak na przykładzie (lub własny np. klasyfikujący maile jako spam). Wypełnij CPT i przeanalizuj działanie sieci.

2

(3)

Zadanie 6

Trawnik (pole uprawne, ogródek) i zraszacz. Na podstawie obserwacji zachmurzenia rano należy podjąć decyzję czy włączyć zraszacz. Włączenie wiąże się z kosztem zużycia wody, ale daje pewene szanse, że trawnik nie uschnie. Z drugiej strony jeżeli danego dnia będzie padał deszcz, to również zapewni odpowiednie nawodnienie, a jest darmowy. Uschnięcie trawnika wiąże się ze stratami (koszt zasiania nowego, bliżej niesprecyzowany związek stanu trawnika z ilością klientów, jeżeli jest to pole uprawne to zmniejszenie plonów itp.).

Skonstruuj sieć bayesowską modelującą sytuację.

Dodatkowo można ją wzbogacić o inne węzły jak np. wysłuchanie prognozy pogody (co wiąże się z zakupem odbiornika i opłatą abonamentu), nagroda główna w Konkursie na Najbardziej Zadbany Trawnik (wysoka, średnia, niska, konkurs odwołany), od której zależy ostateczna wartość „nieuschniętego trawnika” itp. Inwencja własna mile widziana.

Zadanie 7

Przemyślenia pana Zzzetowkiego:

• Jeżeli mam jutro na 8.00 to pewnie się nie wyśpię...

• Jeżeli się nie wyśpię to prawdopodobnie będę chodził nieprzytomny cały dzień...

• Ale może jeżeli zjem śniadanie, to będę bardziej przytomny...

• Jeżeli będę skoncentrowany, to (być może) będę lepiej pracował i więcej z(a)robię...

• Jeżeli dużo zarobię, to pójdę spać w poczuciu dobrze spełnionego obowiązku i (mam nadzieję) choć pojutrze się wyśpię...

Skonstruuj sieć modelującą jeden dzień z życia pana Zzzetowskiego. Metodą „kopiuj-i-wklej” dodaj do sieci kolejnych kilka dni i zależności pomiędzy nimi.

Przeanalizuj działanie sieci. Jak decyzje podjęte dnia pierwszego mają wpływ na to, co stanie się za dwa dni później?

Czy to co stało się dnia trzeciego (np. nie wyspał się) może być wytłumaczone przez jakieś zdarzenie z przed kilku dni?

Dodaj do sieci węzły wypłaty odpowiadające wynagrodzeniu za popstępy w pracy. Dodaj do sieci węzeł decyzyjne Rozrywka, które mają wpływ na postępy w pracy, ale też wiążą się z wydawaniem ciężko zarobionych pieniędzy.

Zadanie 8

Łańcuchy Markowa (przypomnienie).

Proces stochastyczny (ciąg zmiennych losowych) Xt, t ∈ N nazywany jest łańcuchem Markowa jeżeli rozkład Xt, zależy od tylko od wartości Xt−1.

P(Xt= x|Xt−1= xt−1, Xt−2= xt−2...X0= x0) = P(Xt= x|Xt−1= xt−1)

Niech S będzie zbiorem przyjmowanych stanów. Łańcuch Markowa jest jednorodny jeżeli w każdym kroku prawdopodo- bieństwa przejścia pomiędzy dwoma ustalonymi stanami są identyczne.

t1,t2x,yP(Xt1 = x|Xt1−1= y) = P(Xt2 = x|Xt2−1= y) = pxy

Jeżeli Łańcuch Markowa jest jednorodny to macierzą przejścia nazywamy P = [pxy]x,y∈S. Rozkładem początkowym nazywamy rozkład P(X0= x), dla x ∈ S

Rozkład początkowy i macierz przejścia jednoznacznie opisują jednorodny łańcuch Markowa.

Jednorodny łańcuch Markowa nazywamy nieprzywiedlnym jeżeli dla dowolnych stanów x, y z dodatnim prawdopodobień- stwem da się przejść w skończonej liczbie kroków z x do y (a także z y do x).

Okresem stanu x nazywamy najmniejszą liczbę kroków k taką, że da się dojść z x do x w k krokach z dodatnim prawdo- podobieńswem.

Nieprzywiedlny łańcuch Markowa nazywamy nieokresowym (lub aperiodycznym) jeżeli największy wspólny dzielnik okre- sów wszystkich stanów wynosi jest 1.

Fakt Jeżeli łańcuch markowa jest nieprzywiedlny i nieokresowy to posiada on rozkład stacjonarny π, taki że πx=X

y∈S

pyxπy

Łańcuch Markowa w kolejnych krokach zbiega do rozkładu stacjonarnego i gdy go osiągnie, już w nim pozostanie.

Zadanie: Zasymuluj łańcuch markowa. S = {s1, s2, s3, s4} Rozkład początkowy = jednostajny (lub jednopunktowy).

Macierz przejścia P1:

.2 .8 0 0

.25 .5 .25 0

0 .2 .6 .2

0 0 .75 .25

3

(4)

Macierz przejścia P2:

.75 .25 0 0

.5 .5 0 0

0 0 .33 .67

0 0 .1 .9

Czy łańcuchy opisane przez P1 i P2 są nieprzywiedlne? Czy są nieokresowe? Jak wygląda w przybliżeniu rozkład stacjonarny łańcuchów (o ile go mają)?

Podaj przykład macierzy przejścia MC, który jest nieprzywiedlny i nie jest niekoresowy. Jak się zachowują „graniczne rozkłady” dla takich MC?

Zadanie 9

Błądzenie losowe. Niech dane będzie k punktów p1..pk. Określamy ciąg zmiennych losowych Xn. X0 zaczyna w losowym z punktów (losowanym z rozkładu jednostajnego). Jeżeli Xn jest w punkcie pj to Xn+1z prawdopodobieństwem 0.5 przejdzie do pj+1 albo z prawdopodobieństwem 0.5 przejdzie do pj−1 dla j = 2, 3, .., k − 1. Jeżeli jest to stan brzegowy to z prawdo- podobieństwem 0.5 Xn+1 pozostanie w tym samym punkcie albo z pradopodobieństwem 0.5 przejdzie do jedynego sąsiada.

Skonstruuj sieć bayesowską symulującą ten proces dla pierwszych 10 kroków.

2 Zadania programistyczne

NBC

Naive Bayesian Classifier — klasyfikator np. wiadomości mailowych (spam/ nie) na podstawie obecności cech wyciąganych z wiadomości (jednoczesne występowanie napisów: „wujek” i „Nigeria”, adres nadawcy nie zawierający samogłosek, czy liczba osób w CC przekracza 10 itd.)

Wnioskowanie dokładne, na razie bez uczenia, 1p.

Wnioskowanie w ogólnej sieci bayesowskiej

Napisz program pozwalający budować sieci bayesowskie o topologii drzewa i algorytm wnioskowania Kima Pearla (2p, zależnie od programu).

Sieć bayesowska z węzłami wypłaty

Napisz symulator szacujący oczekiwane wyniki w grach losowych zależnie od decyzji gracza (np. w grach powtarzalnych:

dylemacie więźnia lub jednorazowych). Decyzje są podejmowane w węzłach decyzyjnych w ustalonej kolejności. Wyniki są obliczane jako suma wyników z węzłów wypłat (utylitarnych), a te zależą od podejmowanych decyzji i stanów w węzłach losowych.

Wnioskowanie np. algorytmem LWS, próbnikiem Gibbsa lub dokładnym (Kima-Pearla). Ocena 1-2 punkty zależnie od inwencji własnej.

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

Generatorem grupy nazywa się taki podzbiór H grupy G, że każdy element grupy G można otrzymać przez wykonanie skończoną ilo ć razy działania grupowego na elementach zbioru

Zaimplementuj algorytm uczenia konstrukcji sieci bayesowskiej na podstawie danych K2. Neapolitan, Learning

[r]

Jedna osoba edytuje plik tekstowy w środowisku Lixuxowym druga — Windowsowym.. Czy nadal można

• rozszerz polecenie, aby usuwało również komentarze wieloliniowe – wskazówka: złam linię przed rozpoczęciem każdego komentarza – złam linię po zamknięciu komentarza. –

• jeżeli locale jest ustawione na PL pl to domyślnym separatorem dziesiętnym będzie przecinek — niezrozumiały dla awka, taki plik należy uprzednio przetworzyć (np sedem

Skrypt może zadawać pytania „Czy Twoja liczba to X?”, „Czy Twoja liczba jest większa od X?”, „Czy Twoja liczba jest mniejsza od

Napisz skrypt w perlu, który będzie prostym (by nie rzec: prymitywnym) tłumaczem tekstu z języka polskiego na angielski (lub w drugą stronę, wybór języka jest dowolny, ale