43
Wprowadzenie Reguly z wiarygodno´ sci ˛ a Sieci Bayesa Postscriptum Sztuczna Inteligencja i Systemy Ekspertowe Reprezentacja wiedzy Aleksander Pohl http://apohllo.pl/dydaktyka/ai Wy˙ zsza Szkola Zarz ˛ adzania i Bankowo´ sci 31 marca 2009 Aleksander Pohl WSZiB Reprezentacja wiedzy

Reprezentacja wiedzy

Embed Size (px)

Citation preview

Page 1: Reprezentacja wiedzy

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

Page 2: 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

Page 3: 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

Page 4: 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

Page 5: 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

Page 6: 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

Page 7: 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

Page 8: 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

Page 9: 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

Page 10: 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

Page 11: 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

Page 12: 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

Page 13: 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

Page 14: 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

Page 15: 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

Page 16: 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

Page 17: 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

Page 18: 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

Page 19: 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

Page 20: 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

Page 21: 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

Page 22: 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

Page 23: 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

Page 24: 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

Page 25: 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

Page 26: 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

Page 27: 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

Page 28: 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

Page 29: 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

Page 30: 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

Page 31: 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

Page 32: 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

Page 33: 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

Page 34: 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

Page 35: 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

Page 36: 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

Page 37: 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

Page 38: 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

Page 39: 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

Page 40: 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

Page 41: 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

Page 42: 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

Page 43: Reprezentacja wiedzy

Wprowadzenie Reguły z wiarygodnoscia Sieci Bayesa Postscriptum

Dziekuje!

Aleksander Pohl WSZiB

Reprezentacja wiedzy