Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Transkrypt

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie
ZACHODNIOPOMORSKI UNIWERSYTET
TECHNOLOGICZNY W SZCZECINIE
INSTYTUT TECHNOLOGII MECHANICZNEJ
Metody Sztucznej Inteligencji
Sieci Bayesa
Wstęp
Program Netica jest najczęściej używanym programem na świecie wykorzystującym sieci Bayesa.
Został zaprojektowany jako proste, niezawodne i wysoce efektywne narzędzie do zarządzania
niepewnością w biznesie, inżynierii, medycynie czy też ekologii. Jest narzędziem wybieranym przez
wiele wiodących firm i agencji rządowych na świecie.
Aby uzyskać dostęp do programu wejdź na stronę: http://www.norsys.com/download.html, pobierz plik
instalacyjny, a następnie zainstaluj program Netica na komputerze. Uruchom program na licencji
„Limited mode” (należy zaznaczyć przy pierwszym użyciu).
Zastosowanie – przykład
Zbadamy prawdopodobieństwo otrzymania podwyżki w zależności od humoru pracodawcy oraz
efektywności pracy pracownika. Humor pracodawcy zależeć będzie od pogody oraz sytuacji finansowej
firmy.
Otwórz program Netica, następnie stwórz nową sieć poprzez polecenie File/ New/ Network.
W kolejnym etapie stwórz odpowiednią ilość węzłów używając funkcji „Add Nature Node” (należy
wybrać funkcję, a następnie kliknąć w dowolne miejsce pola roboczego).
1
Materiały dydaktyczne opracowała dr inż. M. Krawczyk
Add Nature Mode
Klikając dwukrotnie na powstały element, otworzy się okno edycji.
W oknie edycji zmień nazwę węzła na „Pogoda” oraz w polu „state”
wpisz „ladna”. Kliknij przycisk „New” i ponownie w polu „state” wpisz
„brzydka”. Zakończ edycję funkcją „Apply”.
Zamknij okno edycji. Po dokonanych zmianach dodany element prezentować się będzie jak poniżej.
Dodaj kolejne węzły (w programie nie należy używać spacji oraz polskich znaków):
„SytuacjaFinansowa”
(dobra/zla),
„HumorPracodawcy”
(dobry/zly);
„EfektywnoscPracownika” (niska/wysoka); „Podwyzka” (tak/nie) wpisując w polu
„state” dane z nawiasów. Aby rozmieścić elementy tak, jak na rysunku, należy
zaznaczyć węzeł (klikając i przytrzymując lewym przyciskiem myszy) i przesunąć go w odpowiednim
kierunku.
W kolejnym etapie trzeba dodać relacje pomiędzy poszczególnymi
węzłami. Posłuży do tego funkcja „Add Link”. Żeby została ona
uruchomiona należy kliknąć na nią, a następnie przeciągnąć
strzałkę pomiędzy interesujące nas węzły.
Add Link
W efekcie powinniśmy uzyskać poniższe powiązania.
Warto w tym momencie zapisać powstały plik korzystając z funkcji
„save”.
Aby móc analizować powstałą sieć trzeba utworzyć plik relacji
pomiędzy węzłami. Do tego celu wykorzystany zostanie program
Excel.
W nowym zeszycie należy w kolumnach wpisać nazwy węzłów, zaś
2
Materiały dydaktyczne opracowała dr inż. M. Krawczyk
w wierszach odpowiadające im określenia, w taki sposób żeby wyrażały relacje łączące poszczególne
węzły, np.:
„Pogoda” = „ladna” + „SytuacjaFinansowa” = „dobra” →
„HumorPracodawcy” =„dobry”
„HumorPracodawcy” = „dobry” + „EfektywnoscPracownika” =
„wysoka” → „Podwyżka” = „tak”
Relacje jakie należy stworzyć dla danego przykładu podano
na rysunku obok. Zapisz powstały plik.
W kolejnym etapie „nauczymy” program zadanych relacji pomiędzy węzłami. W tym celu należy
w zakładce „Cases” wybrać polecenie „Learn”, a następnie „Incorp Case File” i wczytać utworzony plik
.xls. Po tej operacji należy dokonać kompilacji sieci poprzez wybranie w zakładce „Network” polecenia
„Compile”.
W wyniku tego procesu można w dowolny sposób
ustawiać parametry wejściowe, zaś program Netica
będzie w stanie wyliczyć jak wprowadzone dane
wpływają na wynik końcowy (w tym przypadku jak
zmienia się prawdopodobieństwo otrzymania
podwyżki). Można zauważyć również, że paski
prawdopodobieństwa w każdym węźle zmieniły kolor z szarego – nieaktywnego, na czarny – stały się
aktywne.
Rozpatrzmy sytuację, w której prawdopodobieństwo wystąpienia
ładnej pogody wynosi 100%, sytuacja finansowa firmy jest bardzo
dobra (również na poziomie 100%), a efektywność pracownika jest
na najwyższym z możliwych poziomów (także wynosi 100%). Aby
nanieść na sieć powyższe założenia, należy „chwycić” dany pasek
lewym przyciskiem myszy i przeciągnąć w odpowiednim kierunku,
ustawiając żądaną wartość. W wyniku otrzymamy, że przy bardzo ładnej pogodzie i bardzo dobrej
sytuacji finansowej firmy, prawdopodobieństwo dobrego humoru pracodawcy wyniesie 75%, zaś szanse
na podwyżkę, przy maksymalnej efektywności pracownika, wyniosą
75%.
Rozważmy jeszcze dwie sytuacje. Pierwsza, w której humor
pracodawcy jest dobry (parametry wejściowe dotyczące pogody
i sytuacji finansowej firmy pozostawiamy na poziomie 100%), zaś
efektywność pracownika bardzo niska – 100%. Druga, w której
humor pracodawcy jest zły (pomimo ładnej pogody – 100%,
sytuacja finansowa firmy jest zła w 80%), ale wydajność pracownika dobra (na poziomie 75%).
W pierwszym przypadku, przy
wprowadzonych założeniach
początkowych
humor
pracodawcy był dobry w 75%.
Pomimo tego, niska wydajność
pracownika,
wpłynęła
negatywnie na możliwość otrzymania przez niego podwyżki – szanse zmalały do 25%. W drugim
3
Materiały dydaktyczne opracowała dr inż. M. Krawczyk
przypadku na humor pracodawcy wpłynęła przede wszystkim sytuacja finansowa firmy, obniżając
poziom jego zadowolenia do 35%. Dosyć wysoka efektywność pracy pracownika spowodowała, że
możliwość otrzymania przez niego podwyżki wyniosła 62,5%.
Zadanie
Stwórz dowolną sieć zawierającą co najmniej 5 węzłów z co najmniej dwoma poziomami zależności.
Utwórz dla niej arkusz zależności i zbadaj jak pracuje w przynajmniej 3 dowolnych sytuacjach.
W sprawozdaniu zamieść informacje dotyczące powstałej sieci (co badano, jakie były zależności, itp.),
dołącz arkusz zależności, wyniki dla poszczególnych przypadków oraz na podstawie przeprowadzonych
analiz wyciągnij wnioski.
4
Materiały dydaktyczne opracowała dr inż. M. Krawczyk