• Nie Znaleziono Wyników

Wykład 09 – 11, Wnioskowanie w sieciach bayesowskich

N/A
N/A
Protected

Academic year: 2021

Share "Wykład 09 – 11, Wnioskowanie w sieciach bayesowskich"

Copied!
10
0
0

Pełen tekst

(1)

Algorytmy stochastyczne

Wykład 09 – 11, Wnioskowanie w sieciach bayesowskich

Jarosław Piersa 2014-03-13

1 Przybliżone algorytmy wnioskowania

1.1 Próbkowanie logiczne

Dane: sieć bayesowska wraz z CPT, wiedza E, węzeł X z poza wiedzy X /∈ E Wynik: Prawdopodobieństwo P(X = xi|E), dla ustalonego (wszystkich) xi

Algorytm

• wylosuj rodziców zgodnie z prawdopodobieństwem z ich tabel,

• rekurencyjnie losuj potomków zgodnie prawdopodobieństwem odczytanym dla ustalonych rodziców,

• jeżeli wylosowana próbka nie spełnia wiedzy to ją odrzuć i rozpocznij kolejne losowanie,

• wylosuj w powyższy sposób M próbek spełniających wiedzę

• zwróć:

P(X = xi) := liczba próbek spełniających X = xi

M

UWAGA! jeżeli w wiedzy E jest ustalonych wiele zmiennych, to algorytm odrzuca znaczną większość próbek i potrzeba wiele losowań aby uzyskać zadaną liczbę zaakceptowanych próbek.

1.2 Ważone próbkowanie logiczne (ang. weighted logic sampling )

Dane: sieć bayesowska wraz z CPT, wiedza E, węzeł X z poza wiedzy X /∈ E Wynik: Prawdopodobieństwo P(X = xi|E), dla ustalonego (wszystkich) xi Algorytm

• losowanej próbce przypisz wagę wj := 1

• losując próbkę wymuszaj stany zgodnie z wiedzą, ale przy takim wymuszeniu zmień wagę (np. wymuszamy stan Y = y1):

wj:= wj· P(Y = y1|Rodzice(Y ))

• po wylosowaniu M próbek zwróć:

P(X = xi|E) = PM

j=11Xj=xi· wj PM

j=1wj .

Uwaga! Jeżeli wiedza jest sprzeczna to mianownik będzie zerowy. Przy wielu węzłach w wiedzy mogą się pojawić problemy numeryczne (sumowanie bardzo małych prawdopodobieństw i dzielenie przez bardzo mały mianownik)

1.3 Próbnik Gibbsa (Gibbs sampling)

Dane i wynik: jak wyżej Algorytm

• Wybierz losowy węzeł Z, który nie zawiera wiedzy,

• Oblicz rozkład prawdopodobieństwa Z dla tego węzła warunkując po wszystkich pozostałych węzłach w sieci (równo- ważnie: po jego rodzicach, potomkach i rodzeństwie)

P(Z|V \{Z}) ∝ P(Z = zj|Rodzice(Z)) · Y

U ∈Dzieci(Z)

P(U = u|Rodzice(U ), Z = zj)

(2)

• wylosuj nowy stan dla Z zgodnie z tym rozkładem powtarzaj wielokrotnie zapamiętując częstości przyjmowania X = xi

• zwróć:

P(X = xi|E) := częstość występowania stanów sieci w których X = xi Jak obliczyć rozkład P(Z|Blanket(Z))?

P(Z = zj|V \{Z}) ∝ P(Z = zj|Rodzice(Z)) ·Q

U ∈Dzieci(Z)P(U = u|Rodzice(U ))

=

P(Z = zj|Rodzice(Z)) · Q

U ∈Dzieci(Z)

P(U = u|Rodzice(U ), Z = zj) P

z0stany(Z)

P(Z = z0|Rodzice(Z)) · Q

U ∈Dzieci(Z)

P(U = u|Rodzice(U ), Z = z0) Przy czy

• P(Z = zj|Rodzice(Z)) — bezpośrednio z tabeli (rodzice są ustaleni)

• Rodzice(U ) — Z również jest rodzicem U , jest jedynym rodzicem U , który może się w bieżącej iteracji zmieniać

• P(U = u|Rodzice(U)) = P(U = u|Rodzice(U), Z = z0) — z tabeli (dla ustalonego Z = z0)

2 Wnioskowanie dokładne

2.1 Naiwny klasyfikator bayesowski Naive bayesian classifier

NBC — sieć bayesowska o ograniczonej strukturze, ale dzięki temu daje bardzo proste metody wnioskowania.

Powód

Symptom 1 Symptom 2 Symptom 3 · · · Symptom n

• przyczyna P , zmienna do zdiagnozowania — znajduje się w korzeniu drzewa,

• symptomy S1, ..., Sn, zmienne obserwowalne znajdują się w liściach,

• wiedzę wprowadzamy do liści (być może nie wszystkich): tzn jakie są objawy,

• wnioskujemy o przyczynie (co spowodowało takie zachowanie).

Dane: wiedza E: znane wartości (niektórych) węzłów w liściach.

Wynik: prawdopodobieństwo P(P = pi|E) dla wszystkich możliwych przyczyn pi. W ten sposób otrzymujemy najbardziej prawdopodobne wyjaśnienie.

• Chcemy

P(P = pi|E) = P(P = pi∧ E) P(E)

= P(E|P = pi) · P(P = pi) P(E)

= Q

V ∈E

P(V = vi|P = pi) · P(P = pi) P(E)

=

P(P = pi) Q

V ∈E

P(V = vi|P = pi) P(E)

(1)

• P(P = pi) oraz P(V = vi|P = pi) bezpośrednio z CPT

• P(E) jest tylko czynnikiem normalizującym (aby prawdopodobieństwa sumowały się do 1)

• i tak zamierzamy policzyć P(P = pi|E) dla każdego pi, zatem:

– obliczamy liczniki z równania (1) dla każdego P = pi

– S = suma liczników z równania (1) – Obliczamy

P(P = pi|E) := licznik z równania (1) S

(3)

2.2 Wnioskowanie w łańcuchach

Przypadek 1: sieć bayesowska ma strukturę łańcucha, tzn. każdy wierzchołek (poza korzeniem) ma dokładnie jednego rodzica; i każdy wierzchołek (poza jedynym liściem) ma dokładnie jednego syna.

U X Y

Dana jest wiedza E, tj. informacje że dla pewnych wierzchołków V = vi. Chcemy obliczyć P(X = xi|E), dla X w którym nie ma wiedzy (ogólnie: wszystkich takich X).

Podzielmy wiedzę na E = E+∪ E, gdzie

• E+ — wierzchołki leżące ponad X (przyczyny X), na podstawie E+ przewidujemy zachowanie X (predykcja),

• E — wierzchołki leżące poniżej X (skutki X), na podstawie E diagnozujemy wystąpienie X (diagnostyka).

Mamy:

P(X = xi|E) = P(X = xi∩ E) P(E)

= P(X = xi∩ E+∩ E) P(E+∩ E)

= P(E|X = xi∩ E+) · P(X = xi∩ E+

P(E+∩ E)

= P(E|X = xi∩ E+) · P(X = xi|E+) · P(E+) P(E+∩ E)

Czynnik P(E+)

P(E+∩E) nie zależy od X (stała normująca). Zamiast go liczyć można posumować resztę wyrażenia po wszystkich możliwych stanach X = xi.

Będziemy pisać:

P(X = xi|E) ∝ P(X = xi|E+)P(E|X = xi∩ E+),

co oznacza, że prawdopodobieństwo zaobserwowania X = xi przy wiedzy E jest proporcjonalne do prawej strony.

Dalej:

• zastanówmy się nad: P(E|X = xi∩ E+),

• jedyna ścieżka z E+ do E musi przechodzić przez X (bo mamy łańcuch!),

• X jest ustalony na xi (chcemy policzyć P(X = xi|E)),

• zatem propagacja wiedzy z E+ do E jest blokowana przez X

• dodatkowe warunkowanie po E+ jest zbędne,

• upraszczamy P(E|X = xi∩ E+) = P(E|X = xi) Upraszczamy we wzorze:

P(X = xi|E) ∝ P(X = xi|E+)P(E|X = xi).

Oznaczmy

π(x) = P(X = xi|E+) λ(x) = P(E|X = xi) gdzie

• πE(xi) — predictive support — jak bardzo prawdopodobne jest zaobserwowanie X = Xi przy wiedzy E,

• λE(xi) — diagnostic support — jak bardzo prawdopodobne jest, że wiedza E została spowodowana przez X = Xi. Jak obliczyć π?

• Jeżeli U jest rodzicem X, to

π(xi) := X

u∈states(U )

P(X = xi|U = u)π(u) states(U ) — sumujemy po wszystkich możliwych stanach węzła U (znaczy rodzica X).

• wiadomości π musimy policzyć: dla każdego węzła i dla każdego stanu w danym węźle

• warunki brzegowe: jeżeli w U jest wiedza, to π(ui) := 1 dla stanu ui zgodnego z wiedzą oraz π(ui) := 0 dla pozostałych stanów ui.

(4)

• warunki brzegowe: jeżeli U jest korzeniem, to π(ui) := P(U = ui) — prawdopodobieństwo apriori z tabeli

• nie musimy liczyć warunków brzegowych dla π(V ), gdy V jest liściem (zadanie: dlaczego?) Jak obliczyć λ?

• Jeżeli Y jest synem X to obliczamy

λ(xi) := X

y∈states(Y )

λ(y)P(Y = y|X = xi) (2)

• Warunki brzegowe: jeżeli V jest liściem z wiedzą, to przypisujemy: λ(vi) := 1 dla stanu vi zgodnego z wiedzą i λ(vj) := 0 dla pozostałych.

• Warunki brzegowe: jeżeli liściem bez wiedzy, to przypisujemy: λ(vi) := 1 dla wszystkich vi.

• Nie trzeba określać warunków brzegowych dla korzenia.

Obserwacja: Wnioskując potrzebujemy wiadomości π od węzłów wcześniejszych i λ od późniejszych. Zatem π jest wiado- mością propagowaną od korzenia do liścia, a λ od liścia do korzenia. Po wprowadzeniu wiedzy rozpoczynamy propagację obu wiadomości. Gdy obie przejdą całą sieć, to możemy policzyć prawdopodobieństwa aposteriori (warunkowe) dla wszystkich wierzchołków.

Algorytm (szkielet)

Dane: sieć bayesowska o kształcie łańcucha, prawdopodobieństwa warunkowe i wiedza E Wyniki: prawdopodobieństwa aposteriori P(X = xi|E) dla X z poza wiedzy.

• Węzłach z wiedzą przygotuj wiadomości π(xi) = 1 oraz λ(xi) = 1 dla stanów zgodnych z wiedzą i π(xi) = 0 oraz λ(xi) = 0 dla pozostałych

• Policz π(xi) od w kolejnych węzłach od korzenia do liści (pomijając zamrożone węzły!)

π(xi) =

( P(X = xi) dla korzenia, z CPT

P

u∈states(U )

P(X = xi|U = u)π(u) jeżeli U jest rodzicem X

• Policz λ(xi) od w kolejnych węzłach od liści do korzenia

λ(xi) =

( +1 dla liści

P

y∈states(Y )

λ(y)P(Y = y|X = xi) jeżeli Y jest synem X

• oblicz prawdopodobieństwa:

P(X = xi) := π(xi) · λ(xi) P

xj∈states(X)

π(xj) · λ(xj)

2.3 Wnioskowanie w drzewach

Przypadek 2. Sieć bayesowska jest drzewem tzn. dla dowolnych węzłów A, B istnieje dokładnie jedna ścieżka z A do B.

Dodatkowo: drzewo jest ukorzenione, co oznacza, że każdy węzeł (poza korzeniem) ma dokładnie jednego rodzica. Jak poprzednio: chcemy obliczyć P(X = xi|E) dla pewnego X oraz wiedzy E, X /∈ E.

U X

Y1

Y2

Podzielmy wiedzę na E = E+∪ E, gdzie

• E+ — wierzchołki leżące ponad X (przyczyny X)

• E — wierzchołki leżące poniżej X (skutki X)

(5)

Nadal pozostaje prawdą:

P(X = xi|E) = P(E|X = xi∩ E+) · P(X = xi|E+) · P(E+) P(E+∩ E)

∝ P(X = xi|E+)P(E|X = xi∩ E+)

= P(X = xi|E+)P(E|X = xi)

Tym razem E może się znajdować w różnych poddrzewach potomków X. Potomkowie (Y1, Y2) X są niezależni warun- kowo na X = xi, co upraszcza

λ(xi) = P(E|X = xi)

= P(EY1, EY2|X = xi)

= P(EY1|X = xi) · P(EY1|X = xi)

= λY1(xi) · λY2(xi) Nie należy mylić λ i λY:

• λY(x) — wiadomość od potomka Y do rodzica X na stanie X = x

• λ(x) — wartość wsparcia diagnostycznego dla X (od wszystkich potomków)

λY(xi) = P(EY|X = xi)

= P

y∈states(Y )

P(EY|Y = y, X = xi)P(Y = y|X = xi)

= P

y∈states(Y )

P(EY|Y = y)P(Y = y|X = xi)

= P

y∈states(Y )

λ(y) · P(Y = y|X = xi)

Wzór przypomina (2), ale końcowe wsparcie λ(xi) jest mnożone po wszystkich potomkach, stąd rozbicie na λYi(...).

Dla rodzica U wierzchołka X:

π(xi) = P(X = xi|E+)

= P

u∈states(U )

P(xi|U = u, E+)P(U = u|E+)

= P

u∈states(U )

P(xi|U = u)P(U = u|E+)

= P

u∈states(U )

P(xi|U = u)πX(u)

(3)

Jeżeli X ma jednego syna Y1, to wiedza w poddrzewie jest już policzona i koniec. Jeżeli X ma dwóch lub więcej synów Y1, Y2, to wiedza z poddrzewa Y1 może wpływać na poddrzewo Y2 (wyjątek: wiedza jest w X i separuje Y1 i Y2) Jeżeli X otrzyma wiadomość λ od potomka Y1, to uaktualnia wiadomość π dla potomka Y2.

πY2(xi) = c · P(EY1|X = xiE+X)P(X = xi|E+X)

= c · P(EY1|X = xi)P(X = xi|EX+)

= c · λY1(xi)π(x)

= c · λY1(xi) ·P

u P(X = xi|U = u)πX(u)

(4)

Skalar c jest stałą normalizującą (czyt. policzyć po wszystkich xi i znormalizować).

Algorytm uaktualniania (Kim-Pearl) Krok 1:

1. Węzeł X otrzymuje polecenie uaktualnić swój stan

2. Węzeł X sprawdza wiadomość od rodzica πU(x) i od potomków λYi(x) 3. Oblicz

λ(x) :=Y

i

λYi(x)

π(x) := X

u∈states(U )

P(X = xi|U = u)πX(u)

P(X = xi|E) := λ(xi)π(xi) + normalizacja Krok 2: propagacja z dołu do góry

1. X czyta wiadomości λ od potomków

(6)

2. X oblicza i przekazuje wiadomości do rodzica Y λX(u) = X

x∈states(X)

λ(X)P(X = x|U = u)

3. Uwaga: to jest kolekcja wiadomości liczona dla możliwych stanów rodzica: u1, u2, u3...

Krok 3: propagacja z góry na dół

1. X oblicza wiadomości pi dla swoich synów Y1, Y2, ...Yk

2. dla syna Yj

πYj(x) := π(x)Y

l6=j

λYl(x) + normalizacja

Warunki brzegowe:

• dla wierzchołków z wiedzą: dla xi zgodnych z wiedzą

λ(xi) = 1 dla pozostałych xj

λ(xj) = 0

• dla liści bez wiedzy

λ(xi) = 1

• dla węzłów z wiedzą: dla stanów xi zgodnych z wiedzą

π(xi) = 1 dla pozostałych:

π(xi) = 0

• dla korzenia (jeżeli nie ma wiedzy)

π(xi) = P(xi)z CPT

(7)

2.4 Wnioskowanie w wielodrzewach

Przypadek 3.

Poprzez wielodrzewo (polytree) rozumiemy:

• graf skierowany acykliczny,

• dla każdej pary wierzchołków w grafie istnieje co najwyżej jedna ścieżka między nimi (może nie istnieć żadna), po zapomnieniu orientacji nie ma cykli w grafie,

• sieć może mieć kilka różnych „korzeni” (wierzchołki bez rodziców),

• wierzchołki mogą mieć wielu rodziców i wiele dzieci (z zastrzeżeniem punktu wyżej).

Wierzchołek X może mieć wielu synów Y1, Y2, ... oraz rodziców U1, U2, ....

U1

U2

U3

X

Y1

Y2 πX(u1)

πY1(x)

λX(u3)

λY2(x)

Nadal pozostaje prawdą:

• wiedza E dzieli się na wiedzę ponad X (przyczyny) i poniżej (skutki): E = E+∪ E.

• X izoluje wiedzę predyktywną i diagnostyczną (każda ścieżka z E+ do E przechodzi przez X)

• nadal mamy

P(X = xi|E) = P(E|X = xi∩ E+) · P(X = xi|E+) · P(E+) P(E+∩ E)

∝ P(X = xi|E+)P(E|X = xi∩ E+)

= P(X = xi|E+)P(E|X = xi)

= π(xi) · λ(xi) Przepływ z korzenia do liści

• jeżeli w X jest wiedza, to

π(xi) = 1 dla xi zgodnego z wiedza π(xi) = 0 dla pozostałych xi

• jeżeli X nie ma rodziców (UWAGA! w sieci może być kilka takich X, więc unikamy określenia „korzeń”) π(xi) = P(X = xi)

z CPT

• w pozostałych przypadkach (X ma rodziców U1, ..., Un):

π(x) := P(X = x|E+)

= P

states(u1,u2,...,un)

P(xi|U1= u1, ...Un = un, E+)P(U1= u1, ...Un= un|E+)

= P

states(u1,u2,...,un)

P(xi|u1, ...un) · P(U = u1|E+X) . . . P(Un = un|E+X)

= P

states(u1,u2,...,un)

P(xi|u1, ...un) ·Qn

i=1πX(ui)

• wiadomości z U do potomków πX(ui)

πX(ui) := P(U = ui|E+X)

= 1 jeżeli w U jest wiedza, lub...

= π(ui) · λ(ui) + normalizacja

= π(ui) · P(U = ui|E+X) // wiedza ponad X i poniżej U

= π(u) Q

W ∈children(U ),W 6=X

λW(u)

(8)

Przepływ z liści do korzenia:

• wsparcie diagnostyczne mnożymy po wszystkich potomkach:

– jeżeli w X jest wiedza, to

λ(xi) = 1 dla xi zgodnego z wiedza λ(xi) = 0 dla pozostałychxi

– jeżeli X jest liściem, to

λ(xi) = 1 – w pozostałych wypadkach (mnożymy po Y -ach, potomkach X)

λ(x) := P(E|X = x)

= P(EY1, ..., EYk|X = x)

= P(EY1|X = xk) · . . . · P(EYk|X = x)

= Q

i

λYi(x)

• tym razem wiadomości od X do rodzica U λX(u) zależą również od pozostałych rodziców W1, W2...

λY(x) := P(EY|X = x)

= P

y∈states(Y )

P(EY|X = x, Y = y) · P(Y = y|X = x)

= P

y∈states(Y )

P(EY|X = x, Y = y) · P

states(w1,w2,...)

P(Y = y, w1, w2..|X = x)

!

= P

y∈states(Y )

P(EY|X = x, Y = y) · P

states(w1,w2,...)

P(Y = y|X = x, w1, w2..)P(w1, w2, ...|X = x)

!

= P

y∈states(Y )

P(EY|Y = y) · P

states(w1,w2,...)

P(Y = y|X = x, w1, w2..)P(w1|E+Y) · . . . · P(wk|E+Y)

!

= P

y∈states(Y )

λ(y) P

states(w1,w2,...)

(P(y|x, w1, w2, ...)Q

iπY(wi))

!

przy czym: w1, w2... są pozostałymi rodzicami Y , P(y|x, w1, w2, ...) — bezpośrednio z tabeli warunkowej Y Uwaga: zależności są skomplikowane:

π(u)

λ(u)

πX(u)

λX(u)

π(x)

λ(x)

πY(x)

λY(x)

π(y)

λ(y)

pozostali rodzice X pozostali synowie X

• wiadomość πX(u) (U → X) powoduje

– wysłanie wiadomości πYi(x) do synów X (propagacja w dół drzewa)

– wysłanie wiadomości λXui do pozostałych rodziców X innych niż U (odbicie w górę) – optymalizacja: jeżeli wszystkie wiadomości λYi(x) są równe 1, to nie trzeba odbijać

– równoważnie: jeżeli żaden syn X ani jego pośredni potomek nie są w wiedzy, to nie trzeba odbijać

– powód: jeżeli nie ma wiedzy w poddrzewie ukorzenionym w X, to wszyscy rodzice Uisą niezależni pod warunkiem X, (wiedza w ustalonym U nie propaguje się do pozostałych)

• wiadomość λYi(x) wysłana Y → X

– propaguje się w górę drzewa do wszystkich rodziców X jako λX(ui) – odbija się do pozostałych braci Yj jako πYj(x)

• nie ma sensu propagować wiadomości jeżeli w docelowym węźle jest już wiedza

• propagowanie w pustej sieci bez wiedzy: wysyłamy π z korzeni sieci (nie ma nigdzie wiedzy zatem nie propagujemy λ)

• po zainstancjonowaniu wierzchołka X wysyłamy z X wiadomości λ do rodziców i wiadomości π do synów

(9)

Algorytm Kim-Pearl Sformułowanie za [1].

funkcja Inicjalizacja():

1. inicjalizacja odbywa się bez wiedzy, 2. przypisz wszędzie λ(∗) = 1, π(∗) = 1,

3. w węzłach bez rodziców: pi(xi) = P(X = xi) (wartość z CPT),

4. dla wszystkich węzłów bez rodziców: wyślij pi do każdego syna (bez odbijania λ, bo nie ma wiedzy).

funkcja Wyślij π(X, Y ) 1. przygotuj wiadomości:

πY(x) := π(x) Y

W ∈children(X),W 6=Y

λW(x)

dla wszystkich stanów x

2. jeżeli w Y nie ma wiedzy, to dodatkowo (a) oblicz

π(y) := X

states(x1,x2,...,xn)

P(yi|x1, ...xn) ·

n

Y

i=1

πY(xi)

(b) przypisz

P(Y = yi|E) := π(yi) · λ(yi) + normalizacja (c) dla wszystkich dzieci Z, wyślij π(Y, Z),

3. Jeżeli Y jest zainicjalizowany lub jakikolwiek pośredni potomek Y jest zainicjalizowany, 4. równoważnie: jeżeli λ(yi) 6= 1 dla jakiegokolwiek stanu yi

(a) dla wszystkich węzłów W — W jest rodzicem Y i W 6= X wykonaj funkcję wyślij λ(Y, W );

funkcja wyślij λ(Y, X) 1. Oblicz wiadomość λ:

λY(x) :=X

u

X

states(w1,w2,...)

P(y|x, w1, w2, ...)Y

i

πY(wi)

!

λ(y)

2. Oblicz:

λ(x) := Y

Yi∈children(X)

λYi(x)

3. przypisz

P(Y = yi|E) := π(yi) · λ(yi) + normalizacja 4. dla każdego U rodzica węzła X: jeżeli U nie zawiera wiedzy to wyślij λ(X, U ) 5. dla każdego W syna węzła X (brata węzła Y ): jeżeli W 6= Y to wyślij π(X, W ) funkcja uaktualnij(X, xi)

1. // ta funkcja uaktualnia prawdopodobieństwa, po ustaleniu wiedzy X = xi

2. przypisz

π(xi) := λ(xi) := P(X = xi|E) := 1 3. dla pozostałych stanów xj

π(xj) := λ(xj) := P(X = xj|E) := 0

4. dla wszystkich węzłów U — rodziców X, w których nie ma wiedzy wykonaj wyślij λ(X,U) 5. dla wszystkich węzłów Y — synów X: wyślij π(X,Y)

(10)

2.4.1 Uwagi

• wiadomość nie odbija się po tej samej krawędzi, z której przyszła,

• jeżeli w sieci nie ma cyklu (rozumianego jako cykl po zapomnieniu orientacji krawędzi) to propagacja zawsze dojdzie do

„liścia” (rozumianego jako: liczba synów + liczba rodziców = 1)i tam wygaśnie, zatem algorytm kiedyś się zakończy

• UWAGA! Jeżeli w sieci są dwie różne ścieżki między A i B (po zapomnieniu orientacji krawędzi istnieje cykl), to – propagacja π z A do B może odbić się od B jako λ,

– jako λ wrócić do A drugą ścieżką, – odbić się od A jako π,

– podążać do B znowu pierwszą ścieżką, Powstaje cykl, algorytm się zapętla.

Literatura

[1] R. Neapolitan, Learning bayesian networks, Pearspon Prentice Hall, Upper Saddle River, New Jersey 2004.

[2] P. Judea, Probabilistic reasoning and intelligent systems. Networks of plausible inference, Morgan Kaufman Inc. 1998.

Cytaty

Powiązane dokumenty

Zauważmy jeszcze, że sama domkniętość dziedziny T ∗ da nam jedynie ograniczoność T ∗ -to może być nawet operator zerowy o dziedzinie {0}, ale wtedy nie możemy przejść

Ukorzenione drzewo binarne to drzewo binarne, w którym wyróżniono jeden z wierzchołków, zwany korzeniem stopnia co najwyżej 2.. Dodatkowo dla każdego wierzchołka rozróżniamy

kańskiej Turcya została rozgromiona przez sprzymierzone państwa, a głównie przez Buł- garyę. Gdy się jednak carat przekonał, że Buł- garya chce prowadzić

Przedstawia on grupę trojga ludzi, mężczyzn i kobietę, dotykających się policzkami – dziwny i piękny obraz.. Simeon Solomon, żyjący w XIX wieku, został wykluczony ze

Kilku z nich przedstawi własne interpretacje – pozostali będą mogli się przekonać, jakie bogactwo znaczeń kryje się w wierszu i jak indywidualny może

Nieskończone drzewo binarne jest to drzewo z korzeniem, w którym każdy wierzchołek ma 2 potomków i wszystkie wierzchołki poza korzeniem mają jed- nego rodzica.. Czy te zmienne

Nieskończone drzewo binarne jest to drzewo z korzeniem, w którym każdy wierzchołek ma 2 potomków i wszystkie wierzchołki poza korzeniem mają jed- nego rodzica.. Czy te zmienne

Niektórym kojarzy się ono za pewne z trudem, wysiłkiem i poświęceniem, innym – z dobrocią, ciepłem, czułością, poczuciem bezpieczeństwa?. A z czym kojarzy