Upload
aleksander-pohl
View
1.919
Download
4
Embed Size (px)
Citation preview
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Sztuczna Inteligencja i Systemy EkspertoweReprezentacja wiedzy
Aleksander Pohlhttp://apohllo.pl/dydaktyka/ai
Wyzsza Szkoła Zarzadzania i Bankowosci
31 marca 2009
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Plan prezentacji
Wprowadzenie
Reguły z wiarygodnoscia
Sieci Bayesa
Postscriptum
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Plan prezentacji
Wprowadzenie
Reguły z wiarygodnoscia
Sieci Bayesa
Postscriptum
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Systemy regułowe
◮ Mechanizm rozumowania (inferencji)◮ Baza faktów◮ Baza reguł
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Alternatywne modele logiczne
◮ Logiki wielowartosciowe◮ dyskretne◮ ciagłe
◮ Logiki niemonotoniczne – nowe fakty maja wpływ nawartosc logiczna wczesniejszych faktów
◮ ptaki lataja◮ pingwin jest ptakiem, ale nie lata
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Logiki Modalne
◮ 3p ⇔ ¬2¬p◮ „it is possible that Jones was murdered if and only if it is
not necessary that Jones was not murdered”
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Reguły ze stopniem wiarygodnosci
◮ Wiarygodnosc – współczynnik z przedziału [0,1]◮ 0 – zdarzenie niemozliwe◮ 1 – zdarzenie pewne◮ Wady: „płytkie” opisywanie stanu wiedzy
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Reprezentacje proceduralne
◮ Wprowadzenie klasycznych procedur do modelu AI◮ Procedury stosowane wybiórczo (tylko do osiagniecia
okreslonego celu)◮ Odniesienie do konkretnych struktur◮ Wada: koniecznosc sformułowania „a priori” rozwiazania
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Reprezentacje przez sieci semantyczne
◮ Wynik badan nad pamiecia i sieciami skojarzeniowymi◮ Graf skierowany – wezły stanowia pojecia, łuki – relacje
semantyczne (is_a, have_a)◮ Zastosowania: mechanizmy rozumienia jezyka
naturalnego, taksonomie itp.◮ Wady: rozumowanie wzdłuz relacji znacznie ograniczone
do dziedziczenia własnosci – model obiektowy stanowiudoskonalenie
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Siec semantyczna
◮ bird(a_kind_of, animal).
◮ bird(moving_method, fly).
◮ bird(active_at, daylight).
◮ albatross(a_kind_of, bird).
◮ albatross(colour, black_and_white).
◮ albatross(size, 115).
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Ramki i scenariusze
Reprezentacje przez struktury◮ frames (Minsky 1974 – rozpoznawanie obrazu)◮ składaja sie z pól („slots”) i procedur◮ podstawa budowy jezyków obiektowych
Reprezentacje przez scenariusze◮ scripts (R. Schank 1977 – jezyk naturalny)◮ ciag zdarzen charakterystycznych, dynamiczny opis
przedmiotu
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Ramki – przykład
◮ isa(bird, animal).
◮ moving_method(bird,fly).
◮ moving_method(kiwi,walk).
◮ moving_method(X,Method):-isa(X,Super), moving_method(Super,Method).
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Reprezentacja obiektowa
◮ Reprezentacje przez obiekty◮ dziedziczenie własciwosci◮ komunikacja przy pomocy przekazywania komunikatów
◮ Zalety:◮ strukturalizacja opisu◮ wyczerpujacy zestaw atrybutów◮ powiazanie aspektu deklaratywnego z proceduralnym◮ hierarchizacja opisu
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Dziedziczenie w Prologu
◮ fact(Fact) :- Fact, !.
◮ fact(Fact) :-Fact=..[ Rel, Arg1, Arg2],isa(Arg1,SuperArg),SuperFact=..[Rel, SuperArg, Arg2],fact(SuperFact).
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Plan prezentacji
Wprowadzenie
Reguły z wiarygodnoscia
Sieci Bayesa
Postscriptum
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Reguły
◮ Teza→ c (wiarygodnosc)◮ if Teza then Wniosek→ c
◮ c(P1 and P2) = min(c(P1),c(P2))
◮ c(P1 or P2) = max(c(P1),c(P2))
◮ If P1 then P2→ cc(P2)=c(P1)*c
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Implementacja (1)
◮ op(800, fx, if).
◮ op(700, xfx, then).
◮ op(300, xfy, or).
◮ op(200, xfy, and).
◮ certainty( P, Cert) :- given( P, Cert).
◮ certainty(Cond1 and Cond2, Cert) :-certainty( Cond1, Cert1),certainty( Cond2, Cert2),min( Cert1, Cert2, Cert).
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Implementacja (2)
◮ certainty( Cond1 or Cond2, Cert) :-certainty( Cond1, Cert1),certainty( Cond2, Cert2),max( Cert1, Cert2, Cert).
◮ certainty( P, Cert) :-if Cond then P : C1,certainty( Cond, C2),Cert is C1 * C2.
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Przykład (1)
◮ if kitchen_dry and hall_wetthen leak_in_bathroom : 1.
◮ if hall_wet and bathroom_drythen problem_in_kitchen : 0.9.
◮ if window_closed or no_rainthen no_water_from_outside : 1.
◮ if problem_in_kitchen andno_water_from_outsidethen leak_in_kitchen : 1.
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Przykład (2)
◮ given(window_closed, 0).
◮ given(hall_wet, 1).
◮ given(bathroom_dry, 1).
◮ given(no_rain, 0.8).
◮ given(kitchen_dry, 0).
◮ ?- certainty(leak_in_kitchen, C).
◮ C=0.8
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Wady
◮ c(a)=0.5, c(b)=0 ale c(a or b)= 0.5
◮ Nie uwzglednia niezaleznosci zdarzen.◮ Ludzcy eksperci nie mysla w kategoriach
prawdopodobienstw matematycznych.◮ Szacowanie prawdopodobienstwa wymaga wiedzy a priori,
badz uproszczenia modelu.
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Plan prezentacji
Wprowadzenie
Reguły z wiarygodnoscia
Sieci Bayesa
Postscriptum
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Sieci Bayesa (belief networks, Bayesian networks)
◮ Stan swiata okreslony jest za pomoca wektora zmiennych,np.
◮ pada deszcz – prawda◮ swieci słonce – fałsz◮ wieje wiatr – prawda◮ [T , F , T ]
◮ Bez straty ogólnosci dalej bedziemy rozwazac zmienneboolowskie
◮ Zmienne boolowskie – „zdarzenia”
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Prawdopodobienstwo
◮ Obserwator nie musi znac stanu faktycznego (zdarzeniezaszło, badz nie) – wystarczy jedynie znajomoscprawdopodobienstwa jego wystapienia
◮ p(X ) – prawdopodobienstwo, ze zaszło X◮ p(X |Y ) – prawdopodobienstwo, ze zaszło X pod
warunkiem ze zaszło Y◮ p(A|B) = p(A ∩ B)/p(B)
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Redukcja przestrzeni stanów
◮ problem: 2n − 1 liczba prawdopodobienstw do okreslenia◮ wniosek: musimy korzystac z niezaleznosci zdarzen◮ reprezentacja w postaci sieci zdarzen – połaczenia
odpowiadaja zwiazkom przyczynowo-skutkowym
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Przykład (1)
◮ włamanie oraz błyskawica moga wzbudzic czujke◮ czujka moze wzbudzic alarm oraz telefon
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Przykład (2)
◮ Wniosek: Błyskawica, Włamanie sa niezalezne.◮ Ale wiedzac ze alarm sie właczył – przestaja byc
niezalezne.◮ jezeli wiemy, ze jest burza, to prawdopodobienstwo zajscia
włamania pod warunkiem właczenia sie alarmu jestmniejsze, niz jesli wiemy, ze dzien jest słoneczny
◮ Okreslamy prawdopodobienstwa wzdłuz sciezek, doktórych naleza fakty zalezne
◮ Y jest potomkiem X jesli istnieje sciezka z X do Y◮ Do obliczania prawdopodobienstwa wystarczy
rozpatrywanie potomków i przodków
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Prawdopodobienstwa a priori i warunkowe
◮ Dla wezłów bez przyczyny („root causes”) podane saprawdopodobienstwa a priori
◮ Dla wezłów pozostałych podajemy je w postacip(X |rodziceX ) – prawdopodobienstwo warunkowe
◮ Prawdopodobienstwa warunkowe dla wezła potomnegomusze obejmowac wszelkie kombinacje stanów rodziców
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Przykład (3)
◮ p(włamanie) = 0.001◮ p(błyskawica) = 0.02◮ p(czujka| włamanie i błyskawica) = 0.9◮ p(czujka| włamanie i not(błyskawica)) = 0.9◮ p(czujka| not(włamanie) i błyskawica) = 0.1◮ p(czujka| not(włamanie) i not(błyskawica)) = 0.001◮ p(alarm|czujka) = 0.95◮ p(alarm|not(czujka)) = 0.001◮ p(telefon|czujka) = 0.9◮ p(telefon|not(czujka)) = 0.0
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Zaleznosci (1)◮ Prawdopodobienstwo koniunkcji
p(X ∧ Y |Cond) = p(X |Cond) ∗ p(Y |X ∧ Cond)
◮ prob([], _, 1) :- !.◮ prob([X | Xs], Cond, P) :- !,prob(X, Cond, Px), prob(Xs, [X | Cond],PRest),P is Px * PRest.
◮ Prawdopodobienstwo zdarzenia pewnego
p(X |Y ∧ . . . ∧ X ∧ . . .) = 1
◮ prob(X, Cond, 1) :-member(X, Cond), !.
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Zaleznosci (2)
◮ Prawdopodobienstwo zdarzenia niemozliwego
p(X |Y ∧ . . . ∧ ¬X ∧ . . .) = 0
◮ prob(X, Cond, 0) :-member(not X, Cond), !.
◮ Prawdopodobienstwo negacji
p(¬X |Cond) = 1 − p(X |Cond)
◮ prob(not X, Cond, P) :- !,prob(X, Cond, P0), P is 1 - P0.
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Zaleznosci (3)
◮ Warunek z potomkiemCond0 = Y ∧ Cond gdzie Y jest potomkiem X
p(X |Cond0) =p(X |Cond) ∗ p(Y |X ∧ Cond)
p(Y |Cond)
◮ prob(X, Cond0, P) :-delete(Y, Cond0, Cond),predecessor(X, Y), !,prob(X, Cond, Px),prob(Y, [X | Cond], PyGivenX),prob(Y, Cond, Py),P is Px * PyGivenX / Py.
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Zaleznosci (4)Jesli Cond nie zawiera potomków X
◮ X nie ma rodziców:
p(X |Cond) = p(X )
◮ prob(X, Cond, P) :-p(X, P), !.
◮ X ma rodziców S:
p(X |Cond) =∑
rodzice:S
p(X |S)p(S |Cond)
◮ prob(X, Cond, P) :- !,findall((CONDi,Pi), p(X,CONDi,Pi), CPlist),sum_probs(CPlist, Cond, P).
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Implementacja (1)
◮ sum_probs([], _, 0).
◮ sum_probs([ (COND1,P1) | CondsProbs], COND,P) :-prob(COND1, COND, PC1),sum_probs(CondsProbs, COND, PRest),P is P1 * PC1 + PRest.
◮ predecessor(X, not Y) :- !,predecessor(X, Y).
◮ predecessor(X, Y) :- parent(X, Y).
◮ predecessor(X, Z) :- parent(X, Y),predecessor(Y, Z).
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Implementacja (2)
◮ member(X, [X | _]).
◮ member(X, [_ | L]) :- member(X, L).
◮ delete(X, [X | L], L).
◮ delete(X, [Y | L], [Y | L2]) :-delete(X, L, L2).
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Przykład (1)
◮ parent(burglary, sensor).
◮ parent(lightning, sensor).
◮ parent(sensor, alarm).
◮ parent(sensor, call).
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Przykład (2)
◮ p(sensor, [not burglary, not lightning],0.001).
◮ p(alarm, [sensor], 0.95).
◮ p(alarm, [not sensor], 0.001).
◮ p(call, [sensor], 0.9).
◮ p(call, [not sensor], 0.0).
◮ ?- p(burglary, [alarm], X).X = 0.182741
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Naiwny klasyfikator bayesowski (1)
◮ Prawdopodobienstwo ze i-te słowo wystepujew dokumencie typu C:
p(wi |C)
◮ Prawdopodobienstwo wystapienia dokumentu Dw klasie C:
p(D|C) =
n∑
i=1
p(wi |C)
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Naiwny klasyfikator bayesowski (2)◮ Załózmy ze mamy dwie klasy spam (S) i nie-spam:
p(D|S) =
n∑
i=1
p(wi |S)
p(D|¬S) =
n∑
i=1
p(wi |¬S)
◮ Z twierdzenia Bayesa:
p(S|D) =p(S)
p(D)
n∑
i=1
p(wi |S)
p(¬S|D) =p(¬S)
p(D)
n∑
i=1
p(wi |¬S)
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Naiwny klasyfikator bayesowski (3)
◮ Dzielac jedno przez drugie:
k =p(S|D)
p(¬S|D)=
p(S)
p(¬S)
∑ni=1 p(wi |S)∑n
i=1 p(wi |¬S)
◮ dla k > 1 – spam
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Plan prezentacji
Wprowadzenie
Reguły z wiarygodnoscia
Sieci Bayesa
Postscriptum
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Materiały zródłowe
◮ L.Sterling, E.Shapiro - „The Art Of Prolog”◮ Ivan Bratko - „Prolog – Programming For Artificial
Intelligence”◮ Slajdy zostały przygotowane za zgoda
dr. Michała Korzyckiego na podstawie jego wykładu.
Aleksander Pohl WSZiB
Reprezentacja wiedzy
Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum
Dziekuje!
Aleksander Pohl WSZiB
Reprezentacja wiedzy