MEiL - Politechnika Warszawska
Transkrypt
MEiL - Politechnika Warszawska
POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inŜ. Franciszek Dul © F.A. Dul 2014 14. WNIOSKOWANIE STATYSTYCZNE W SIECI BAYESA © F.A. Dul 2014 Wnioskowanie statystyczne PokaŜemy, jak zbudować model probabilistyczny świata w postaci tzw. sieci Bayesa, który posłuŜy do efektywnego wnioskowania w warunkach niepewności. © F.A. Dul 2014 14.1. Sieci Bayesa Sieć Bayesa jest to graf acykliczny skierowany, który umoŜliwia zapis graficzny zaleŜności warunkowej zdarzeń. Sieć Bayesa: • umoŜliwia intuicyjne ujęcie zaleŜności przyczynowych pomiędzy zmiennymi, • pozwala przedstawić zwięźle rozkład łączny prawdopodobieństwa. P(Z )=0.12 Składnia sieci Bayesa: 1 – zbiór węzłów, po jednym dla kaŜdej zmiennej losowej (węzły grafu), – połączenia odpowiadające zaleŜnościom pomiędzy zmiennymi (krawędzie grafu), – rozkład prawdopodobieństwa warunkowego kaŜdego węzła przy znanych wartościach rozkładu prawdopodobieństwa rodziców, P(Xi | Rodzice(Xi)) Zmienna1 Zmienna2 Z1 P (Z2|Z1) t 0.80 f 0.20 Zmienna3 Z1 P(Z3|Z1) t 0.45 f 0.06 Rozkład warunkowy jest przedstawiany najczęściej w postaci tablic prawdopodobieństwa warunkowego (conditional probability table, CPT), które podają rozkład prawdopodobieństwa warunkowego dla Xi dla kaŜdej kombinacji wartości rodziców. © F.A. Dul 2014 14.1. Sieci Bayesa Przykład sieci Bayesa Sieć Bayesa dla modelu opisującego zaleŜności pomiędzy bólem zęba, ubytkiem, wykryciem ubytku oraz pogodą. • Zmienne losowe zadania: BólZęba, Ubytek, Wykrycie oraz Pogoda. Ubytek Pogoda BólZęba Wykrycie • BólZęba i Wykrycie są niezaleŜne warunkowo przy danej wartości zmiennej Ubytek. • Pogoda jest niezaleŜna od pozostałych zmiennych (i vice versa). Topologia sieci Bayesa pozwala opisać niezaleŜność absolutną lub warunkową zmiennych. © F.A. Dul 2014 14.1. Sieci Bayesa Bardziej złoŜony przykład sieci Bayesa Opis problemu Jestem w pracy. Dzwoni do mnie sąsiad Jan z informacją, Ŝe uruchomił się alarm w moim domu. Druga sąsiadka, Maria, nie dzwoni. Alarm jest czasami włączany przez róŜne wstrząsy. Czy miało miejsce włamanie do mojego domu? • Zmienne losowe (w nawiasach nazwy skrócone): Włamanie (W), Wstrząsy (S), Alarm (A), MariaDzwoni (M), JanDzwoni (J). • Wiedza o zadaniu: – Alarm moŜe uruchomić włamywacz. – Alarm mogą teŜ uruchomić wstrząsy, np. od przelatującego samolotu. – Włączony alarm moŜe (ale nie musi) skłonić Marię lub Jana do zadzwonienia do mnie. Topologia sieci Bayesa powinna odzwierciedlać powyŜszą wiedzę przyczynową. © F.A. Dul 2014 14.1. Sieci Bayesa Sieć Bayesa dla problemu włamania P(W) 0.001 P(S) 0.002 Włamanie W T T F F S P(A|W,S) 0.95 T 0.94 F 0.29 T F 0.01 Jan Dzwoni A P(J|A) T 0.90 F 0.05 Wstrząsy Alarm Maria Dzwoni A T F P(M|A) 0.70 0.01 © F.A. Dul 2014 14.1. Sieci Bayesa Zwartość reprezentacji za pomocą sieci Bayesa • Rozmiar zadania jest równy liczbie wszystkich elementów w tablicach prawdopodobieństw warunkowych. (Dla problemu włamania jest to 1+1+4+2+2=10 prawdopodobieństw). • JeŜeli jest n zmiennych i kaŜda zmienna ma nie więcej niŜ k rodziców to cała sieć opisana jest za pomocą O(n·2k) liczb. • Rozmiar rośnie więc liniowo względem n, w przeciwieństwie do wzrostu wykładniczego O(2n) dla pełnego rozkładu łącznego. • Dla problemu włamania tabela prawdopodobieństwa łącznego zawiera 25 -1 = 31 prawdopodobieństw. S W A J M © F.A. Dul 2014 14.2. Semantyka sieci Bayesa Rozkład łączny prawdopodobieństwa jest iloczynem rozkładów węzłowych P ( X 1 ,..., X n ) = ∏ n i =1 P ( X i | Rodzice( X i ) ) Wnioskowanie na podstawie sieci Bayesa jest analogiczne do wnioskowania z rozkładu łącznego. Przykład W problemie włamania wyznaczyć rozkład prawdopodobieństwa dla zdarzenia Z = „Jan dzwoni, Maria dzwoni, alarm działa, nie ma włamania i nie ma wstrząsów” = (j ∧ m ∧ a ∧ ¬w ∧ ¬s ) P(S) P(W) P( j ∧ m ∧ a ∧ ¬w ∧ ¬s ) = 0.002 0.001 = P(j | a) × P(m | a)× Wstrząsy Włamanie × P(a | ¬w, ¬s) × P(¬w) × P(¬s) W S P(A|W,S) T T 0.95 = 0.90× 0.70 Alarm T F 0.94 A P(M|A) F T 0.29 × 0.01 T 0.70 F F 0.01 F 0.01 A P(J|A) × 0.999× 0.998 T 0.90 Maria Dzwoni Jan Dzwoni F 0.05 = 0.0062 © F.A. Dul 2014 14.2. Semantyka sieci Bayesa Budowanie sieci Bayesa 1. Wybrać porządek zmiennych losowych X1, … ,Xn ; 2. Dla i = 1, … , n : – dodać Xi do sieci; – wybrać spośród X1, … ,Xi-1 takich rodziców, dla których P(Xi | Rodzice(Xi)) = P(Xi | X1, ... Xi-1) i narysować odpowiednie strzałki w sieci. Uwaga! Wybór ten nie musi być jednoznaczny. Taki wybór rodziców gwarantuje właściwe reprezentowanie rozkładu łącznego: P(X1, … ,Xn) = ∏ i =1 P(Xi | X1, … , Xi-1) (reguła łańcuchowa) = ∏ i =1 P(Xi | Rodzice(Xi)) (z konstrukcji) © F.A. Dul 2014 14.2. Semantyka sieci Bayesa Topologia sieci oraz jej zwartość zaleŜą od początkowego wyboru porządku zmiennych. Przykład ZałóŜmy, Ŝe wybraliśmy porządek zmiennych: M, J, A, W, S; P(J | M) = P(J)? Nie Maria Dzwoni P(A | J, M) = P(A | J)? Nie Jan Dzwoni P(A | J, M) = P(A)? Nie P P(W | A, J, M) = P(W)? P Nie P(W | A, J, M) = P(W | A)? Tak P(S | W, A ,J, M) = P(S | A)? Nie P(S | W, A, J, M) = P(S | A, W)? Tak Alarm Włamanie Wstrząsy Taki porządek zmiennych wprowadził dwie nowe krawędzie. Sieć jest mniej zwarta niŜ poprzednio: trzeba zapamiętać 1 + 2 + 4 + 2 + 4 = 13 prawdopodobieństw. © F.A. Dul 2014 14.2. Semantyka sieci Bayesa Określenie właściwej topologii sieci jest sztuką. Włamanie Maria Dzwoni Maria Dzwoni Wstrząsy Jan Dzwoni Jan Dzwoni Alarm Wstrząsy Alarm Włamanie Jan Dzwoni Maria Dzwoni a)10 prawdopodobieństw Włamanie Wstrząsy b) 13 prawdopodobieństw Alarm c) 31 prawdopodobieństw Wszystkie powyŜsze sieci są równowaŜne, ale: • sieć (a) jest typu „przyczyna ⇒ skutek”. • sieć (b) jest typu „skutek ⇒ przyczyna”. • sieć (c) ma topologię „nadmiarową” odpowiadającą pełnemu rozkładowi łącznemu. Wnioskowanie przyczyna ⇒ skutek prowadzi zazwyczaj do sieci o najprostszej topologii. WaŜne jest aby nie pominąć istotnych zaleŜności pomiędzy zmiennymi. © F.A. Dul 2014 14.4. Wnioskowanie ścisłe w sieci Bayesa Prawdopodobieństwo zmiennej X przy danych wartościach zmiennych E = e jest równe P( X | e ) = α P( X , e ) = α ∑ P( X , e , y ) y Wyznaczmy w zagadnieniu włamania prawdopodobieństwo zdarzenia P(Wlamanie|JanDzwoni=prawda,MariaDzwoni=prawda) P(W | j , m ) = α P(W , j , m ) = α ∑∑ P(W , s, a, j , m) s a gdzie: j = (JanDzwoni=prawda), m = (MariaDzwoni=prawda) Zmienne ukryte y: a =Alarm, s = Wstrzasy Dla przypadku w = (Włamanie=prawda) otrzymujemy P(w | j , m ) = α ∑∑ P ( w) P( s ) P(a | w, s ) P( j | a ) P (m | a ) s a Po przegrupowaniu składników otrzymujemy P(w | j , m ) = α P ( w)∑ P ( s )∑ P (a | w, s ) P ( j | a ) P(m | a ) s a © F.A. Dul 2014 14.4. Wnioskowanie ścisłe w sieci Bayesa Wyznaczenie prawdopodobieństwa dla w = (Włamanie=prawda) P(w | j , m ) = α P ( w)∑ P ( s )∑ P(a | w, s ) P( j | a ) P (m | a ) P(B) 0.001 Włamanie B T T F F E T F T F P(A|B,E) 0.95 0.94 0.29 0.01 Jan Dzwoni s P(E) 0.002 Wstrząsy P(w|j,m) = α × 0.000592238 P(w) 0.001 Alarm A P(J|A) T 0.90 F 0.05 A T F P(M|A) 0.70 0.01 0.592238 Maria Dzwoni P(s) 0.002 0.598525 0.5985 P(a|w,s) 0.95 0.01197 0.591041 0.59223 + 0.000025 P(¬a|w,s) 0.05 P(a|w,¬s) 0.94 0.70 P(m|¬a) 0.01 0.0005 P(j|¬a) 0.05 P(j|a) 0.90 0.01 0.5922 0.00003 P(¬a|w,¬s) 0.06 0.63 0.0005 P(j|¬a) 0.05 P(j|a) 0.90 P(¬s) 0.998 + + 0.63 P(m|a) 0.70 a 0.70 P(m|a) 0.70 P(m|¬a) 0.01 0.01 © F.A. Dul 2014 14.4. Wnioskowanie ścisłe w sieci Bayesa Wyznaczenie prawdopodobieństwa dla ¬w = (Włamanie=fałsz) P(¬w | j , m ) = α P (¬w)∑ P ( s )∑ P (a | ¬w, s ) P ( j | a ) P(m | a ) P(B) 0.001 Włamanie B T T F F E T F T F P(A|B,E) 0.95 0.94 0.29 0.01 Jan Dzwoni s P(E) 0.002 Wstrząsy P(¬w|j,m) = α × 0.001492 P(¬w) 0.999 Alarm A P(J|A) T 0.90 F 0.05 A T F P(M|A) 0.70 0.01 0.001493 Maria Dzwoni P(s) 0.002 0.183055 0.1827 P(a|¬w,s) 0.29 0.000366 0.001127 0.00113 + 0.000355 P(¬a|¬w,s) 0.71 P(a|¬w,¬s) 0.00063 0.001 P(j|¬a) 0.05 P(m|¬a) 0.01 P(¬a|¬w,¬s) 0.999 0.0005 P(j|¬a) 0.05 P(j|a) 0.90 0.01 0.0005 0.63 0.0005 0.70 P(m|a) 0.70 P(¬s) 0.998 + + 0.63 P(j|a) 0.90 a 0.70 P(m|a) 0.70 P(m|¬a) 0.01 0.01 © F.A. Dul 2014 14.4. Wnioskowanie ścisłe w sieci Bayesa Prawdopodobieństwo zdarzenia P(W | j,m) jest więc równe P(W | j , m ) = 〈 P (w | j , m ) , P (¬w | j , m ) 〉 = 〈 α × 0.000592 , α × 0.001492 〉 α = 1 /(0.000592 + 0.001492) = 479.8245 P(W | j , m ) = 479.8245 × 〈 0.000592 , 0.001492 〉 = = 〈 0.284 , 0.716 〉 Oznacza to, Ŝe prawdopodobieństwo włamania gdy dzwonią oboje sąsiedzi wynosi ok. 28% Wady wnioskowania ścisłego w sieciach Bayesa: • Składniki wyraŜenia dla prawdopodobieństwa są obliczane wielokrotnie, np. P(j|a)P(m|a) czy P(j|¬a)P(m|¬a). • ZłoŜoność obliczeniowa dla sieci z n zmiennymi boolowskimi jest wykładnicza - O(2n) ale jest niŜsza niŜ w przypadku ogólnym, w którym jest równa O(n ·2n). © F.A. Dul 2014 14.5. Wnioskowanie przybliŜone w sieci Bayesa Ze względu na wielką złoŜoność obliczeniową wyznaczania prawdopodobieństwa na podstawie sieci Bayesa w praktyce stosuje się najczęściej wnioskowania przybliŜone. Algorytm Monte Carlo próbkowania zmiennych losowych Idea: przy duŜej liczbie próbkowań prawdopodobieństwo określone jako liczba próbek danej wartości zmiennej w stosunku do liczby wszystkich próbkowań dąŜy do wartości dokładnej, ∑ N ( x) P ( x ) = lim N →∞ N Przykład: rzut monetą, Moneta = 〈 orzeł , reszka 〉, prawdopodobieństwo ścisłe P(Moneta) = 〈 0.5 , 0.5 〉, zaś przybliŜone ∑ N (reszka ) ∑ N (orzeł ) PN (reszka ) ≈ PN (orzeł ) ≈ N N Przykład: kolejne rzuty monetą prowadzą do oszacowań: PN (reszka ) = { 0.0 , 0.3 , 0.4 , 0.55 , 0.43 , 0.49 , ...} © F.A. Dul 2014 14.5. Wnioskowanie przybliŜone w sieci Bayesa Próbkowanie losowe w sieci Bayesa. Zasada: próbkowanie kaŜdej zmiennej w kolejności określonej przez sieć. Przykład: sieć Bayesa dla problemu mokrej trawy, uporządkowana następująco: [ Chmury, Zraszacz, Deszcz, MokraTrawa ] P(C)=0.5 Chmury C P(Z) t 0.10 f 0.90 Deszcz Zraszacz C P(D) t 0.80 f 0.20 MokraTrawa Z t t f f D t f t f P(M) 0.99 0.90 0.90 0.00 © F.A. Dul 2014 14.5. Wnioskowanie przybliŜone w sieci Bayesa Przykład próbkowania w sieci Bayesa 1. P(Chmury) = 〈 0.5, 0.5 〉. Próbkowanie: prawda; 2. P(Zraszacz|Chmury=prawda) = 〈 0.1, 0.9 〉 Próbkowanie: fałsz; 3. P(Deszcz|Chmury=prawda) = 〈 0.8, 0.2 〉 Próbkowanie: prawda; 4. P(MokraTrawa|Zraszacz=fałsz,Deszcz=prawda) = 〈0.9,0.1〉〉 Próbkowanie: prawda; Próbkowanie zwróciło więc zdarzenie zgodne z siecią Z1 = [prawda,fałsz,prawda, prawda]. Kolejne próbkowanie moŜe zwrócić inne zdarzenie, np. Z2 = [prawda, prawda,fałsz, prawda]. Z sieci Bayesa wynika, Ŝe prawdopodobieństwo SPS(x1,...,xn) wybranej próbki [x1,...,xn] wynosi S PS ( x1 ,..., xn ) = n ∏ P( x | rodzice( X )) i i i =1 i jest równe prawdopodobieństwu zdarzenia reprezentowanego przez sieć Bayesa S PS ( x1 ,..., xn ) = P ( x1 ,..., xn ) © F.A. Dul 2014 14.5. Wnioskowanie przybliŜone w sieci Bayesa JeŜeli NPS(x1,...,xn) jest liczbą wylosowań próbki [x1,...,xn], to N PS ( x1 ,..., xn ) lim = S PS ( x1 ,..., xn ) = P ( x1 ,..., xn ) N →∞ N W przykładzie mokrej trawy prawdopodobieństwa zdarzeń wylosowanych z sieci Bayesa wynoszą SPS(Z1) = 0.5 × 0.9 × 0.8 × 0.9 = 0.324, SPS(Z2) = 0.5 × 0.1 × 0.2 × 0.9 = 0.009. Przy duŜej liczbie próbkowań N zdarzenie Z1 będzie wybrane w 32.4%, zaś zdarzenie Z2 - tylko w 0.9% przypadków. Koszt C wnioskowania przybliŜonego w sieciach Bayesa jest zazwyczaj duŜo niŜszy niŜ koszt wnioskowania ścisłego, C << O(2n) Istnieją równieŜ inne metody wnioskowania przybliŜonego w sieciach Bayesa, np. metoda Monte Carlo dla łańcucha Markowa (Markov chain Monte Carlo). © F.A. Dul 2014 UŜyteczność sieci Bayesa Sieci Bayesa stanowią wygodną formę reprezentacji zaleŜności zdarzeń. Pozwalają teŜ znacznie zredukować rozmiar reprezentacji a takŜe koszt wnioskowania stochastycznego. Wnioskowanie przybliŜone w sieciach Bayesa cechuje się niskim kosztem przy zadowalających dokładnościach uzyskiwanych rozkładów prawdopodobieństw. Sieci Bayesa są równieŜ wykorzystywane do opisu dynamicznych zjawisk stochastycznych stanowiąc podstawę filtru Kalmana. © F.A. Dul 2014 14.7. Inne metody wnioskowania probabilistycznego Podejście stochastyczne jest szeroko stosowane w wielu dziedzinach wiedzy i praktyki: w fizyce, genetyce, ekonomii, ubezpieczeniach, bankowości... W sztucznej inteligencji podejście probabilistyczne jest uŜywane dopiero od lat 70. XX wieku, głównie w systemach ekspertowych. Powodem był wykładniczy koszt wnioskowania – wcześniej nie znano algorytmów dla sieci Bayesa. Dlatego do wnioskowania w warunkach niepewności stosowano podejścia alternatywne, takie jak: • wnioskowanie domyślne, • reprezentacja niepewności za pomocą reguł, • reprezentacja ignorancji (teoria Dempstera-Shafera), • reprezentacja nieprecyzyjności za pomocą logiki rozmytej. Panuje przekonanie, Ŝe wnioskowanie stochastyczne jest bardziej uniwersalne niŜ powyŜsze wnioskowania alternatywne. © F.A. Dul 2014 14.7. Inne metody wnioskowania probabilistycznego Metody wnioskowania oparte na regułach Metody wnioskowania wykorzystujące reguły są oparte na logice zdań lub logice pierwszego rzędu. Wnioskowanie logiczne jest uzupełnione czynnikiem określającym stopień wiarygodności (fudge factor), np. A25 |→0.3 zapewni dojazd na czas; Uwzględnienie stopnia wiarygodności umoŜliwia „sterowanie” wnioskowaniem logicznym. Jednak z podejściem takim wiąŜą się trudności. Przykład Czy mokra trawa jest wynikiem deszczu, Zraszacz Deszcz czy teŜ włączenia zraszacza? – – Zraszacz |→ 0.99 MokraTrawa; MokraTrawa |→ 0.7 Deszcz; MokraTrawa Problem: czy zraszacz powoduje deszcz? Mimo takich problemów wnioskowanie z czynnikiem pewności jest stosowane z powodzeniem w wielu systemach ekspertowych (np. MYCIN). © F.A. Dul 2014 14.7. Inne metody wnioskowania probabilistycznego Teoria Dempstera-Shafera reprezentacji ignorancji Teoria Dempstera-Shafera opisuje róŜnice pomiędzy niepewnością a ignorancją. Funkcja wiarygodności Bel(X) opisuje prawdopodobieństwo tego, Ŝe obserwacje potwierdzają twierdzenie X. Przykład Dla zdarzenia „Reszka” przy rzucie niepewną monetą i przy braku obserwacji zarówno Bel(Reszka)=0 jak i Bel(¬Reszka)=0. JeŜeli stwierdzi się z 90% pewnością, Ŝe moneta jest dobra, (P(Reszka)=0.5), to Bel(Reszka) = 0.9× 0.5 = 0.45; podobnie Bel(¬Reszka) = 0.45. Istniejąca 10% luka wyraŜa niepewność co do jakości monety. Reguła Dempstera określa sposób wyznaczania wartości funkcji Bel na podstawie obserwacji. Teoria Dempstera-Shafera definiuje przedziały prawdopodobieństwa, np. dla wyrzucenia reszki przedział prawdopodobieństwa wynosi [0,1] przed weryfikacją monety, zaś po jej weryfikacji [0.45,0.55]. © F.A. Dul 2014 14.7. Inne metody wnioskowania probabilistycznego Logika rozmyta i reprezentacja nieprecyzyjności Teoria zbiorów rozmytych określa nieprecyzyjność twierdzeń. Przykład Czy zdanie „Jan jest wysoki” (wzrost 175cm) jest prawdziwe? Najczęstsza odpowiedź: Jan jest wysoki „w pewnym stopniu”. UWAGA! Nieprecyzyjność nie jest niepewnością (wzrost Jana jest znany). Teoria zbiorów rozmytych określa stopień prawdziwości twierdzeń, np. Wysoki(Jan) ∈ [0,1] zamiast Wysoki(Jan)=fałsz. Stopień prawdziwości opisuje zazwyczaj rozkład typu probit 1.0 Wysoki 0.0 1.0 1.5 2.0 m 2.5 © F.A. Dul 2014 14.7. Inne metody wnioskowania probabilistycznego Logika rozmyta i reprezentacja nieprecyzyjności Logika rozmyta umoŜliwia wnioskowanie z wyraŜeniami logicznymi określonymi w zbiorach rozmytych. Miara prawdziwości T określona jest regułami: • T(A ∧ B) = min ( T(A) , T(B) ), • T(A ∨ B) = max ( T(A) , T(B) ), • T(¬A) = 1 – T(A). T(Wysoki(Jan)) = 0.6, T(CięŜki(Jan)) = 0.4. T(Wysoki(Jan)∧ CięŜki(Jan)) = 0.4 → OK. ale… T(Wysoki(Jan)∧ ¬Wysoki(Jan)) = 0.4 ??? Sterowanie rozmyte słuŜy do syntezy sterowania przy uŜyciu reguł rozmytych. Sterowanie rozmyte jest szeroko stosowane w wielu urządzeniach, np.: pralkach, kamerach wideo, sprzęcie AGD. © F.A. Dul 2014 Podsumowanie • Sieci Bayesa stanowią naturalną reprezentację niezaleŜności warunkowej (określanej przyczynowo). • Topologia sieci i tablice prawdopodobieństwa warunkowego (CPT) pozwalają na zwartą reprezentację rozkładu łącznego prawdopodobieństwa. • Wnioskowanie ścisłe w sieci Bayesa jest kosztowne ~O(2n). • Wnioskowanie przybliŜone za pomocą próbkowania zdarzeń pozwala obniŜyć koszt obliczeń przy zachowaniu akceptowalnej dokładności. • Sieci Bayesa są szczególnie przydane i łatwe do zastosowania w systemach ekspertowych. • Istnieją inne sposoby uwzględniania niepewności: reguły niepewności, reprezentacja ignorancji, logika rozmyta. © F.A. Dul 2014