Professional Documents
Culture Documents
P(F=1)
F
P(C1 = 1 | F = 1) P(C2 = 1 | F = 1)
P(C1 = 1 | F = 0) C1 C2 P(C2 = 1 | F = 0)
M R
P(M = 1 | C1 = 1, C2 = 1) P(R = 1 | C2 = 1)
P(M = 1 | C1 = 1, C2 = 0) P(R = 1 | C2 = 0)
P(M = 1 | C1 = 0, C2 = 1)
P(M = 1 | C1 = 0, C2 = 0)
F pali papierosy
C1 chory na chorobę 1
C2 chory na chorobę 2
M łatwo się męczy
R wynik RTG płuc Sieci bayesowskie 1
Sieci bayesowskie
F
C1 C2
M R
Prawdopodobieństwo łączne:
P(C1, C2, M, R, F) = P(F) * P(C1 | F) * P (C2 | F) * P(M | C1, C2) * P(R | C2)
1 1
P( C2=1,R=1,F=0)
∑ ∑ P( C1=i,C2=1,M= j,R =1,F=0)
i=0 j=0
P( C2=1|R=1,F=0) = = 1 1 1
P( R= 1,F=0 )
∑ ∑ ∑ P( C1=i,C2= j,M=k,R=1,F=0)
i=0 j= 0 k= 0
Sieci bayesowskie 2
Sieci bayesowskie - zalety
Sieci bayesowskie 3
Sieci bayesowskie
1. Uczenie sieci
• uczenie struktury sieci
• szacowanie parametrów
2. Wnioskowanie na podstawie sieci
Sieci bayesowskie 4
Uczenie parametrów
Założenie:
Znana jest struktura sieci bayesowskiej
Zadanie:
Wyznaczenie prawdopodobieństw warunkowych
Sieci bayesowskie 5
Uczenie parametrów
Sieci bayesowskie 6
Uczenie parametrów, zmienna binarna
– rozkład beta
Do przedstawienia naszej pierwotnej wiedzy o względnej
częstości nadaje się funkcja gęstości beta:
Γ(N)
ρ (f )= f a−1 (1−f )b−1 ,
Γ (a) Γ (b )
N=a+b
f – względna częstość
a, b, N – parametry rozkładu
∞
Γ ( x)=∫ t e dt
x−1 −t
0
x 1 i x C (x) = (x - 1)!
Sieci bayesowskie 7
Uczenie parametrów, zmienna binarna
- rozkład beta
9 6
8
a=50 5
7
b=50
a=18
6 4
b=2
5
3
4
3 2
a=3 a=0.2
2 a=1 b=3 b=0.2
1
1
b=1
0 0
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 0,01 0,04 0,12 0,2 0,4 0,6 0,8 0,88 0,96 0,99
f f
Sieci bayesowskie 8
Uczenie parametrów, zmienna binarna
Oznaczenia:
• f – konkretna wartość F
Sieci bayesowskie 9
Uczenie parametrów, zmienna binarna
Sieci bayesowskie 10
Uczenie parametrów, zmienna binarna
– uaktualniania na podstawie danych
Dane:
(f) – rozkład gęstości zmiennej losowej F reprezentującej względną częstość
d - zbiór danych zawierający M przykładów
s – liczba wystąpień pierwszej wartości w zbiorze d
t - liczba wystąpień drugiej wartości w zbiorze d (M = s + t)
Problem:
Jak uaktualnić na podstawie danych d naszą pierwotną wiedzę reprezentowaną
przez (f)?
Rozwiązanie:
Jeżeli (f) = beta(f; a, b), to (f | d) = beta(f; a + s, b + t).
Sieci bayesowskie 11
Uczenie parametrów, zmienna binarna
– uaktualniania na podstawie danych
Przykład:
Rzut oszczepem wykonany 10 razy (może wbić się w ziemię lub wylądować płasko).
Pierwotna wiedza: beta(f; 3, 3).
Wyniki rzutów (1-wbity): d={1,1,2,1,1,1,1,1,2,1}
a = b = 3, s = 8, t = 2
Sieci bayesowskie 12
Wybór wartości a oraz b
• a=b=1
brak jakiejkolwiek wiedzy na temat względnej częstości lub dla
zachowania obiektywizmu; zakładamy, że wszystkie wartości z
przedziału [0, 1] są jednakowo prawdopodobne;
• a, b > 1
prawdopodobnie względna częstość wystąpienia pierwszej z
dopuszczalnych wartości zmiennej wynosi ok. a/(a+b); im większe
przekonanie, tym większe wartości a, b;
• a, b < 1
prawdopodobnie względna częstość wystąpienia jednej z wartości
zmiennej jest bardzo mała;
Sieci bayesowskie 13
Uczenie parametrów - przykład 1
• trzy urny zawierające kule z numerami 1 i 2;
• losujemy kulę z pierwszej urny. Jeśli wylosowawo 1, to losujemy z urny drugiej, w
przeciwnym razie z trzeciej;
• X1, X2 – zmienne reprezentujące wyniki dwóch losowań;
• beta(f11; 1, 1) reprezentuje pierwotną wiedzę na temat częstości wylosowania kuli
1 przy pierwszym losowaniu;
• beta(f21; 1, 1) reprezentuje pierwotną wiedzę na temat częstości wylosowania kuli
1 przy drugim losowaniu, jeżeli przy pierwszym wylosowano 1;
• beta(f22; 1, 1) reprezentuje pierwotną wiedzę na temat częstości wylosowania kuli
1 przy drugim losowaniu, jeżeli przy pierwszym wylosowano 2;
X1 X2
P(X1 = 1) = ½ P(X2 = 1 | X1 = 1) = ½
P(X2 = 1 | X1 = 2) = ½
np.:
P(X1 = 2, X2 = 1) = P(X2 = 1 | X1 = 2) P(X1 = 2) = ½ * ½ = 1/4
Sieci bayesowskie 14
Uczenie parametrów - przykład 1
Dane d:
X1 X2 (f11|d) = beta(f11; 1 + 4, 1 + 3)
1 1 (f21|d) = beta(f21; 1 + 3, 1 + 1)
1 1
(f22|d) = beta(f22; 1 + 2, 1 + 1)
1 1
1 2
2 1
X1 X2
2 1
2 2 P(X1 = 1) = 5/9 P(X2 = 1 | X1 = 1) = 2/3
P(X2 = 1 | X1 = 2) = 3/5
np.:
P(X1 = 2, X2 = 1) = P(X2 = 1 | X1 = 2) P(X1 = 2) = 3/5 * 4/9 = 4/15
Sieci bayesowskie 15
Uczenie parametrów - przykład 2
X1 X2
P(X1 = 1) = ½ P(X2 = 1 | X1 = 1) = ½
P(X2 = 1 | X1 = 2) = ½
np.:
P(X2 = 1) = P(X2 = 1, X1 = 1) + P(X2 = 1, X1 = 2) =
= P(X2 = 1| X1 = 1) P(X1 = 1) + P(X2 = 1| X1 = 2) P(X1 = 2) =
=½*½+½*½ =½
Sieci bayesowskie 16
Uczenie parametrów - przykład 2
Dane d:
X1 X2
1 2
(f11|d) = beta(f11; 1 + 3, 1 + 5)
1 1 (f21|d) = beta(f21; 1 + 1, 1 + 2)
2 1 (f22|d) = beta(f22; 1 + 3, 1 + 2)
2 2
X1 X2
2 1
2 1 P(X1 = 1) = 2/5 P(X2 = 1 | X1 = 1) = 2/5
1 2 P(X2 = 1 | X1 = 2) = 4/7
2 2
np.:
P(X2 = 1) = P(X2 = 1, X1 = 1) + P(X2 = 1, X1 = 2) =
= P(X2 = 1| X1 = 1) P(X1 = 1) + P(X2 = 1| X1 = 2) P(X1 = 2) =
= 2/5 * 2/5 + 4/7 * 3/5 = 0.50286
Sieci bayesowskie 17
Uczenie parametrów - przykład 2
Sieci bayesowskie 18
Uczenie parametrów,
odpowiedni rozmiar danych - przykład 2
Początkowa wiedza:
X1 X2
(f11) = beta(f11; 2, 2)
(f21) = beta(f21; 1, 1) P(X1 = 1) = ½ P(X2 = 1 | X1 = 1) = ½
(f22) = beta(f22; 1, 1) P(X2 = 1 | X1 = 2) = ½
Po uaktualnieniu parametrów:
X1 X2
(f11|d) = beta(f11; 2 + 3, 2 + 5)
(f21|d) = beta(f21; 1 + 1, 1 + 2) P(X1 = 1) = 5/12 P(X2 = 1 | X1 = 1) = 2/5
P(X2 = 1 | X1 = 2) = 4/7
(f22|d) = beta(f22; 1 + 3, 1 + 2)
np.:
P(X2 = 1) = P(X2 = 1, X1 = 1) + P(X2 = 1, X1 = 2) =
= P(X2 = 1| X1 = 1) P(X1 = 1) + P(X2 = 1| X1 = 2) P(X1 = 2) =
= 2/5 * 5/12 + 4/7 * 7/12 = 0.5
Sieci bayesowskie 19
Uczenie parametrów,
odpowiedni rozmiar danych
Definicja:
Dla każdego i oraz j funkcje gęstości są postaci beta(fij; aij, bij).
Jeżeli istnieje liczba N taka, że
Nij = aij + bij = P(paij) * N
to mówimy, że sieć ma odpowiedni rozmiar danych N.
P(paij) – prawd. tego, że węzły rodzice danego węzła były w stanie ij
Sieci bayesowskie 20
Uczenie parametrów,
odpowiedni rozmiar danych
• beta(f11; 10, 5) f11 = P(X1=1|f11)
• beta(f21; 9, 6) f21 = P(X2=1|f21)
• beta(f31; 2, 4) f31 = P(X3=1|X1=1,X2=1,f31)
• beta(f32; 3, 1) f32 = P(X3=1|X1=1,X2=2,f32)
• beta(f33; 2, 1) f33 = P(X3=1|X1=2,X2=1,f33)
• beta(f34; 1, 1) f34 = P(X3=1|X1=2,X2=2,f34)
P(X3=1|X1=1,X2=1) = 1/3
P(X3=1|X1=1,X2=2) = 3/4
a11 + b11 = 10 + 5 = 15 X3 P(X3=1|X1=2,X2=1) = 2/3
a31 + b31 = 2 + 4 = 6 P(X3=1|X1=2,X2=2) = 1/2
P(pa31) * N = P(X1 = 1, X2 = 1) * N = 2/3 * 3/5 * 15 = 6
Sieci bayesowskie 21
Zadanie 1
Dla poniższej sieci Bayes’a sprawdź założenia o odpowiednim rozmiarze danych.
Uaktualnij wiedzę o dane zawarte w tabeli
Lp X1 X2 X3 • beta(f11; 4, 8) f11 = P(X1=1|f11)
1 1 2 1 • beta(f21; 6, 6) f21 = P(X2=1|f21)
2 1 1 2 • beta(f31; 1, 1) f31 = P(X3=1|X1=1,X2=1,f31)
3 2 1 1 • beta(f32; 1, 1) f32 = P(X3=1|X1=1,X2=2,f32)
4 2 2 1 • beta(f33; 1, 3) f33 = P(X3=1|X1=2,X2=1,f33)
5 1 2 1 • beta(f34; 3, 1) f34 = P(X3=1|X1=2,X2=2,f34)
6 2 2 2
7 1 2 1 P(X1 = 1) =1/3 P(X2 = 1) =1/2
X1 X2
8 2 1 2
9 1 2 1
P(X3=1|X1=1,X2=1) =1/2
10 1 1 1 P(X3=1|X1=1,X2=2) =1/2
X3 P(X3=1|X1=2,X2=1) = 1/4
P(X3=1|X1=2,X2=2) =3/4
Sieci bayesowskie 22
Task 1
For the Bayesian network below, check the assumptions about the appropriate
data size. Update your knowledge with the data contained in the table
Lp X1 X2 X3 • beta(f11; 4, 8) f11 = P(X1=1|f11)
1 1 2 1 • beta(f21; 6, 6) f21 = P(X2=1|f21)
2 1 1 2 • beta(f31; 1, 1) f31 = P(X3=1|X1=1,X2=1,f31)
3 2 1 1 • beta(f32; 1, 1) f32 = P(X3=1|X1=1,X2=2,f32)
4 2 2 1 • beta(f33; 1, 3) f33 = P(X3=1|X1=2,X2=1,f33)
5 1 2 1 • beta(f34; 3, 1) f34 = P(X3=1|X1=2,X2=2,f34)
6 2 2 2
7 1 2 1 P(X1 = 1) =1/3 P(X2 = 1) =1/2
X1 X2
8 2 1 2
9 1 2 1
P(X3=1|X1=1,X2=1) =1/2
10 1 1 1 P(X3=1|X1=1,X2=2) =1/2
X3 P(X3=1|X1=2,X2=1) = 1/4
P(X3=1|X1=2,X2=2) =3/4
Sieci bayesowskie 23
Zadanie 1
Sieci bayesowskie 24
Zadanie 1
Dla poniższej sieci Bayes’a sprawdź założenia o odpowiednim rozmiarze danych.
Uaktualnij wiedzę o dane zawarte w tabeli
P(X3=1|X1=1,X2=1) = 1/2
P(X3=1|X1=1,X2=2) = 1/2
X3 P(X3=1|X1=2,X2=1) = 1/2
P(X3=1|X1=2,X2=2) = 1/2
Sieci bayesowskie 26
Uczenie parametrów,
brakujące wartości
Początkowa wiedza:
X1 X2
(f11) = beta(f11; 2, 2)
(f21) = beta(f21; 1, 1)
P(X1 = 1) = 1/2 P(X2 = 1 | X1 = 1) = 1/2
(f22) = beta(f22; 1, 1) P(X2 = 1 | X1 = 2) = 1/2
Liczba
Dane d: Dane d’: X1 X2 wystąpień
X1 X2 1 1 1
1 1 1 1 ½
P(X2 = 1 | X1 = 1) = ½
1 ? P(X2 = 1 | X1 = 2) = ½ 1 2 ½
1 1 1 1 1
1 2 1 2 1
2 ? 2 1 ½
Sieci bayesowskie 2 2 ½ 27
Uczenie parametrów,
brakujące wartości
X1 X2
X1 X2
Sieci bayesowskie 30
Uczenie parametrów, zmienne
dyskretne o dowolnej liczbie wartości
– rozkład Dirichleta
Γ(N) a1 −1 a2 −1 a −1
ρ ( f 1 ,f 2 ,... ,f r−1 )= r
f1 f 2 ... f r r
∏ Γ ( ak )
k=1
r r
0≤f k ≤1 , ∑ f k =1, ∑ a k =N
k=1 k=1
Sieci bayesowskie 31
Uczenie parametrów, zmienne dyskretne
– rozkład Dirichleta
Sieci bayesowskie 32
Uczenie parametrów, zmienne dyskretne
– rozkład Dirichleta
Przykład 1
Rzut kostką
Dir(f1, f2, f3, f4, f5; 50, 50, 50, 50, 50, 50)
P(X = 4) = 50 / 300 = 1/ 6
Przykład 2
Sieci bayesowskie 33
Uczenie parametrów
Zmienna X1 przyjmuje 3 wartości, zmienna X2 przyjmuje 4 wartości
X1 X2
Dane:
(f1,f2,...,fr-1) – rozkład gęstości zmiennych reprezentujących względną częstość
d - zbiór danych zawierający M przykładów
si – liczba wystąpień i-tej wartości w zbiorze d
Problem:
Jak uaktualnić na podstawie danych d naszą pierwotną wiedzę reprezentowaną
przez (f1,f2,...,fr-1)?
Rozwiązanie:
Jeżeli (f1, f2,..., fr-1) = Dir(f1, f2,..., fr-1; a1, a2,..., ar), to
(f1, f2,..., fr-1 | d) = Dir(f1, f2,..., fr-1; a1 + s1, a2 + s2,..., ar + sr).
Sieci bayesowskie 35
Metody uczenia struktury sieci -
podział
Ze względu na sposób optymalizacji:
Sieci bayesowskie 36
Uczenie struktury sieci bayesowskiej –
miara jakości
Im większe prawdopodobieństwo P(G|d), tym lepsza sieć G (d – dane uczące).
P( d|G ) P( G)
P( G|d )=
P(d )
1 1 P ( d|G 1 ) P ( G 1)
P ( G 1|d )=
1 2 P(d )
1 1
2 2 G2 X1 X2
1 1 P ( d|G 2 )=(
Γ ( 4 ) Γ ( 2+ 5 ) Γ ( 2+ 3 )
)(
Γ ( 4 ) Γ ( 2+ 5 ) Γ ( 2+3 )
)= 6 . 746×10 −6
Γ ( 4 +8 ) Γ (2 ) Γ ( 2 ) Γ ( 4+8) Γ (2) Γ (2)
2 1 P ( d|G 2 ) P ( G 2 )
P ( G 2|d )=
1 1 P(d )
Bayesian Networks 38
2 2
Uczenie struktury sieci Bayes’a –
przykład 2
Wiedza początkowa:
(f11) = beta(f11; 2, 2)
(f21) = beta(f21; 1, 1) G1 X1 X2
(f22) = beta(f22; 1, 1)
P(X1 = 1) = 1/2 P(X2 = 1 | X1 = 1) = 1/2
Dane d: P(X2 = 1 | X1 = 2) = 1/2
Γ ( 4 ) Γ ( 2+4 ) Γ ( 2+ 4 ) Γ (2 ) Γ ( 1+2 ) Γ (1+ 2 ) Γ ( 2 ) Γ ( 1+2 ) Γ (1 +2)
X1 X2 P ( d|G 1)=(
Γ ( 4 +8 ) Γ (2)Γ (2)
)(
Γ ( 2+ 4 ) Γ ( 1 ) Γ (1 )
)(
Γ ( 2+ 4 ) Γ ( 1 ) Γ (1 )
)= 2 . 4050× 10−6
1 1 P ( d|G 1 ) P ( G 1)
P ( G 1|d )=
1 1 P(d )
1 2
1 2 G2 X1 X2
2 1 P ( d|G 2 )=(
Γ ( 4 ) Γ ( 2+ 4 ) Γ ( 2+ 4 )
)(
Γ ( 4 ) Γ ( 2+ 4 ) Γ ( 2+4 )
)= 4 . 6851× 10− 6
Γ ( 4 +8 ) Γ (2) Γ (2) Γ (4+8) Γ ( 2 ) Γ ( 2)
2 1 P ( d|G 2 ) P ( G 2 )
P ( G 2|d )=
2 2 P(d )
Bayesian Networks 39
2 2
Uczenie struktury sieci, metody
przybliżone
Sieci bayesowskie 40
Uczenie struktury sieci, metody
przybliżone
Lokalna ocena sieci w węźle Xi:
( PA )
qi ( PA ) ri ( PA ) ( PA )
Γ ( N ij ) Γ ( aijk +sijk )
scoreB ( d,X i ,PA i )=∏ ( PA ) ( PA ) ∏ ( PA )
j=1 Γ ( N ij +M ij ) k=1 Γ ( a ijk )
n
scoreB ( d,G )=∏ scoreB ( d,X i ,PA i )
i= 1
Sieci bayesowskie 41
Uczenie sieci, metody przybliżone -
algorytm K2
Założenie: dany jest porządek węzłów (jeśli Xi jest przed Xj to nie
jest dozwolona krawędź XjXi).
P(X1=1,X2=1,X3=1) = ?
P(X1=1) * P(X2=1|X1=1) * P(X3=1|X1=1) = P(X2=1) * P(X1=1|X2=1) * P(X3=1|X1=1) =
= 4/7 * 3/4 * 1/2= 3/14 = 5/7 * 3/5 * 1/2 = 3/14
P(X1=2,X2=2,X3=2) = ?
P(X1=2) * P(X2=2|X1=2) * P(X3=2|X1=2) = P(X2=2) * P(X1=2|X2=2) * P(X3=2|X1=2) =
= 3/7 * 1/3 * 2/3= 2/21 = 2/7 * 1/2 * 2/3 = 2/21
.......
B C B C B C
D D D
E F E F E F
A A A
B C B C B C
D D D
A
E E E
B C
klasa sieci D
równoważnych wzorzec
E
Sieci bayesowskie 47
Poszukiwanie sieci czy wzorca?
• Jeśli w klasach sieci równoważnych jest dużo sieci, to znacznie
dłuższy czas poszukiwania (strata czasu, ponieważ wszystko
jedno którą sieć z klasy sieci równoważnych wybierzemy).
Sieci bayesowskie 48
Uczenie struktury sieci, metody przybliżone –
algorytm znajdujący najlepszy wzorzec
• graf częściowo skierowany – zawiera
krawędzie skierowane i nieskierowane; A A A
B C B C B C
D D D
D D
• każdy wzorzec sieci jest grafem częściowo
skierowanym, ale nie każdy graf częściowo
skierowany jest wzorcem; Sieci bayesowskie 49
Uczenie struktury sieci, metody przybliżone –
algorytm znajdujący najlepszy wzorzec
Zestaw operacji przekształcających graf częściowo skierowany g1 w g2:
• dodanie krawędzi (dowolnie skierowanej lub nieskierowanej) między
dwoma węzłami
• usunięcie krawędzi nieskierowanej
• usunięcie lub zmiana kierunku krawędzi skierowanej
• zamiana połączenia typu X-Y-Z (nie ma krawędzi między X a Z) na
XYZ
Sieci bayesowskie 50
Uczenie struktury sieci, metody przybliżone –
algorytm znajdujący najlepszy wzorzec
B C
D A
B C B C B C
D A D A D A
E E E
Sieci bayesowskie 51
Uczenie struktury sieci, metody przybliżone –
algorytm znajdujący najlepszy wzorzec
repeat
if w sąsiedztwie wzorca gp istnieje wzorzec o większym
scoreB(d,gp)
then zastąp dany wzorzec wzorcem poprawiającym scoreB(d,gp)
najbardziej
end
until żadna z operacji nie zwiększa wartości scoreB(d,G)
Sieci bayesowskie 52
Uczenie struktury sieci, metody
przybliżone - porównanie
Sieci bayesowskie 53