• Nie Znaleziono Wyników

Wprowadzenie do Sieci Bayesa (

N/A
N/A
Protected

Academic year: 2021

Share "Wprowadzenie do Sieci Bayesa ("

Copied!
3
0
0

Pełen tekst

(1)

Wprowadzenie do Sieci Bayesa

(artykuł Prof. Marka Drużdżela w magazynie SDJ, luty 2005)

Bardzo ważną podklasą graficznych modeli probabilistycznych są sieci bayesowskie, nazywane także sieciami przekonaniowymi (ang.

belief networks) lub (nieco nieprecyzyjnie) sieciami przyczynowymi. Przymiotnik bayesowski odnosi się do podstaw teorii decyzji oraz coraz bardziej popularnej gałęzi teorii prawdopodobieostwa – bayesowskiej, subiektywistycznej interpretacji będącej dziełem wybitnego angielskiego matematyka, wielebnego Thomasa Bayesa. Bayes zyskał sławę z powodu swoich poglądów w zakresie rewizji przekonao (ang. belief revision). Twierdzenie Bayesa zaakceptowane i powszechnie używane przez wszystkie szkoły teorii prawdopodobieostwa i statystyki, wyraża obliczenie, które trzeba wykonad w celu zrewidowania wcześniejszych przekonao w świetle nowych dowodów: P(A|B) = P(A,B)/P(B) = P(B|A)/P(B)*P(A) Wyrażenie P(A|B) w powyższym wzorze oznacza prawdopodobieostwo wystąpienia zdarzenia A zależnego od zdarzenia B – a więc A jest prawdziwe, jeśli B miało miejsce.

Prawdopodobieostwo to jest wynikiem zestawienia ze sobą dwóch czynników: ilorazu prawdopodobieostw P(B|A)/P(B), wyrażające- go jak ważne pod względem informacyjnym jest zdarzenie B w odniesieniu do zdarzenia A, oraz prawdopodobieostwo zdarzenia P(A) wyliczonego wcześniej (np. przed zaistnieniem zdarzenia B). Wielkośd Bayesa polega na interpretacji tego twierdzenia: przekonanie w prawdziwośd zaistnienia zdarzenia A można zrewidowad w pełnej zgodności z prawami prawdopodobieostwa. Sied bayesowska koduje informacje o określonej dziedzinie za pomocą wykresu, którego wierzchołki wyrażają zmienne losowe, a krawędzie obrazują probabilistyczne zależności między nimi. Zazwyczaj struktura wykresu naśladuje przyczynową strukturę dziedziny. Sied bayesowska pokazana na Rysunku 1. modeluje różne problemy związane z uruchomieniem silnika samochodowego. Aby silnik zapalił, akumulator musi byd naładowany, a w baku musi znajdowad się wystarczająca ilośd paliwa. Ilośd paliwa można ocenid na podstawie odczytu wskaźnika. Wskaźnik ten działa jednak tylko wtedy, gdy naładowany jest akumulator. Akumulator natomiast można sprawdzid, włączając radio. Wszystkie te zależności są probabilistyczne w swojej naturze. Nawet jeśli dysponujemy dostateczną ilością energii elektrycznej i paliwa, silnik może nie zapalid z innych, nieokreślonych w modelu przyczyn, a odczyt wskaźnika ilości paliwa może byd błędny. Radio może byd zepsute i nie działad mimo, że jest podłączone do źródła prądu. Zależności te – w uzupeł- nieniu do struktury wykresu – są modelowane przez przedstawione liczbowo prawdopodobieostwo wyrażające siłę, z jaką oddziałują na siebie zmienne. Prawdopodobieostwo jest kodowane w tabelach dołączanych do każdego węzła i indeksowanych przez węzły nadrzędne. Węzeł Wskaźnik ilości paliwa (Fuel Gauge) może zawierad tabelę prawdopodobieostwa warunkowego (Rysunek 2.).

Górne wiersze tabeli zawierają wszelkie kombinacje stanów zmiennych nadrzędnych. Poniższe wiersze tabeli wyrażają prawdopodobieostwo różnych stanów węzła Silnik zapala (Engine Starts) w powiązaniu z wszelkimi kombinacjami stanów węzłów nadrzędnych. Kolumny tabeli efektywnie kodują rozkład prawdopodobieostwa zmiennej potomnej zależnej od zmiennych nadrzędnych. Jeśli zbiornik paliwa jest pusty, a akumulator naładowany, to prawdopodobieostwo tego, że odczyt wskaźnika ilości paliwa będzie normalny, wynosi 0,95. Istnieje jednak 5% szansy na to, że wskaźnik będzie działad nieprawidłowo. Nawet jeśli akumulator jest wyczerpany, istnieje prawdopodobieostwo normalnego wskazania ilości paliwa równe 0,01 (kolumna 2 i 4). Tabelę prawdopodobieostwa węzła Radio działa (Radio Operates) przedstawiono na Rysunku 3. W tym przypadku warunkowe rozkłady prawdopodobieostwa określają, że jeśli akumulator jest wyczerpany, to radio z pewnością nie będzie działad, oraz że istnieje pewne prawdopodobieostwo (0,05), że nie uda się włączyd radia, nawet jeśli akumulator jest naładowany.

Rysunek 1. Prosta sied bayesowska wykorzystywana do oceny stanu silnika samochodu Wnioskowanie w sieciach bayesowskich

Najciekawszą cechą sieci bayesowskich jest możliwośd wykorzystania ich do obliczenia rozkładów prawdopodobieostwa in- teresujących nas zmiennych pod warunkiem, że ustalone zostały stany pozostałych zmiennych. Na tym właśnie polega rewizja przekonao zaproponowana przez Thomasa Bayesa. Prawdopodobieostwo wystąpienia pewnego zdarzenia w określonych oko- licznościach jest po prostu prawdopodobieostwem tego zdarzenia zależnym od tych okoliczności. Jeśli silnik nie zapala, a licznik wskazuje małą ilośd paliwa, to późniejsze prawdopodobieostwo (a posteriori) pustego baku i wyczerpanego akumulatora wynosi w obu przypadkach około 1/3 (Rysunek 4.). Natomiast gdy przyjmiemy dodatkowe założenie, że radio samochodowe działa, to sied dojdzie do wniosku, że akumulator nie może byd nienaładowany i określi, że silnika nie można uruchomid prawie na pewno z powodu pustego zbiornika paliwa (Rysunek 5.). Należy zaważyd, że sied uznała wysoki odczyt wskaźnika za błędny. Warto także zwrócid uwagę na fakt, że prawdopodobieostwo pełnego zbiornika paliwa przy wszystkich założeniach wynosi 0,01. Jeśli bak jest

(2)

faktycznie pełny, przyczyną niemożności uruchomienia silnika nie jest ani brak paliwa, ani rozładowany akumulator. Proces wnioskowania w sieciach bayesowskich (z przykładami zapoznaliśmy się powyżej) odbywa się przy wykorzystaniu tzw. algorytmów aktualizowania przekonao (ang. belief updating). Szczegółowe informacje o tych algorytmach wykraczają poza zakres tego krótkiego artykułu. Jednak można by w przybliżeniu powiedzied, że algorytmy te polegają na wielokrotnym zastosowaniu twierdzenia Bayesa i rozesłaniu w całej sieci informacji o zaistniałych okolicznościach. Mimo że złożonośd tego procesu w najgorszym przypadku rośnie wykładniczo ze wzrostem liczby zmiennych, istnieje pewna grupa dokładnych oraz przybliżonych algorytmów, które można wykorzystad do obsługi sieci składających się z setek, a nawet tysięcy zmiennych.

Rysunek 2. Tabela prawdopodobieostwa warunkowego dla węzła Fuel Gauge Nauczanie

Sieci bayesowskie można tworzyd na podstawie danych z tych domen, w których dane te są gromadzone. Banki mogą więc skutecznie rozpoznawad całkowity rozkład prawdopodobieostwa zmiennych opisujących populację swoich klientów, a następnie wykorzystad te informacje przy ocenie zdolności kredytowej. Firmy telekomunikacyjne mogą korzystad z procesu wnioskowania w czasie rzeczywistym biorąc pod uwagę charakterystyczne cechy połączenia telefonicznego w celu określenia, czy dane połączenie jest podejrzane i zakooczyd je, jeśli spełnione zostaną określone warunki. Sied bayesowska opracowana na podstawie danych generowanych przez proces przemysłowy może byd następnie wykorzystywana do sterowania tym procesem.

Rysunek 3. Tabela prawdopodobieostwa warunkowego węzła Radio Operates

Rysunek 4. Późniejszy graniczny rozkład prawdopodobieostwa w węzłach Fuel Tank Empty oraz Battery Power przy założeniu, że silnik nie zapala, a licznik wskazuje małą ilośd paliwa

GeNIe i SMILE

W laboratorium Decision Systems Laboratory na Uniwersytecie Pittsburskim od dłuższego trwają prace nad wdrożeniem ogólnego środowiska modelującego przy wykorzystaniu tej metodologii. Środowiskiem tym jest SMILE (StructuralModeling, Inference, and Learning Engine) będący w pełni przenośną biblioteką klas C++ i wykorzystujący sieci bayesowskie oraz schematy wpływów.

Środowisko to można stosowad bezpośrednio w systemach inteligentnych. Jego windowsowy interfejs, GeNIe, jest wszechstronnym i przyjaznym dla użytkownika środowiskiem programistycznym do pracy nad graficznymi modelami decyzyjno-teoretycznymi.

Istnieje kilka wersji środowiska SMILE – wersja .NET (SMILE.NET), Java (jSMILE), a nawet wydanie dla komputerów Pocket PC (Pocket SMILE). Nasze oprogramowanie zostało udostępnione w lipcu 1998 roku, a dziś korzysta z niego kilka tysięcy użytkowników na całym świecie (dane z listopada 2004 r.). Aplikacje bazujące na GeNIe i SMILE są zarówno programami przemysłowymi, przeznaczonymi do pracy ciągłej, jak i badawczymi projektami akademickimi. Są wykorzystywane m.in. do oceny strat bitewnych, jako modele wspomagania decyzji grupowych przy rozpoznawaniu konfliktów regionalnych, jako inteligentne systemy szkoleniowe, w diagnostyce medycznej i planowaniu terapii, w diagnostyce pociągów z silnikami dieslowskimi, samolotów oraz podczas produkcji układów scalonych. OprogramowanieGeNIe i SMILE jest także wykorzystywane na kilku uniwersytetach jako narzędzie pomocnicze w dydaktyce. Pracując nad GeNIe kładliśmy nacisk na dostępnośd oraz przyjaznośd interfejsu użytkownika. Architektura systemu jest elastyczna: SMILE jest bazowym mechanizmem wnioskującym, który można osadzad w dedykowanych interfejsach użytkownika (przykładem takiego interfejsu jest właśnieGeNIe). Używamy interfejsu GeNIe w procesie nauczania, a system pomocy zawiera wiele przydatnych dokumentów i wskazówek – jest to właściwie gotowy podręcznik modelowania decyzyjno-teoretycznego.

(3)

Rysunek 5. Graniczny rozkład prawdopodobieostwa a posteriori w węzłach Fuel Tank Empty oraz Battery Power przy założeniu, że silnik nie zapala, licznik nie wskazuje małej ilości paliwa, a radio działa

Osadzanie biblioteki SMILE w programach C++

Bibliotekę SMILE można osadzad we wszystkich językach programowania, dla których interfejsem jest C++. Ponadto na stronie internetowej SMILE można znaleźd interfejsyJava oraz interfejsy programistyczne oparte na platformie .NET. Na Listingu 1.

zamieszczono fragment programu w C++ tworzącego dwa węzły przykładowej sieci w celu rozpoznania problemów związanych z uruchomieniem silnika samochodu. Komentarze powinny wyjaśnid, za co odpowiedzialne są poszczególne części kodu. Sied bayesowska zapisana w pliku na dysku lokalnym– niezależnie od tego, czy została utworzona i zapisana w programie C++ (patrz funkcja CreateEngineNetwork()na Listingu 1.), opracowana na podstawie danych lub utworzona interaktywnie przy wykorzystaniu interfejsu GeNIe – może zostad następnie osadzona w aplikacji. Na Listingu 2. pokazano, jak załadowad zapisaną wcześniej sied i wykorzystad ją do obliczenia późniejszego rozkładu prawdopodobieostwa węzła sieciowego. Kod na Listingach 1. i 2. został bardzo uproszczony, ale dzięki tym przykładom Czytelnicy będą mied pewne pojęcie o osadzaniu sieci bayesowskiej w aplikacji. Biblioteka SMILE zawiera wiele funkcji, które umożliwiają wydajniejsze wykonywanie zadao programistycznych. Zachęcamy Czytelnikówdo odwiedzenia strony internetowej laboratorium Decision Systems Laboratory, pobrania najnowszej wersji interfejsu GeNIe i środowiska SMILE oraz wypróbowania tych rozwiązao. Nasze oprogramowanie jest wykorzystywane przez wielu użytkowników.

Uważam, że zostało ono dobrze udokumentowane, jest wydajne, przyjazne dla użytkowników i programistów, a przy tym bardzo stabilne. Zawsze reagujemy na potencjalne problemy. Proszę kontaktowad z nami, gdy wystąpią jakieś trudności.

Rysunek 6. Interfejs tworzenia modeli GeNIe. Po lewej stronie widok drzewa, a po prawej widok graficzny O autorze

Marek J. Drużdżel jest profesorem nadzwyczajnym School of Information Sciences and Intelligent Systems Program na Uniwersytecie w Pittsburghu, a ponadto kieruje pracami Decision Systems Laboratory, grupy badawczej zajmującej się tworzeniem systemów wspomagania decyzji opartych na normatywnych zasadach teorii prawdopodobieostwa i teorii decyzji.

Cytaty

Powiązane dokumenty

Argument [!hbp] oznacza, że tabelę można umieścić w miejscu, w którym pojawia się w pliku źródłowym (h) albo na dole strony (b), albo wreszcie na osobnej stronie

Na podstawie (25+K)-elementowej próby prostej oszacowano średni czas toczenia pewnego detalu na tokarce, który wynosił (26-K) min.. Odchylenie standardowe wynosi

2.  Przyjmuję  do  wiadomości,  że  złożenie  oświadczenia  niezgodnego  z  prawdą  może  spowodować 

Jeśli jednak, z jakiegoś powodu niemożliwe jest stosowanie detekcji cech ad hoc i magazynowanie ich w bazie danych (np. w przypadku dynamicznie aktualizowanej bazy danych w

choć niewątpliwie spędzenie nocy w kaloszach i poranny ból głowy często występowały wspólnie, nie można na tej podstawie powiedzieć, że to pierwsze jest przyczyną drugiego..

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

Al escuchar música relajante en la mañana y tarde, las personas con presión arterial alta pueden entrenarse para reducir su presión arterial y mantenerla baja.. Según una

Przyjmując, że powyższe wyliczenie stanowi katalog zamknięty, można przyjąć następującą formułę domniemania języka potocznego:” Jeżeli znaczenie danego terminu