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