|
|
pl:dydaktyka:ml:lab12 [2017/07/17 10:08] |
pl:dydaktyka:ml:lab12 [2019/06/27 15:50] (aktualna) |
| ====== Laboratorium 12 - Sieci Bayesowskie - wprowadzenie ====== |
| |
| Ćwiczenia bazujące na materiałach Daphne Koller\\ |
| Przed zajęciami przejrzyj wykłady: |
| * [[https://class.coursera.org/pgm-2012-002/lecture/index|Introduction and Overview (Week 1)]] |
| * [[https://class.coursera.org/pgm-2012-002/lecture/index|Bayesian Network Fundamentals (Week 1)]] |
| |
| ===== Wprowadzenie ===== |
| Laboratorium będzie polegało na wykorzystaniu oprogramowania SAMIAM do zaprojektowania niewielkiej sieci Bayesowskiej pozwalającej na obliczanie zdolności kredytowej. |
| |
| SAMIAM można pobrać ze strony [[http://reasoning.cs.ucla.edu/samiam/index.php|UCLA]]. |
| Proszę pobrać wersję "Classic" w przypadku gdy domyślna wersja nie działa. |
| |
| * Plik z siecią prawdopodobieństwa zachorowania na mukowiscydozę: {{:pl:dydaktyka:ml:cysticfibrosisbayesnet.zip|pobierz}} |
| * Plik ze szkieletem sieci: {{:pl:dydaktyka:ml:credit_net.net.zip|pobierz}}. |
| ===== Samiam ===== |
| Podczas konstruowania sieci, będziemy wykorzystywać **Edit Mode** aby dodać krawędzie do sieci. Aby włączyć **Edit Mode**, wejdź do **Menu->Edit Mode**. Jeśli opcja jest szara, oznacza że program już znajduje się w tym trybie. |
| |
| Aby dodać krawędź do sieci, idź do **Edit->Add Edge**, a następnie: |
| * kliknij na dowolny węzeł, który ma być rodzicem |
| * kliknij na węzeł, który ma być dzieckiem |
| |
| Podczas modyfikowania sieci, pamiętaj żeby nie zmieniać żadnych innych ustawień poza rozkładem prawdopodobieństwa dla danych w węzłach. Aby zmienić prawdopodobieństwa kliknij w zakładkę **Probabilities**. Pamiętaj aby wyedytować prawdopodobieństwa za każdym razem kiedy dodane zostanie nowe dziecko do węzła. |
| |
| W dalszej części będziemy korzystać z **Query Mode**, żeby zobaczyć jak wyglądają prawdopodobieństwa dla poszczególnych przypadków. W celu zmiany trybu na **Query Mode** idź do **Mode->Query Mode**. Żeby podejrzeć prawdopodobieństwa, idź do **Query->Show monitors->Show All**. |
| ===== Mukowiscydoza ===== |
| Za ryzyko zachorowania na mukowiscydozę odpowiedzialnych jest pewien gen. Dla uproszczenia założymy, że składa się on jedynie z dwóch alleli, które mogą przyjmować wartości **f** lub **F**. Allel **F** zwiększa ryzyko zachorowania, które można opisać następująco: |
| * osoby z genotypem FF mają 80% szans na zachorowanie |
| * osoby z genotypem Ff mają 60% szans na zachorowanie |
| * osoby z genotypem ff mają 10% szans na zachorowanie |
| |
| Uruchom program SAMIAM i wczytaj plik {{:pl:dydaktyka:ml:cysticfibrosisbayesnet.zip|cysticFibrosisBayesNet.net}} |
| |
| |
| Przejdź w tryb **Query Mode** a następnie włącz wszystkie monitory **Query->Show monitors->Show All**. |
| |
| Zobacz jak zmieniają się prawdopodobieństwa w zależności od tego które ze zmiennych podajemy jako **dane**. |
| |
| W szczególności zaobserwuj co dzieje się dla następujących konfiguracji węzłów (czarne węzły oznaczają węzły z zmienną **daną**). Jak zmienia sie rozkład prawdopodobieństwa, gdy "odkolorujemy" dany węzeł? |
| |
| {{ :pl:dydaktyka:ml:cond-indep-1.png?direct&200|}} |
| |
| {{:pl:dydaktyka:ml:cond-indep-2.png?direct&116 |}} |
| |
| {{ :pl:dydaktyka:ml:cond-indep-3.png?direct&116 |}} |
| ===== Zdolność kredytowa ===== |
| |
| bank, w celu wyznaczenia zdolności kredytowej, bada następujące dane klienta: |
| * przychód (income) |
| * majątek (assets) |
| * współczynnik przychodu do już posiadanych kredytów/długów (ratio of debts to income) |
| * historię transakcji (payment history) |
| * wiek (age) |
| * wiarygoność klienta (reliability) |
| * przyszły dochód (future income) |
| * współczynnik długów do przyszłego dochodu (ratio of debts to income) |
| |
| Zadanie polega na zbudowaniu sieci Bayesowskiej, która na podstawie danych (pewnych, lub wszystkich) udzieli odpowiedzi na temat zdolności kredytowej klienta. |
| |
| Przy obliczaniu zdolności kredytowej, następujące zależności brane są pod uwagę: |
| - Im lepsza historia transakcji (payment history) tym bardziej prawdopodobne, ze osoba jest wiarygodna (reliable) |
| - Im starsza osoba, tym bardziej prawdopodobne że będzie bardziej wiarygodna (reliable) |
| - Starsze osoby najczęściej mają świetną historię transakcji (payment history) |
| - Osoby z wysokim stosunkiem długów do przychodu (ratio of debts to income) nie mają zbyt często dobrej historii transakcji (payment history) |
| - Im większy jest przychód (income) danej osoby, tym większe prawdopodobieństwo, ze osoba ma duży majątek (assets) |
| - Im większy majątek (assets) danej osoby i im większy jej przychód (income) tym większe prawdopodobieństwo, ze osoba ta będzie miała wysoki przyszły przychód (future income) |
| - Bardziej wiarygodne osoby (reliable) najczęściej maja większą zdolność kredytową. Podobnie osoby z obiecująco wysokim przyszłym dochodem (future income) jak również osoby z niskim stosunkiem długów do przychodu (ratio of debts to income) mają większą zdolność kredytową niż inni. |
| |
| Aby sprawdzić jak wyglądają prawdopodobieństwa po zbudowaniu sieci, przejdź do **Query Mode** i przetestuj działanie sieci. Upewnij się, że algorytm wnioskujący (inference algorithm) ustawiony jest na **hugin**. |
| |
| |