Sztuczna Inteligencja i Systemy Doradcze



Podobne dokumenty
Sztuczna Inteligencja i Systemy Doradcze

Sztuczna Inteligencja i Systemy Doradcze

SID Wykład XI Sieci Bayesowskie

Algorytmy stochastyczne, wykład 08 Sieci bayesowskie

Na podstawie: AIMA, ch13. Wojciech Jaśkowski. 15 marca 2013

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Spacery losowe generowanie realizacji procesu losowego

P(F=1) F P(C1 = 1 F = 1) P(C1 = 1 F = 0) P(C2 = 1 F = 1) P(C2 = 1 F = 0) P(R = 1 C2 = 1) P(R = 1 C2 = 0)

Modelowanie Niepewności

Metody probabilistyczne

Analiza algorytmów zadania podstawowe

Systemy ekspertowe - wiedza niepewna

Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku.

zdarzenie losowe - zdarzenie którego przebiegu czy wyniku nie da się przewidzieć na pewno.

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Teoretyczne podstawy informatyki

Wstęp do Metod Systemowych i Decyzyjnych Opracowanie: Jakub Tomczak

Prawdopodobieństwo i statystyka

Rachunek prawdopodobieństwa

Sztuczna Inteligencja i Systemy Doradcze

Maksymalne powtórzenia w tekstach i zerowa intensywność entropii

Wykład 4. Plan: 1. Aproksymacja rozkładu dwumianowego rozkładem normalnym. 2. Rozkłady próbkowe. 3. Centralne twierdzenie graniczne

Indukowane Reguły Decyzyjne I. Wykład 3

Modele DSGE. Jerzy Mycielski. Maj Jerzy Mycielski () Modele DSGE Maj / 11

Podstawy Sztucznej Inteligencji (PSZT)

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Wnioskowanie statystyczne i oparte na współczynnikach wiarygodności. Wprowadzenie teoretyczne Wnioskowanie probabilistyczne Przykłady

Wykład 9: Markov Chain Monte Carlo

Wykład 11: Martyngały: definicja, twierdzenia o zbieżności

Algorytmy MCMC (Markowowskie Monte Carlo) dla skokowych procesów Markowa

W2 Podstawy rachunku prawdopodobieństwa (przypomnienie)

Sortowanie topologiczne skierowanych grafów acyklicznych

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Statystyka Astronomiczna

Heurystyki. Strategie poszukiwań

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

Wnioskowanie statystyczne i oparte na współczynnikach wiarygodności

Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład

Podstawowe własności grafów. Wykład 3. Własności grafów

Fuzja sygnałów i filtry bayesowskie

Prawa wielkich liczb, centralne twierdzenia graniczne

Ćwiczenia: Ukryte procesy Markowa lista 1 kierunek: matematyka, specjalność: analiza danych i modelowanie, studia II

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Wnioskowanie bayesowskie

Elementy inteligencji obliczeniowej

Metody probabilistyczne

i=7 X i. Zachodzi EX i = P(X i = 1) = 1 2, i {1, 2,..., 11} oraz EX ix j = P(X i = 1, X j = 1) = 1 7 VarS 2 2 = 14 3 ( 5 2 =

Sieci Bayesa mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Sosnowiec, 2011

Układy stochastyczne

Optymalizacja ciągła

Centralne twierdzenie graniczne

Prawdopodobieństwo geometryczne

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Podstawowe modele probabilistyczne

dodatkowe operacje dla kopca binarnego: typu min oraz typu max:

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Digraf. 13 maja 2017

19 marzec, Łańcuchy Markowa z czasem dyskretnym. Procesy Stochastyczne, wykład 6, T. Byczkowski, Procesy Stochastyczne, PPT, Matematyka MAP1136

Graf. Definicja marca / 1

Analiza algorytmów zadania podstawowe

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Elementy rachunku prawdopodobieństwa (M. Skośkiewicz, A. Siejka, K. Walczak, A. Szpakowska)

Zadanie 1. Liczba szkód N w ciągu roku z pewnego ryzyka ma rozkład geometryczny: k =

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Prawdopodobieństwo i statystyka

Wykład 1 Próba i populacja. Estymacja parametrów z wykorzystaniem metody bootstrap

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Niech X i Y będą niezależnymi zmiennymi losowymi o rozkładach wykładniczych, przy czym Y EX = 4 i EY = 6. Rozważamy zmienną losową Z =.

II WYKŁAD STATYSTYKA. 12/03/2014 B8 sala 0.10B Godz. 15:15

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Rozkład normalny Parametry rozkładu zmiennej losowej Zmienne losowe wielowymiarowe

STATYSTYKA wykład 1. Wanda Olech. Katedra Genetyki i Ogólnej Hodowli Zwierząt

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Prawdopodobieństwo. Prawdopodobieństwo. Jacek Kłopotowski. Katedra Matematyki i Ekonomii Matematycznej SGH. 16 października 2018

Optymalizacja. Przeszukiwanie lokalne

Wykład 2. Prawdopodobieństwo i elementy kombinatoryki

Rozkłady statystyk z próby

Metody probabilistyczne

Elementy modelowania matematycznego

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Prawdopodobieństwo i statystyka

Wstęp do rachunku prawdopodobieństwa

Wybrane rozkłady zmiennych losowych. Statystyka

Ogólnopolska Konferencja Aktuarialna Zagadnienia aktuarialne teoria i praktyka Warszawa, IE SGH 2009

Algorytmiczna teoria grafów

Przestrzeń probabilistyczna

Wykład 2: Tworzenie danych

Algorytmy w teorii liczb

MODELOWANIE STANÓW CZYNNOŚCIOWYCH W JĘZYKU SIECI BAYESOWSKICH

Wykład 13. Podstawowe pojęcia rachunku prawdopodobieństwa

Wybrane rozkłady zmiennych losowych. Statystyka

Wnioskowanie statystyczne i oparte na współczynnikach wiarygodności

Transkrypt:

Sztuczna Inteligencja i Systemy Doradcze Sieci bayessowskie Sieci bayessowskie 1

Niepewnosc Niech akcja A t = wyjedź na lotnisko t minut przed odlotem Czy A t pozwoli mi zdążyć na czas? Problemy: 1) informacja częściowa (stan ulic, plany innych kierowców, etc.) 2) niedokładne informacje (raport o korkach) 3) niepewność działania akcji (złapanie gumy, etc.) 4) ogromna złożoność modelowania i przewidywania ruchu Stąd czysto logiczne podejście albo 1) ryzykuje fałszywość: A 25 pozwoli mi zdążyć na czas albo 2) prowadzi do wniosków zbyt słabych do podjęcia decyzji: A 25 pozwoli mi zdążyć na czas jeśli nie będzie wypadku na moście i nie będzi padać i nie złapię gumy itd. (A 1440 mogłoby być uznane że rozsądnie zapewnia, że zdąże na czas, ale nie chcę czekać całą noc na lotnisku...) Sieci bayessowskie 2

Podstawy prawdopodobienstwa Ω przestrzeń próbek np. 6 możliwych wyników rzutu kostką. ω Ω jest punktem próbkowym/dopuszczalnym stanem świata/ zdarzeniem atomowym Przestrzeń prawdopobieństwa lub model prawdopodobieństwa to przestrzeń próbek z przypisaniem P(ω) dla każdego ω Ω spełniającego warunki 0 P(ω) 1 Σ ω P(ω) = 1 np. P(1) =P(2) =P(3) =P(4) =P(5) = P(6) = 1/6. Zdarzenie A jest podzbiorem Ω P(A) = Σ {ω A} P(ω) Np. P(rzut kostką < 4) = 1/6 + 1/6 + 1/6 = 1/2 Sieci bayessowskie 3

Zmienne losowe Zmienna losowa jest funkcją z przestrzeni próbek w pewien zbiór wartości, np. rzeczywistych lub boolowskich np. Odd(1) = true. P indukuje rozkład prawdopodobieństwa dla dowolnej zm. los. X: P(X = x i ) = Σ {ω:x(ω) =xi }P(ω) np. P(Odd =true) = 1/6 + 1/6 + 1/6 = 1/2 Sieci bayessowskie 4

Zdania Zdania reprezentują pewne zdarzenia (podzbiory przestrzeni próbek) w których są prawdziwe Boolowskie zmienne losowe np. Cavity (czy jestem osłabiony?) Dyskretne zmienne losowe (skończone lub nieskończone) np. Weather ma jedną wartość z sunny, rain, cloudy, snow W eather = rain jest zdaniem Wartości muszą być kompletne i wzajemnie się wykluczać Ciągłe zmienne losowe (ograniczone lub nieograniczone) np. emp = 21.6; można także emp < 22.0. Dowolne kombinacje boolowskie prostych zdań Sieci bayessowskie 5

Prawdopodobienstwo bezwarunkowe Bezwarunkowe prawdopodobieństwo zdań np. P(Cavity =true) = 0.1 i P(Weather =sunny) = 0.72 odpowiada przekonaniom przed dostarczeniem jakiejkolwiek (nowej) przesłanki Rozkład prawdopodobieństwa daje wartości dla wszystkich przypisań: P(W eather) = 0.72, 0.1, 0.08, 0.1 (znormalizowana: sumuje się do 1) Łączny rozkład prawdopodobieństwa dla zbioru zm. los. daje prawdopodobieństwa każdego zdarzenia atomowego na tych zm. los. (tzn. każdy punkt próbkowy) P(Weather, Cavity) = macierz wartości 4 2: W eather = sunny rain cloudy snow Cavity = true 0.144 0.02 0.016 0.02 Cavity = f alse 0.576 0.08 0.064 0.08 Każde pytanie o dziedzinę może być odpowiedziane przez łączny rozkład ponieważ każde zdarzenie jest sumą punktów próbkowych Sieci bayessowskie 6

Prawdopodobienstwo warunkowe Prawdopodobieństwo warunkowe lub a posteriori np. P(cavity toothache) = 0.8 tzn. zakładając, że toothache to to, o czym wiem NIE jeśli toothache to 80% szans na cavity Notacja rozkładów warunkowych: P(Cavity oothache) = 2-elementowy wektor 2-elementowych wektorów Jeśli wiemy więcej, np. cavity też jest dane, wtedy mamy P(cavity toothache, cavity) = 1 Uwaga: mniej specyficzne przekonania pozostają prawdziwe po dojściu nowych przesłanek, ale nie zawsze są użyteczne Nowe przesłanki mogą być nieistotne, umożliwiając upraszczanie, np. P(cavity toothache, 49ersW in) = P(cavity toothache) = 0.8 en rodzaj wnioskowania, uwarunkowany wiedzą dziedzinową, jest kluczowy Sieci bayessowskie 7

Prawdopodobienstwo warunkowe Definicja prawdopobieństwa warunkowego: P(a b) = P(a b) P(b) if P(b) 0 Reguła produkcji daje sformułowanie alternatywne: P(a b) = P(a b)p(b) = p(b a)p(a) Ogólna wersja zachodzi dla całych rozkładów, np. P(W eather, Cavity) = P(W eather Cavity)P(Cavity) (jako zbiór 4 2 równań, nie mnożenie macierzy) Reguła łańcuchowa otrzymywana przez kolejne zastosowania reguły produkcji: P(X 1,..., X n ) = P(X 1,..., X n 1 ) P(X n X 1,..., X n 1 ) = P(X 1,..., X n 2 ) P(X n1 X 1,..., X n 2 ) P(X n X 1,..., X n 1 ) =... = Π n i = 1P(X i X 1,..., X i 1 ) Sieci bayessowskie 8

Wnioskowanie przez wyliczanie Zazwyczaj interesuje nas rozkład warunkowy zadanych zmiennych Y przy danych specyficznych wartościach e dla zmiennych-przesłanek E Zmienne ukryte H = X Y E Ogólny pomysł: ustalamy zmienne-przesłanki i sumujemy prawdopodobieństwa po wartościach zmiennych ukrytych: P(Y E =e) = αp(y,e=e) = ασ h P(Y,E=e,H=h) Wyrażenia w sumowania są wartościami łącznego rozkładu ponieważ Y, E i H razem wyczerpują cały zbiór zmiennych losowych Problemy: 1) Złożoność czasowa O(d n ) gdzie d jest maks. liczbą wartości zmiennej 2) Złożoność pamięciowa O(d n ), żeby pamiętać łączny rozkład 3) Jak zbudować słownik wartości prawdopodobieństw dla O(d n ) punktów próbkowych??? Sieci bayessowskie 9

Niezaleznosc A i B są niezależne wtw P(A B) = P(A) lub P(B A) = P(B) lub P(A, B) = P(A)P(B) oothache Cavity Weather Catch decomposes into P( oothache, Catch, Cavity, W eather) = P( oothache, Catch, Cavity)P(W eather) Cavity oothache Catch Weather 32 wartości prawdopodobieństw zredukowane do 12; dla n niezależnych rzutów monetą 2 n n Pełna niezależność zmiennych jest bardzo efektywna, ale bardzo rzadka Sieci bayessowskie 10

Niezaleznosc warunkowa P(oothache, Cavity, Catch) wymaga 2 3 1 = 7 niezależnych wartości Jeśli mam osłabienie, prawdopodobieństwo, że złapię wtedy przeziębienie jest niezależne od tego, czy mam ból zęba: (1) P(catch toothache, cavity) = P(catch cavity) a sama niezależność pozostaje, jeśli nie mam osłabienia: (2) P(catch toothache, cavity) = P(catch cavity) Catch jest warunkowo niezależne od oothache przy danym Cavity: P(Catch oothache, Cavity) = P(Catch Cavity) Równoważne zdania: P( oothache Catch, Cavity) = P( oothache Cavity) P( oothache, Catch Cavity) = P( oothache Cavity)P(Catch Cavity) Sieci bayessowskie 11

Niezaleznosc warunkowa Używając pełnego łącznego rozkładu i reguły łańcuchowej: P( oothache, Catch, Cavity) = P( oothache Catch, Cavity)P(Catch, Cavity) = P( oothache Catch, Cavity)P(Catch Cavity)P(Cavity) = P( oothache Cavity)P(Catch Cavity)P(Cavity) zn. 2 + 2 + 1 = 5 niezależnych wartości (równania 1 i 2 usuwają 2) W większości przypadków użycie prawdopodobieństwa warunkowego redukuje rozmiar reprezentacji łącznego rozkładu z wykładniczego od n do linowego od n. Niezależność warunkowa jest najbardziej podstawową i efektywną formą wiedzy o niepewnym środowisku. Sieci bayessowskie 12

Regula Bayessa Reguła produkcytjna P(a b) = P(a b)p(b) = P(b a)p(a) reguła Bayessa P(a b) = P(b a)p(a) P(b) lub dla rozkładów P(Y X) = P(X Y )P(Y ) P(X) = αp(x Y )P(Y ) Użyteczne przy szacowaniu prawdopodobieństwa diagnostycznego na podstawie prawdopodobieństwa przyczynowego: P(Cause Effect) = P(Effect Cause)P(Cause) P(Effect) Np. M dolegliwość meningitis, S sztywnienie szyji: P(m s) = P(s m)p(m) P(s) = 0.8 0.0001 0.1 = 0.0008 Sieci bayessowskie 13

Regula Bayessa i niezaleznosc warunkowa P(Cavity toothache catch) = α P(toothache catch Cavity)P(Cavity) = α P(toothache Cavity)P(catch Cavity)P(Cavity) Model wnioskowania naiwny Bayessowski (zakłada niezależność obserwacji): P(Cause, Effect 1,..., Effect n ) = P(Cause)Π i P(Effect i Cause) Cavity Cause oothache Catch Effect 1 Effect n Całkowita liczba parametrów liniowa od n Sieci bayessowskie 14

Sieci bayessowskie Prosta, grafowa notacja do reprezentacji stwierdzeń o niezależności warunkowej i do zwartej specyfikacji pełnych rozkładów wielu zmiennych losowych Składnia: zbiór węzłów, jeden dla każdej zmiennej losowej skierowany graf acykliczny (strzałka bezpośrednio wpływa na ) dla każdego węzła rozkład warunkowy na podstawie rodziców: P(X i Parents(X i )) W najprostszym przypadku rozkład warunkowy reprezentowany jest jako tablica prawdopodobieństwa warunkowego (PW) dająca rozkład X i dla każdej kombinacji wartości rodziców Sieci bayessowskie 15

Sieci bayessowskie: przyklad opologia sieci koduje stwierdzenie o warunkowej niezależności: Weather Cavity oothache Catch Weather jest niezależna od innych zmiennnych oothache i Catch są warunkowo niezależne przy danym Cavity Sieci bayessowskie 16

Sieci bayessowskie: przyklad Jestem w pracy, sąsiad John dzwoni do mnie, mówiąc mi, że mój alarm domowy się włączył, ale sąsiadka Mary nie dzwoni. Czasami alarm włącza się przy drobnych trzęsieniach ziemi. Czy to jest włamanie? Zmienne: Burglar, Earthquake, Alarm, JohnCalls, MaryCalls opologia sieci odzwierciedla wiedzę przyczynowo-skutkową : Włamywacz może uruchomić alarm rzęsienie ziemi może uruchomić alarm Uruchomiony alarm może spowodować, że Mary zadzwoni Uruchomiony alarm może spowodować, że John zadzwoni Sieci bayessowskie 17

Sieci bayessowskie: przyklad Burglary P(B).001 Earthquake P(E).002 B E P(A B,E).95.94.29.001 Alarm JohnCalls A P(J A).90.05 MaryCalls A P(M A).70.01 Sieci bayessowskie 18

Zwartosc reprezentacji sieci z k boolowskimi zmiennymi-rodzicami B E PW dla boolowskiej zmiennej X i ma 2 k wierszy będących kombinacjami wartości zmiennych-rodziców A Każdy wiersz PW wymaga jednej wartości prawd. p dla X i = true (prawdopodobieństwo dla X i =false jest 1 p) J M Jeśli każda zmienna ma co najwyżej k rodziców, to pełna sieć wymaga O(n 2 k ) wartości prawdopodobieństw zn. rośnie liniowo z n, vs. O(2 n ) dla pełnego rozkładu łącznego Dla sieci z włamaniem, 1 + 1 + 4 + 2 + 2 = 10 wartości prawdopodobieństw (vs. 2 5 1 = 31) Sieci bayessowskie 19

Globalna semantyka Globalna semantyka definiuje pełny rozkład łączny jako produkt lokalnych rozkładów warunkowych: P(X 1,..., X n ) = Π n i = 1P(X i Parents(X i )) np. P(j m a b e) = B J A E M Sieci bayessowskie 20

Globalna semantyka Globalna semantyka definiuje pełny rozkład łączny jako produkt lokalnych rozkładów warunkowych: P(X 1,..., X n ) = Π n i = 1P(X i Parents(X i )) np. P(j m a b e) = P(j a)p(m a)p(a b, e)p( b)p( e) B J A E M Sieci bayessowskie 21

Lokala semantyka Lokalna semantyka: każdy węzeł jest warunkowo niezależny przy danych rodzicach od pozostałych węzłów nie będących jego potomkami U 1... U m Z 1j X Z nj Y 1... Y n wierdzenie: Lokalna semantyka globalna semantyka Sieci bayessowskie 22

Konstruowanie sieci bayessowskiej Wymaga metody takiej, że ciąg lokalnie testowalnych zależności warunkowych nadaje znaczenie globalne 1. Wybierz uporządkowanie zmiennych los. X 1,..., X n 2. Dla każdego i = 1 do n dodaj X i do sieci wybierz rodziców X 1,..., X i 1 takich, że P(X i Parents(X i )) = P(X i X 1,..., X i 1 ) Wybór rodziców gwarantuje znaczenie globalne: P(X 1,..., X n ) = Π n i = 1P(X i X 1,..., X i 1 ) (reguła łańcuchowa) = Π n i = 1P(X i Parents(X i )) (przez konstrukcję) Sieci bayessowskie 23

Konstruowanie sieci bayessowskiej: przyklad Załóżmy, że wybieramy M, J, A, B, E MaryCalls JohnCalls P(J M) = P(J)? Sieci bayessowskie 24

Konstruowanie sieci bayessowskiej: przyklad Załóżmy, że wybieramy M, J, A, B, E MaryCalls JohnCalls Alarm P(J M) = P(J)? Nie P(A J, M) = P(A J)? P(A J, M) = P(A)? Sieci bayessowskie 25

Konstruowanie sieci bayessowskiej: przyklad Załóżmy, że wybieramy M, J, A, B, E MaryCalls JohnCalls Alarm Burglary P(J M) = P(J)? Nie P(A J, M) = P(A J)? P(A J, M) = P(A)? P(B A, J,M) = P(B A)? P(B A, J,M) = P(B)? Nie Sieci bayessowskie 26

Konstruowanie sieci bayessowskiej: przyklad Załóżmy, że wybieramy M, J, A, B, E MaryCalls JohnCalls Alarm Burglary Earthquake P(J M) = P(J)? Nie P(A J, M) = P(A J)? P(A J, M) = P(A)? P(B A, J,M) = P(B A)? ak P(B A, J,M) = P(B)? Nie P(E B,A, J,M) = P(E A)? P(E B,A, J,M) = P(E A, B)? Nie Sieci bayessowskie 27

Konstruowanie sieci bayessowskiej: przyklad Załóżmy, że wybieramy M, J, A, B, E MaryCalls JohnCalls Alarm Burglary Earthquake P(J M) = P(J)? Nie P(A J, M) = P(A J)? P(A J, M) = P(A)? P(B A, J,M) = P(B A)? ak P(B A, J,M) = P(B)? Nie P(E B,A, J,M) = P(E A)? Nie P(E B,A, J,M) = P(E A, B)? ak Nie Sieci bayessowskie 28

Konstruowanie sieci bayessowskiej: przyklad MaryCalls JohnCalls Alarm Burglary Earthquake Rozpoznawanie warunkowych niezależności i oszacowanie prawdopodobieństw warunkowych jest trudne dla ludzi w nie przyczynowo-skutkowych kierunkach Sieć jest mniej zwarta: 1 + 2 + 4 + 2 + 4 = 13 wartości prawdopodobieństw jest potrzebne Sieci bayessowskie 29

Siec bayessowska: diagnoza samochodu Początkowa przesłanka: samochód nie zapala Zmienne testowalne (zielone), zmienne zepsute, napraw to (pomarańczowe), zmienne ukryte (szare) rozrzedzają strukturę, redukują parametry battery age alternator broken fanbelt broken battery dead no charging battery meter battery flat no oil no gas fuel line blocked starter broken lights oil light gas gauge car won t start dipstick Sieci bayessowskie 30

Siec bayessowska: ubezpieczenie samochodu Age GoodStudent RiskAversion Seniorrain SocioEcon Mileage VehicleYear ExtraCar DrivingSkill MakeModel DrivingHist Antilock DrivQuality Airbag CarValue HomeBase Antiheft Ruggedness Accident OwnDamage heft Cushioning OtherCost OwnCost MedicalCost LiabilityCost PropertyCost Sieci bayessowskie 31

Wnioskowanie w sieci bayesowskiej Wnioskowanie dokładne Przez wyliczanie wartości Przez eliminację zmiennych Wnioskowanie aproksymacyjne Przez symulację stochastyczną metodą Monte Carlo z łancucha Markowa Sieci bayessowskie 32

Wnioskowanie przez wyliczanie wartosci Sumowanie iloczynów z prawdopodobieństw brzegowych bez faktycznego konstruowania ich jawnej reprezentacji, przy użyciu prawdopodobieństw warunkowych z sieci bayessowskiej Proste zapytanie w sieci z alarmem domowym: P(B j, m) = P(B, j, m)/p(j, m) = αp(b, j, m) = ασ e Σ a P(B,e, a, j, m) B J A E M Przechodząc po zmiennych w kolejności zgodnej z siecią (np. B,E, A, J, M) wyciągamy sumowanie po kolejnych zmiennych na zewnąrz wyrażenia i używamy wartości prawdopodobieństw z tablic PW: P(B j, m) = ασ e Σ a P(B)P(e)P(a B,e)P(j a)p(m a) = αp(b)σ e P(e)Σ a P(a B,e)P(j a)p(m a) Sieci bayessowskie 33

Wyliczanie wartosci: algorytm function Enumeration-Ask(X,e,bn) returns a distribution over X inputs: X, the query variable e, observed values for variables E bn, a Bayesian network with variables {X} E Y Q(X ) a distribution over X, initially empty for each value x i of X do extend e with value x i for X Q(x i ) Enumerate-All(Vars[bn],e) return Normalize(Q(X)) function Enumerate-All(vars,e) returns a real number if Empty?(vars) then return 1.0 Y irst(vars) if Y has value y in e then return P(y P arent(y )) Enumerate-All(Rest(vars), e) else return Σ y P(y Parent(Y )) Enumerate-All(Rest(vars),e y ) where e y is e extended with Y = y Sieci bayessowskie 34

Wyliczanie wartosci: dzialanie P(b).001 P(e).002 P( e).998 P(a b,e) P( a b,e) P(a b, e) P( a b, e).95.05.94.06 P(j a).90 P(j a).05 P(j a).90 P(j a).05 P(m a) P(m a).70.01 P(m a) P(m a).70.01 Rekurencyjne wyliczanie zmiennych w głąb sieci: O(n) pamięci, O(d n ) czasu Sieci bayessowskie 35

Wyliczanie wartosci: dzialanie P(b).001 P(e).002 P( e).998 P(a b,e) P( a b,e) P(a b, e) P( a b, e).95.05.94.06 P(j a).90 P(j a).05 P(j a).90 P(j a).05 P(m a) P(m a).70.01 P(m a) P(m a).70.01 Wyliczanie jest nieefektywne: powtarza obliczenia np. liczy P(j a)p(m a) dla każdej wartości e Sieci bayessowskie 36

Wnioskowanie przez eliminacje zmiennych Eliminacja zmiennych: wykonuje sumowanie z prawej do lewej, pamięta wyniki pośrednie (czynniki) w celu uniknięcia powtórzeń P(B j, m) = αp(b) } {{ } B f M (A) = Σ e P(e) } {{ } E Σ a P(a B,e) } {{ } A P(j a) } {{ } J = αp(b)σ e P(e)Σ a P(a B, e)p(j a)f M (a) = αp(b)σ e P(e)Σ a P(a B, e)f JM (a) = αp(b)σ e P(e)f ĀJM (b, e) = αp(b)f ĒĀJM (b) = αf B (b) f ĒĀJM (b) P(m a) P(m a) P(m a) } {{ } M, f JM (A) = f J (A) f M (A) = f A (A, B,E) jest macierzą 2 2 2 dla wszystkich wartości A, B, E f ĀJM (B, E) = f A (a, B, E) f JM (a) + f A ( a, B, E) f JM ( a) f ĒĀJM (B, E) = f E (e) f ĀJM (B, e) + f E ( e) f ĀJM (B, e) P(j a)p(m a) P(j a)p(m a) Sieci bayessowskie 37

Eliminacja zmiennych: algorytm function Elimination-Ask(X,e,bn) returns a distribution over X inputs: X, the query variable e, evidence specified as an event bn, a belief network specifying joint distribution P(X 1,..., X n ) factors [ ]; vars Reverse(Vars[bn]) for each var in vars do factors [Make-actor(var, e) factors] if var is a hidden variable then factors Sum-Out(var, factors) return Normalize(Pointwise-Product(factors)) Sieci bayessowskie 38

Eliminacja zmiennych: zmienne nieistotne Rozważmy zapytanie P(JohnCalls Burglary = true) P(J b) = αp(b)σ e P(e)Σ a P(a b,e)p(j a)σ m P(m a) Suma po m jest równa 1; M jest nieistotne dla zapytania Można pominąć sumowanie po zmiennych nieistotnych B J A E M w 1: Y jest nieistotne jeśli Y Ancestors({X} E) utaj X = JohnCalls, E = {Burglary}, i Ancestors({X} E) = {Alarm, Earthquake} więc M jest nieistotne Sieci bayessowskie 39

Eliminacja zmiennych: zmienne nieistotne Def: moralny graf sieci bayessowskiej (nieskierowany): zawiera krawędzie z oryginalnej sieci bez kierunku oraz krawędzie pomiędzy każdą parą rodziców mającą wspólne dziecko Def: A jest m-odseparowane od B przez C wtw gdy jest odseparowane przez C w grafie moralnym w 2: Y jest nieistotne jeśli jest m-odseparowane od X przez E B E Dla P(JohnCalls Alarm = true), obie Burglary i Earthquake są nieistotne J A M Sieci bayessowskie 40

L L L L Zlozonosc dokladnego wnioskowania Sieci pojedynczych połączeń (polidrzewa): każde dwa wierzchołki połączone są co najwyżej jedną ścieżką złożoność czasowa i pamięciowa algorytmu eliminacji zmiennych O(d k n) Sieci wielokrotnych połączeń: można zredukować 3SA do dokładnego wnioskowania NP-trudne równoważne zliczaniu modeli 3SA #P-zupełne 0.5 0.5 0.5 0.5 A B C D 1. A v B v C 2. C v D v A 1 2 3 3. B v C v D AND Sieci bayessowskie 41

Wnioskowanie przez symulacje stochastyczna Podstawowy pomysł: 1) Losuj N próbek z rozkładem próbkowym S 2) Oblicz aproksymacyjne prawdopodobieństwo wynikowe ˆP 3) Udowodnij zbieżność do prawdopodobieństwa faktycznego P Wnioskowanie stochastyczne bezwarunkowe (bez przesłanek): Próbkowanie bezpośrednie 0.5 Coin Wnioskowanie stochastyczne warunkowe (z przesłankami): Próbkowanie z odrzucaniem: odrzuca próbki niezgodne z przesłankami Ważenie prawdopodobieństwa próbek: używa przesłanek do ważenia prawdopodobieństwa próbek Monte Carlo z łancucha Markowa (MCMC): próbkuje z procesu stochastycznego, w którym proawdopodobieństo stacjonarne jest rzeczywistym prawdopodobieństwem warunkowym Sieci bayessowskie 42

Probkowanie bezposrednie function Direct-Sampling(X, bn, N) returns an estimate of P(X) local variables: N, a vector of counts over X, initially zero for j = 1 to N do x Prior-Sample(bn) N[x] N[x]+1 where x is the value of X in x return Normalize(N[X]) function Prior-Sample(bn) returns an event sampled from bn inputs: bn, a belief network specifying joint distribution P(X 1,..., X n ) x an event with n elements for i = 1 to n do x i a random sample from P(X i Parents(X i )) return x Sieci bayessowskie 43

Probkowanie bezposrednie: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 Sieci bayessowskie 44

Probkowanie bezposrednie: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 Sieci bayessowskie 45

Probkowanie bezposrednie: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 Sieci bayessowskie 46

Probkowanie bezposrednie: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 Sieci bayessowskie 47

Probkowanie bezposrednie: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 Sieci bayessowskie 48

Probkowanie bezposrednie: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 Sieci bayessowskie 49

Probkowanie bezposrednie: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 Sieci bayessowskie 50

Probkowanie bezposrednie: wlasnosci Prawdopodobieństwo, że PriorSample generuje dane zdarzenie S PS (x 1... x n ) = Π n i = 1P(x i Parents(X i )) = P(x 1... x n ) to odpowiada prawdopodobieństwu faktycznemu tego zdarzenia Np. S PS (t, f, t, t) = 0.5 0.9 0.8 0.9 = 0.324 = P(t, f, t, t) N PS (x 1... x n ) liczbą próbek wygenerowanych dla zdarzenia x 1,..., x n Wtedy lim N ˆP(x 1,..., x n ) = lim N N PS(x 1,..., x n )/N = S PS (x 1,..., x n ) = P(x 1... x n ) Powyższą własność algorytmu DirectSampling nazywamy spójnością Notacja: ˆP(x1,..., x n ) P(x 1... x n ) Sieci bayessowskie 51

Probkowanie z odrzucaniem ˆP(X e) szacowane z próbek zgodnych z przesłankami e function Rejection-Sampling(X, e, bn, N) returns an estimate of P(X e) local variables: N, a vector of counts over X, initially zero for j = 1 to N do x Prior-Sample(bn) if x is consistent with e then N[x] N[x]+1 where x is the value of X in x return Normalize(N[X]) Np. oszacowanie P(Rain Sprinkler = true) przy użyciu 100 próbek 27 próbek ma Sprinkler = true Z tego, 8 ma Rain =true i 19 ma Rain =false. ˆP(Rain Sprinkler = true) = Normalize( 8, 19 ) = 0.296, 0.704 Sieci bayessowskie 52

Probkowanie z odrzucaniem: wlasnosci ˆP(X e) = αn PS (X,e) (wynik algorytmu RejectionSampling) = N PS (X,e)/N PS (e) (normalizowane przez N PS (e)) P(X, e)/p(e) (własność PriorSample) = P(X e) (prawdopodobieństwo faktyczne) Zatem próbkowanie z odrzucaniem ma własność spójności tzn. oszacowanie zbiega do faktycznego prawdopodobieństwa warunkowego Problem: bardzo kosztowne jeśli P(e) jest małe P(e) rozpada się wykładniczo wraz z liczbą zmiennych! Sieci bayessowskie 53

Wazenie prawdopodobienstwa probek Pomysł: ustala zmienne z przesłanek, próbkuje tylko zmienna spoza przesłanek, i waży prawdopodobieństwo każdej próbki stosownie do przesłanek function Likelihood-Weighting(X, e, bn, N) returns an estimate of P(X e) local variables: W, a vector of weighted counts over X, initially zero for j = 1 to N do x, w Weighted-Sample(bn) W[x] W[x] + w where x is the value of X in x return Normalize(W[X ]) function Weighted-Sample(bn,e) returns an event and a weight x an event with n elements; w 1 for i = 1 to n do if X i has a value x i in e then w w P(X i = x i Parents(X i )) else x i a random sample from P(X i Parents(X i )) return x, w Sieci bayessowskie 54

Wazenie prawdopodobienstwa probek: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 w = 1.0 Sieci bayessowskie 55

Wazenie prawdopodobienstwa probek: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 w = 1.0 Sieci bayessowskie 56

Wazenie prawdopodobienstwa probek: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 w = 1.0 Sieci bayessowskie 57

Wazenie prawdopodobienstwa probek: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 w = 1.0 0.1 Sieci bayessowskie 58

Wazenie prawdopodobienstwa probek: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 w = 1.0 0.1 Sieci bayessowskie 59

Wazenie prawdopodobienstwa probek: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 w = 1.0 0.1 Sieci bayessowskie 60

Wazenie prawdopodobienstwa probek: przyklad P(C).50 Cloudy C P(S C).10.50 Sprinkler Rain C P(R C).80.20 S R Wet Grass P(W S,R).99.90.90.01 w = 1.0 0.1 0.99 = 0.099 Sieci bayessowskie 61

Wazenie prawdopodobienstwa probek: wlasnosci Prawdopodobieństwo próbki ważonej WeightedSample wynosi S WS (z,e) = Π l i = 1P(z i Parents(Z i )) Uwaga: S WS uwzględnia tylko przesłanki z przodków z i daje prawdopodobieństwo pośrednie pomiędzy prawdopodobieństwem a priori i a posteriori Sprinkler Cloudy Rain Waga dla danej próbki z,e wynosi w(z,e) = Π m i = 1P(e i Parents(E i )) Wet Grass Ważone prawdopodobieństwo próbkowe: S WS (z,e)w(z,e) = Π l i = 1P(z i Parents(Z i )) Π m i = 1P(e i Parents(E i )) = P(z,e) (ze standardowej, globalnej semantyki sieci) Stąd ważenie prawdopodobieństwa też ma własność spójności ale efektywność nadal maleje przy dużej liczbie przesłanek ponieważ bardzo mało próbek ma dużą wagę Sieci bayessowskie 62

Monte Carlo dla lancucha Markowa Stan sieci: bieżące przypisanie wszystkich zmiennych Łańcuch Markowa: ciąg stanów sieci, następny stan jest generowany poprzez próbkowanie jednej zmiennej nie będącej przesłanką na podstawie jej koca Markowa function MCMC-Ask(X, e, bn, N) returns an estimate of P(X e) local variables: N[X ], a vector of counts over X, initially zero Z, the nonevidence variables in bn x, the current state of the network, initially copied from e initialize x with random values for the variables in Y for j = 1 to N do N[x] N[x] + 1 where x is the value of X in x for each Z i in Z do sample the value of Z i in x from P(Z i MB(Z i )) given the values of MB(Z i ) in x return Normalize(N[X ]) Sieci bayessowskie 63

Koc Markowa Każdy węzeł jest warunkowo niezależny od wszystkich pozostałych przy danym jego kocu Markowa: rodzice + dzieci + inni rodzice dzieci U 1... U m Z 1j X Z nj Y 1... Y n Sieci bayessowskie 64

Koc Markowa: przyklad Koc Markowa dla Cloudy: Sprinkler i Rain Koc Markowa dla Rain: Cloudy, Sprinkler i WetGrass Sprinkler Cloudy Wet Grass Prawdopodobieństwo warunkowe przy danym kocu Markowa: P(x i MB(X i )) = P(x i Parents(X i ))Π Zj Children(X i )P(z j Parents(Z j )) Rain Sieci bayessowskie 65

Lancuch Markowa Przy przesłankach Sprinkler = true, W etgrass = true łancuch Markowa zawiera 4 stany: Cloudy Cloudy Sprinkler Rain Sprinkler Rain Wet Grass Wet Grass Cloudy Cloudy Sprinkler Rain Sprinkler Rain Wet Grass Wet Grass Sieci bayessowskie 66

Monte Carlo dla lancucha Markowa: przyklad Szacowanie P(Rain Sprinkler = true, W etgrass = true) Algorytm powtarza próbkowanie zmiennych Cloudy i Rain na podstawie ich koca Markowa. Zlicza, ile razy Rain było true i false w kolejnych stanach sieci. Np. odwiedza 100 stanów 31 ma Rain = true, 69 ma Rain =false ˆP(Rain Sprinkler = true, W etgrass = true) = Normalize( 31, 69 ) = 0.31, 0.69 Sieci bayessowskie 67

Monte Carlo dla lancucha Markowa: wlasnosci wierdzenie: łańcuch zbiega do rozkładu stacjonarnego ( spójność): proporcja czasu spędzonego w danym stanie w czasie długiego działania sieci jest dokładnie propocjonalna do faktycznego prawdopodobieństwa warunkowego Zalety Metoda nie jest wrażliwa na topologię sieci Można stosować do zmiennych dyskretnych i ciągłych Wady Zbieżność może być wolna rudno określić moment, w którym algorytm daje już bliskie rozwiązanie Może być czasowo rozrzutny, jeśli występują duże koce Markowa: P(X i MB(X i )) nie zmienia się dużo (Prawo Wielkich Liczb) a jest liczone za każdym razem Sieci bayessowskie 68