Sieci bayesowskie w klasteryzacji dokumentów

advertisement
1/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
Sieci bayesowskie w klasteryzacji dokumentów1
Mieczysław Alojzy Kłopotek
Instytut Informatyki Akademii Podlaskiej, ul. Sienkiewicza 51, 80-110 Siedlce
Instytut Podstaw Informatyki Polskiej Akademii Nauk, ul. Ordona 21, 01-237 Warszawa
Streszczenie: W niniejszej pracy przedstawiono rozszerzenia algorytmów PLSA i PHIT do grupowania
dokumentów tekstowych. Główna idea rozszerzenia polega na wykorzystaniu sieci bayesowskiej typu TAN
zamias6t sieci naiwnej, jak ma to miejsce w algorytmach pierwotnych.
1. Wprowadzenie
Sieci bayesowskie znajdują szerokie zastosowanie w systemach sztucznej inteligencji, w tym
w inteligentnych wyszukiwarkach internetowych.
W ramach projektu badawczego prowadzonego wspólnie w obu afiliowanych instytucjach
tworzone są narzędzia do wspomagania zadania eksploracji pełnotekstowych baz
dokumentów poprzez stworzenie nawigacyjnej mapy dokumentów, na której bliskość
geometryczna na mapie odzwierciedlałaby bliskość koncepcyjną dokumentów, a trzeci
wymiar byłby wykorzystywany do odzwierciedlenia gęstości dokumentów.
Do chwili obecnej została zrealizowana i jest testowamna wyszukiwarka internetowa
z interfejsem prezentującym wyszukane dokumenty na tle mapy (płaskiej, na walcu, na
torusie, lub na kuli). Proces tworzenia mapy przebiega w etapach: zbieranie dokumentów
(pająk), indeksowanie i analiza, w tym streszczanie (indekser), optymalizacja słowników
(optymalizator), grupowanie dokumentów i odwzorowanie na mapie (maper), prezentacja i
wyszukiwanie (wizualizator).
Koncepcja mapy dokumentów opiera się na wektorowej reprezentacji zbioru dokumentów w
przestrzeni rozpiętej przez termy identyfikowane w trakcie analizy. Dokumenty w przestrzeni
wektorowej są grupowane w dużą liczbę klastrów w oparciu m.in. o kosinusowe miary
bliskości, o koncepcję klasteryzacji rozmytej oraz gazu neuronowego, a następnie są
rzutowane metodą WebSOM na mapę dwuwymiarową.
Na wielu etapach działania systemu istnieje silna potrzeba klasteryzacji dokumentów, m.in. w
celu identyfikacji głównych tematów kolekcji dokumentów, wstępnego grupowania,
odwzorowania na mapę dokumentów, wreszcie w trakcie etykietowania. Niniejsze
opracowanie pokazuje, w jaki sposób można wykorzystać koncepcję sieci bayesowskiej do
celów klasteryzacji.
Po wprowadzeniu do koncepcji sieci bayesowskich (punkt 2,3) zostaną przedstawione
niektóre znane algorytmy klasteryzacyjne, oparte o sieci bayesowskie (punkt 4), a następnie
zostaną zaproponowane ich modyfikacje, które chcemy wykorzystać w ramach naszego
projektu (punkt 6).
Artykuł kończy się krótkim podsumowaniem..
Niniejsza praca badawcza była częściowo finansowana przez grant KBN 4 T11C 026 25 "Mapy i inteligentna
nawigacja w sieci WWW z wykorzystaniem sieci bayesowskich i systemów immunologicznych”
1
2/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
1.1. Procesy decyzyjne
Przez podejmowanie decyzji (“decision making”) w standardowym ujęciu encyklopedycznym
rozumie się proces selektywnej intelektualnej oceny i wyboru jednej z kilku złożonych
alternatyw. Celem procesu decyzyjnego jest podjęcie określonej akcji lub ciągu akcji.
Zwykle przesłanką do podejmowania decyzji jest z jednej strony zbiór dostępnych
informacji na temat przedmiotu decyzji (zmienne obserwowane) oraz wiedza lub teoria na
temat możliwych skutków podejmowanych decyzji. Wiedza to zarejestrowane minione
sytuacje decyzyjne, podjęte decyzje i ich skutki. Teoria to uogólnienie wiedzy na nie znane w
przeszłości, ale podobne sytuacje decyzyjne.
1.2. Niepewność przy podejmowaniu decyzji
Z wyjątkiem dobrze zbadanych, małych wycinków rzeczywistości, zwykle decyzje
podejmuje się w warunkach niepełnej, nieprecyzyjnej i/lub częściowo wewnętrznie
sprzecznej wiedzy na temat bieżącej i/lub przeszłych sytuacji decyzyjnych. Tak więc zwykle
liczymy się w momencie podejmowania decyzji z możliwością istnienia różnych stanów
faktycznych świata rzeczywistego (w szerokim tego słowa znaczeniu, włączając np. przyszły
rozwój wydarzeń), wobec czego szacuje się użyteczność poszczególnych decyzji w zależności
od „szansy” zajścia poszczególnych zdarzeń. Zatem podstawą właściwego podejmowania
decyzji jest właściwa ocena „szans” zaistnienia poszczególnych stanów świata rzeczywistego.
Automatyzacja wspomagania decyzji w takich warunkach wymaga formalizmu do
reprezentacji poziomu niepewności obserwacji, teorii oraz sugestii decyzyjnych. Wśród wielu
istniejących formalizmów (zbiory przybliżone, zbiory rozmyte, współczynniki niepewności,
miary możliwości, przekonania itp.) reprezentacja w postaci rozkładu prawdopodobieństwa
zmiennych obserwowanych i zmiennych decyzyjnych zajmuje szczególne miejsce z uwagi na
stosunkowo łatwą interpretację empiryczną, stąd może podlegać obiektywnej weryfikacji.
Prawdopodobieństwo od swego zarania było interpretowane jako „oczekiwana”
wartość częstości występowania określonych zdarzeń losowych. Choć wnioskowanie
probabilistyczne przeszło ewolucję w kierunku subiektywnej oceny „szansy” wystąpienia
określonego zdarzenia (np. jest interpretowane jako gotowość do „postawienia” określonej
kwoty, gdy przeciwnik oferuje 1 zł), to jednak częstościowa interpretacja
prawdopodobieństwa dominuje zarówno w edukacji jak i w inżynierskiej praktyce. DeFinetti
w ubiegłym stuleciu opracował teorię pozwalającą na pogodzenie obu podejść.
W ujęciu probabilistycznym „szansa” zaistnienia interesującego nas stanu świata
rzeczywistego jest rozumiana jako prawdopodobieństwo warunkowe tegoż stanu pod
warunkiem posiadanej przez nas częściowej informacji o tym stanie. Zatem kluczową sprawą
przy podejmowaniu decyzji jest nie tylko umiejętność obiektywnego opisu świata
rzeczywistego w postaci łącznego rozkładu prawdopodobieństwa zmiennych decyzyjnych i
zmiennych obserwowanych, ale także zdolność do obliczania prawdopodobieństw
warunkowych z tego rozkładu.
Już w drugiej połowie ubiegłego stulecia komputerowe systemy wspomagania decyzji
próbowano opierać o wnioskowanie probabilistyczne. Pierwsze próby pokazały jednak, że
zastosowanie tradycyjnego rachunku prawdopodobieństwa wprost nie daje pożądanych
rezultatów, ponieważ:
 liczba zmiennych w typowych sytuacjach decyzyjnych jest na tyle duża, że trudno jest
łączny rozkład prawdopodobieństwa przedstawić,
 jeszcze trudniej jest zebrać wystarczającą ilość danych, aby wiarygodnie ten rozkład
ocenić,
3/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00

a najtrudniej jest obliczyć warunkowy rozkład interesujących nas zmiennych
względem zmiennych obserwowanych.
Około roku 1988 J. Pearl zaproponował nowy sposób reprezentacji łącznego rozkładu
prawdopodobieństwa oparty o wykorzystanie warunkowej niezależności zdarzeń względem
ich bezpośrednich przyczyn. Tę metodę reprezentacji nazwano sieciami bayesowskimi.
Prowadzą one do kompaktowej reprezentacji wielu rozkładów prawdopodobieństwa,
redukując potrzebną przestrzeń o kilka rzędów wielkości, umożliwiają stąd znaczne lepsze
oszacowanie łącznego rozkładu z danych oraz zaproponowano dla tych sieci wiele ciekawych
metod wnioskowania o złożoności pozwalającej na obliczenie wyników w rozsądnym czasie.
Pogłębione przeglądy tych metodologii można znaleźć w książkach [Cowell et al, 1999] ,
[Jensen, 1996], [Jensen, Jensen, 2001], [Lauritzen, 1996], [Wierzchoń, Kłopotek, 2002].
Przedmiotem niniejszego artykułu jest przybliżenie koncepcji sieci bayesowskich,
metod oceny łącznego rozkładu prawdopodobieństwa z danych (uczenia, trenowania) oraz
wnioskowania w sieciach bayesowskich, a także zastosowań.
2. Pojęcie sieci bayesowskiej
2.1. Łączny rozkład prawdopodobieństwa
Sieć bayesowska może być traktowana jako kompaktowa reprezentacja łącznego
rozkładu prawdopodobieństwa. Podstawą kompaktowości jest wykorzystanie warunkowych
niezależności.
Poniżej przez P() będziemy oznaczać prawdopodobieństwo wystąpienia zdarzenia .
P() przybiera wartości z zakresu [0.1], przy czym jeśli  jest zdarzeniem niemożliwym, to
P()=0, a jeśli zdarzenie  zawsze zachodzi, to P()=1. Jeżeli zdarzenia , nawzajem się
wykluczają, to P()=P()+P(). Prawdopodobieństwo zajścia pewnego zdarzenia , jeśli
zaszło zdarzenie , jest określone jako P(|) i wyliczane z wzoru P(|)=P()/P(). Jeśli
dwa zdarzenia ,  są od siebie niezależne, to P()=P()*P(). Jeżeli są od siebie
niezależne pod warunkiem zajścia zdarzenia , to P(|)=P(|)*P(|).
Zdarzenie w ramach podejmowania decyzji to zaistnienie pewnego stanu świata
rzeczywistego s ze zbioru możliwych stanów S. Zmienna losowa X to funkcja X: S->Dom(X)
odwzorowująca stany świata rzeczywistego s w elementy x zbioru wartości Dom(X) zmiennej
X. Przyjęcie przez zmienną X pewnej wartości x jest zdarzeniem losowym oznaczanym przez
X=x lub (jeśli nie ma wieloznaczności) x i jego prawdopodobieństwo wynosi
P(X=x)=P(x)=P({s;X(s)=x}). O dwóch zmiennych X i Y powiemy, że są niezależne, jeśli dla
każdej wartości x z dziedziny zmiennej X i każdej wartości y z dziedziny zmiennej Y
zdarzenia X=x i Y=y są niezależne. O dwóch zmiennych X i Y powiemy, że są niezależne
względem zmiennej Z, jeśli dla każdej wartości x z dziedziny zmiennej X i każdej wartości y
z dziedziny zmiennej Y i każdej wartości z z dziedziny zmiennej Z zdarzenia X=x i Y=y są
niezależne względem zdarzenia Z=z. Zauważmy, że z P(X=xY=y|Z=z)=
P(X=x|Z=z)*P(Y=y|Z=z) wynika, że P(X=x|Y=yZ=z)= P(X=x|Z=z). Zamiast Y=yZ=z
stosuje się notację Y=y, Z=z.
Zwykle dla podjęcia decyzji potrzebne jest stwierdzenie, czy zmienna losowa D
(zwana hipotezą) przyjmuje wartość d, jeśli zauważyliśmy (lub wymusiliśmy), że w
interesującym nas stanie świata rzeczywistego dla zmiennych obserwowanych X 1, X2,..., Xk,
zachodzi X1=x1, X2=x2,...,Xk=xk. Ponieważ nie możemy mieć co do tego pewności, więc
oceniamy tak naprawdę P(D=d| X1=x1, X2=x2,...,Xk=xk), i porównujemy tę wartość z
prawdopodobieństwem P(D=d’| X1=x1, X2=x2,...,Xk=xk) zajścia alternatywnych zdarzeń d’,
4/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
ewentualnie ważąc podejmowaną decyzję wartością korzyści u(d) wyniesionej z zajścia
zdarzenia d.
Oznaczmy przez X={X1,X2,….,Xn} zbiór wszystkich zmiennych, z którymi możemy
się zetknąć rozważając nasz problem: zarówno te obserwowane, jak i hipotezy, jak i w danej
chwili nieobserwowane, których wartości mogą mieć wpływ na rozpatrywane przez nas
zagadnienie decyzyjne. Zauważmy, że z definicji prawdopodobieństwa warunkowego łączny
rozkład prawdopodobieństwa P(x1,...,xn) możemy wyznaczyć ze wzoru:
P(x1,...,xn)= P(x1|x2,,...,xn)* P(x2|x3,,...,xn)* P(xn-1|xn)*P(xn)
Zauważmy, że jeśli przyjmiemy pewien porządek wśród zmiennych, np. X1,X2,….,Xn, to
możemy traktować x=(x1,...,xn) Dom(X)= Dom(X1)Dom(X2)…. Dom(Xn) jako wektor
w przestrzeni rozpiętej przez zbiór zmiennych X. Zdefiniujmy operację rzutowania na
podzbiór Y={Xi(1),Xi(2),….,Xi(k) }X zmiennych (i() jest funkcją mapującą zbiór wartości 1..k
w 1..n w tak, że i-1() jest jednoznaczna) w następujący sposób:
(x1,...,xn) Y=
(xi(1),xi(2),….,xi(k)).
Jeżeli zmienna Xi nie zależy od wszystkich Xi+1,...,Xn, lecz tylko od podzbioru tych
zmiennych, pa(Xi), to powyższa zależność przyjmuje postać:
P(x1,...,xn) = i=1…n P(xi |(x1,...,xn) pa(Xi)),
Przyjmuje się konwencję, że jeśli Y jest zbiorem pustym, to P(xi |(x1,...,xn) Y)= P(xi ).
Na kanwie tej zależności zdefiniowano sieć bayesowską (SB) jako (X,K,P), gdzie K jest
acyklicznym grafem skierowanym nad zbiorem zmiennych X (zmienne są etykietami
węzłów), a P zbiorem prawdopodobieństw warunkowych postaci P(xi |(x1,...,xn) pa(Xi)),
gdzie pa(Xi) to zbiór bezpośrednich poprzedników (rodziców) zmiennej Xi w grafie K.
W oczywisty sposób (X,K,P) definiuje łączny rozkład prawdopodobieństwa P(x) nad zbiorem
zmiennych X.
T
S
R
Z
Y
X
Rysunek 1 Przykładowa sieć bayesowska
Przykładową sieć bayesowską pokazuje Rysunek 1. Prawdopodobieństwo P(r,s,t,x,y,z)
wylicza się z definicji jako: P(r,s,t,x,y,z)=P(r|s,y)*P(s|t)*P(t|z)*P(x|y)*P(y|z)*P(z).
2.2. Reprezentacja bezpośrednich przyczyn
Z drugiej strony można postrzegać graf sieci bayesowskiej jako sposób na wyrażenie relacji
bezpośredniej przyczynowości między zmiennymi. Na powyższym schemacie zdarzenie Y=y
byłoby interpretowane jako skutek zajścia zdarzenia Z=z, a nie zdarzenia X=x.
2.3. Reprezentacja warunkowych niezależności
Z grafu sieci bayesowskiej można bezpośrednio odczytać warunkowe niezależności
oraz zależności między zmiennymi. Jeżeli w grafie K istnieje łuk łączący zmienne S->R, to
zawsze istnieje taki zbiór P nad K, że S i R są od siebie zależne i są warunkowo zależne
względem każdego podzbioru zbioru X nie zawierającego ani S ani R. Jeżeli w grafie K nie
istnieje łuk łączący zmienne T i Y, to dla każdego zbioru P nad K, T i Y są od siebie
warunkowo niezależne względem zbioru pa(T)Pa(Y).
5/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
W sieciach bayesowskich definiuje się pojęcie tzw. d-separacji zmiennych P i Q
względem zbioru zmiennych UX-{P,Q} w grafie K w następujący sposób. Ciąg e1,..,er
krawędzi w grafie K nazywamy ścieżką łączącą zmienne P i Q, jeżeli kolejne krawędzie mają
dokładnie jedną wspólną incydentną zmienną, żadne dwie niekolejne krawędzie nie mają
wspólnych zmiennych, P jest incydentne tylko z e1, a Q tylko z er. O ścieżce e1,..,er łączącej P
i Q mówimy, że jest aktywna względem U, jeśli dla każdego i=1,...,r-1, jeżeli ei oraz ei+1 są
obie skierowane ku wspólnej zmiennej Wi, to WiU lub (bezpośredni lub pośredni) następca
Wn węzła Wi w grafie K należy do U. a w przeciwnym razie WiU. W danej sieci
bayesowskiej zmienne P i Q są d-separowane przez zbiór zmiennych UX-{P,Q} wtedy i
tylko wtedy, gdy między P i Q nie istnieje żadna aktywna ścieżka względem U.
Koncepcja d-separacji jest niezwykle istotna dla badania niezależności między
zmiennymi, ponieważ udowodniono, że jeżeli w grafie K zmienne P i Q są d-separowane
przez zbiór zmiennych U, to dla każdego zbioru P nad K, P i Q są od siebie warunkowo
niezależne względem zbioru U. Natomiast jeżeli w grafie K zmienne P i Q nie są dseparowane przez zbiór zmiennych U, to istnieje taki zbiór prawdopodobieństw warunkowych
P nad K, że P i Q nie są od siebie warunkowo niezależne względem zbioru U.
2.4. Rodzaje struktur grafowych sieci bayesowskich
Graf K sieci bayesowskiej to z definicji acykliczny graf skierowany. Z uwagi na łatwość
wnioskowania w sieci a także pozyskania sieci z danych, wyróżniono kilka szczególnych
rodzajów sieci bayesowskich, do których zaliczamy:
 naiwną sieć bayesowską (naive Bayes)
 sieć drzewiastą (sieć Chow/Liu, tree)
 sieć niby-drzewiastą (sieć Pearla, polytree)
 sieć zmodyfikowanego drzewa (augmented tree-network, ATN)
 sieć strukturalną,
 wielo-sieć bayesowską
Naiwna sieć bayesowska (por. Rysunek 2) charakteryzuje się tym, że wyróżniony jest jeden z
węzłów (tu V), który połączony z krawędziami ze wszystkimi innymi węzłami krawędziami
skierowanymi od niego. Innych krawędzi w K nie ma. Strukturę tę interpretuje się w
następujący sposób. Wyróżniony węzeł reprezentuje interesujący nas stan rzeczywistości (np.
jednostkę chorobową), a pozostałe węzły są symptomami (obserwowanymi), przy czym dla
konkretnego stanu rzeczywistości symptomy występują lub nie niezależnie od siebie.
S
T
R
Y
Z
X
V
Rysunek
2
Przykładowa
naiwna
sieć
bayesowska
W drzewiastej sieci bayesowskiej (por. Rysunek 3) graf K ma strukturę drzewa skierowanego.
Prawie każdy węzeł ma dokładnie jednego rodzica z wyjątkiem węzła-korzenia (tu Z), dla
6/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
którego wszystkie łuki grafu są skierowane „od niego”. Dla reprezentacji łącznego rozkładu
prawdopodobieństwa wybór węzła korzenia jest bez znaczenia, ponieważ w prosty sposób
można przekształcić sieć drzewiastą w inną sieć drzewiastą tak, by korzeniem był dowolny
sąsiad korzenia. W naszym przykładzie możemy korzeniem uczynić węzeł T, zamieniając
łuk Z->T na T->Z wyliczając dla każdego tDom(T) wartość P(t) ze wzoru: P(t)=zDom(Z)
P(t|z)*P(z) oraz każdego tDom(T) i zDom(Z) wartość P(z|t) ze wzoru P(z|t)=
P(t|z)*P(z)/P(t).
T
S
R
Z
Y
X
Rysunek 3 Przykładowa drzewiasta sieć bayesowska
W niby-drzewiastej sieci bayesowskiej (por.Rysunek 4) nieskierowany odpowiednik grafu K
ma strukturę drzewa nieskierowanego. W niby-drzewie może wystąpić więcej niż jeden
korzeń (węzeł bez rodziców, tu: Z i T). Istnieją węzły o jednym rodzicu, a także węzły o
więcej niż jednym rodzicu (tu R). Dla reprezentacji łącznego rozkładu prawdopodobieństwa
wybór węzła korzenia jest częściowo bez znaczenia, ponieważ w prosty sposób można
przekształcić sieć niby-drzewiastą w inną sieć niby-drzewiastą tak, by korzeniem był
dowolny węzeł z pośród tych sąsiadów danego korzenia, który ma tylko jednego rodzica. W
naszym przykładzie możemy korzeniem uczynić węzeł Y zamiast Z, zamieniając łuk Z->Y na
Y->Z i wyliczając dla każdego yDom(Y) wartość P(y) ze wzoru: P(y)=zDom(Z) P(y|z)*P(z)
oraz każdego yDom(Y) i zDom(Z) wartość P(z|y) ze wzoru P(z|y)= P(y|z)*P(z)/P(y).
T
S
R
Z
Y
X
Rysunek 4 Przykładowa niby-drzewiasta sieć bayesowska
Sieć zmodyfikowanego drzewa (por. Rysunek 5) jest poniekąd złożeniem naiwnej sieci
bayesowskiej i sieci drzewiastej. Wyróżniony jest jeden z węzłów (tu V), który połączony z
krawędziami ze wszystkimi innymi węzłami krawędziami skierowanymi od niego. Jeżeli z
grafu K usuniemy ten wyróżniony węzeł ze wszystkimi incydentnymi krawędziami, to
pozostała część grafu będzie miała strukturę sieci drzewiastej.
7/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
S
T
R
Y
Z
X
V
Rysunek 5 Przykładowa sieć zmodyfikowanego drzewa
Sieć strukturalna (por.Rysunek 6) charakteryzuje się tym, że poprzez transformacje
podgrafów tego grafu poprzez przekształcenia, które pokazuje Rysunek 7, można ją
zredukować strukturę grafu do pojedynczego węzła. Sieć strukturalna jest szczególnym
przypadkiem tzw. hierarchicznych sieci bayesowskich lub obiektowych sieci bayesowskich,
których zadaniem jest uproszczenie procesu wnioskowania w sieciach bayesowskich.
B
B
E
H
E
J
G
H
J
G
D
C
D
C
A
A
Rysunek 6 Przykładowa sieć strukturalna
(a)
A
Ta strzałka
oznacza 0 do
n krawędzi
A
B
C
A
(b)
D
D
D
D
(c)
(d)
A
A
C
D
A
A
C
D
D
D
Rysunek 7 Przekształcenia sieci strukturalnej
Wielo-sieć bayesowska [Klopotek, Woch, 2003] jest uogólnieniem koncepcji sieci
bayesowskiej dla zadań klasyfikacji. Wyróżnia się jedną zmienną tzw. klasyfikującą i dla
każdej wartości tej zmiennej konstruuje się odrębną sieć bayesowską. W tym duchu można by
traktować sieć zmodyfikowanego drzewa jako uogólnienie drzewiastej sieci bayesowskiej: dla
każdej wartości wyróżnionej zmiennej pozostałe zmienne tworzą drzewiastą sieć bayesowską.
8/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
Różnica jest taka, że w sieci zmodyfikowanego drzewa struktura K każdego z drzew jest
identyczna (różne są jedynie wartości P). Natomiast w wielo-sieci dopuszcza się, by struktury
K dla każdej z wartości wyróżnionej zmiennej były inne.
2.5. Rodzaje zmiennych w sieciach bayesowskich
W dotychczasowym wywodzie milcząco zakładaliśmy, że zmienne są dyskretne. Definiuje się
także sieci bayesowskie dla zmiennych ciągłych, zakładając, że łączny rozkład
prawdopodobieństwa jest wielowymiarowym rozkładem Gaussa. Prawdopodobieństwo (i
prawdopodobieństwo warunkowe) zastępuje się gęstością prawdopodobieństwa (i warunkową
gęstością), natomiast niezależność zmiennych (i warunkową niezależność zmiennych) wiąże
się z zerową wartością współczynnika korelacji (odpowiednio warunkowej korelacji).
Wiele algorytmów uczenia i wnioskowania dla sieci bayesowskich zakłada, ze
wszystkie zmienne są dyskretne, lub wszystkie są ciągłe i mają rozkład normalny. Jest to duże
ograniczenie, gdyż większość realnych problemów wymaga użycia zarówno zmiennych
dyskretnych, jak też ciągłych, i to o innym rozkładzie. Sieci bayesowskie określone na takich
dziedzinach noszą nazwę sieci hybrydowych.
Znanych jest kilka prób obejścia wspomnianego ograniczenia, do których należy
zaliczyć dyskretyzację zmiennych ciągłych, a następnie stosowanie sprawdzonych
algorytmów dla zwykłych sieci z atrybutami dyskretnymi. Niestety wiąże się to z utratą
pewnej ilości informacji, jaką niesie ze sobą rozkład zmiennych ciągłych [Monti, 1999].
Przeciwieństwem dyskretyzacji jest przechowywanie w sieci bayesowskiej rozkładów
zmiennych ciągłych w sparametryzowanej postaci. Najważniejszym modelem, który realizuję
tą koncepcje jest sieć CLG, czyli sieć z warunkowym liniowym rozkładem Gaussa (ang.
Conditional Linear Gaussian). Popularność tej reprezentacji, jest konsekwencją opracowania
algorytmu dokładnej inferencji w [Lauritzen, Jensen, 1999] – dokładnej w tym sensie, że
liczony jest dokładny rozkład dla zmiennych dyskretnych, a dla ciągłych pierwszy i drugi
moment. Taka reprezentacja miała poważną wadę – nie pozwalała na używanie dyskretnych
zmiennych, które mają ciągłych rodziców. Podjęto wiele skutecznych prób obejścia tego
problemu ([Murphy, 1999] metoda wariacyjna, [Lerner et al, 2001] numeryczne całkowanie).
Jako reprezentacje dla niedozwolonej przez Lauritzen’a pary dyskretna zmienna –
ciągli rodzice, wybiera się zwykle funkcję softmax, która zawiera rodzaj ‘miękkiego’ progu
dla ciągłego rodzica. Gdy istnieją również dyskretni rodzice, to dla każdej ich konfiguracji
istnieje inna funkcja softmax.
Ponieważ mechanizm inferencji jest rozwinięciem oryginalnej koncepcji Lauritzen’a,
odziedziczył po nim jego wady – opiera się on na algorytmie ‘junction tree’, a sieci CLG
mogą prowadzić do bardzo złożonych drzew klik, dla których dokładna inferencja jest w
praktyce niemożliwa (ze względu na koszty obliczeniowe).
Kolejną próbą rozwiązania problemu mieszaniny atrybutów ciągłych i dyskretnych jest struktura
zaproponowana przez Davisa i Moora [2000], nosząca nazwę Mix-net, która była przedmiotem prac
eksperymentalnych, przedstawianych w niniejszym artykule. Mix-net w odróżnieniu od klasycznych
sieci bayesowskich nie kojarzy ze zmiennymi warunkowego rozkładu względem rodziców lecz
rozkład bezwzględny łączny węzła i jego rodziców. Pozwala to na bardziej elastyczne podejście do
wnioskowania w sieci. Reprezentacja łącznego rozkładu Pi ( X i ,  i ) w i-tym węźle jest zapamiętywana
w tzw. Mix-table, i od zwykłej tablicy dla sieci tylko ze zmiennymi dyskretnymi, różni się jedynie
uzupełnieniem o specjalną reprezentację zmiennych ciągłych. Każdy wpis do tej tablicy składa się z
trzech elementów:
1. Konfiguracja wartości zmiennych dyskretnych, jakie występują w i-tym węźle;
2. Prawdopodobieństwo zajścia takiej konfiguracji wartości;
3. Mieszanina wielowymiarowych Gaussów, będąca estymatorem zmiennych ciągłych;
Dokładna inferencja dla Mix-net jest niemożliwa [Davis,Moore,2000], ale pozostaje cały arsenał
metod przybliżonych. Przykładowo w doświadczalnej implementacji w [Klopotek, Sonsnowski,
9/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
2003] zastosowano metodę LW (Likelihood Weighting [Neal, 1993]), zmodyfikowaną na potrzeby
Mix-net.
3. Metody podejmowania decyzji w sieci bayesowskiej
Sieć bayesowska pozwala na odpowiedzenie na szereg pytań związanych z podejmowaniem
decyzji:
 pytanie o najbardziej prawdopodobną hipotezę,
 pytanie o uzasadnienie hipotezy,
 pytanie o decyzję o najwyższej wartości użytkowej,
 kwerendy proste o wartość logiczną wyrażenia,
 kwerendy złożone o wartość logiczną wyrażenia,
 pytanie o niezależność warunkową zmiennych
 pytanie o wygenerowanie próbki danych z rozkładu
 itp.
Poza tym specyficzne metody konstrukcji sieci bayesowskich pozwalają na odkrywanie
zależności przyczynowo-skutkowych, odkrywanie zmiennych ukrytych (nie wykrytych, ale
mających wpływ na naturę opisywanego zjawiska).
Poniżej skupimy się jedynie na aspekcie określania najbardziej prawdopodobnej
hipotezy. Jak już wspomniano, chodzi o określenie P(D=d| X1=x1, X2=x2,...,Xk=xk) hipotezy
D=d, gdy zaobserwowaliśmy, że zmienne X1, X2,...,Xk przyjęły wartości X1=x1,
X2=x2,...,Xk=xk. Jak wspomnieliśmy, sieć bayesowska nad zbiorem zmiennych pozwala w
sposób kompaktowy przedstawić ich łączny rozkład prawdopodobieństwa. Problem
wnioskowania polega na tym, byśmy podczas wnioskowania nie musieli przechowywać ani
obliczać łącznego rozkładu prawdopodobieństwa.
Na wstępie zauważmy, że jeżeli w sieci bayesowskiej występują w naszym
zagadnieniu jedynie zmienne D, X1, X2,...,Xk , to problem decyzyjny sprowadza się do
obliczenia dla każdego dDom(D) wartości
P(d,x1,...,xk) = P(d|(d,x1,...,xk) pa(D))* i=1…k P(xi |(d,x1,...,xk) pa(Xi)),
A następnie wybrania tego d, dla którego P(d,x1,...,xk) jest największe, ponieważ
P(d|x1,...,xk)= P(d,x1,...,xk)/( d’Dom(D) P(d’,x1,...,xk))
A więc dla każdego dDom(D) P(d|x1,...,xk) różni się od P(d,x1,...,xk) stałym czynnikiem.
Jednakże w ogólnym przypadku, gdy nasze zmienne obserwowane oraz hipoteza są
tylko częścią większego zbioru zmiennych X, zawierającego dodatkowo zmienne Y1,...,Ym,
mamy do czynienia z bardziej złożoną obliczeniowo sytuacją. Wtedy bowiem
P(d,x1,...,xk) = y1,...,ym; y1Y1, …,ymYm P(d|(d,x1,...,xk,y1,...,ym) pa(D))* i=1…n P(xi
|(d,x1,...,xn,y1,...,ym) pa(Xi)),
Wtedy mamy do wyboru dwie zasadnicze strategie:
 próbkowanie
 wnioskowanie „ścisłe” w dogodnej postaci sieci
Próbkowanie polega np. na generowaniu próbki metodą Gibbs sampling z łącznego rozkładu
reprezentowanego przez sieć bayesowską i zliczaniu dla każdego d liczby elementów próbki
spełniających warunek D=d,. X1=x1, X2=x2,...,Xk=xk, a następnie szacowania
prawdopodobieństwa warunkowego z częstości.
Wnioskowanie ścisłe opracowano niestety tylko dla drzewiastej struktury sieci
bayesowskiej. Dla bardziej ogólnych form sieci opracowano reprezentację w postaci tzw.
drzewa Markowa, dla której istnieje efektywny sposób wnioskowania. Niestety zadanie
przekształcenia typowej sieci bayesowskiej do drzewa Markowa jest zadaniem trudnym.
Najpierw omówimy koncepcję drzewa Markowa i wnioskowania w nim, a następnie sposób
przekształcania sieci bayesowskiej do drzewa Markowa.
10/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
3.1. Drzewo Markowa a wnioskowanie
Z,T,S
Y,S,R
Z,Y,S
(a)
Y,X
Z,T,S
Z,S
Y,S,R
Y,S
Z,Y,S
Y
(b)
Y,X
Rysunek 8 (a) Drzewo Markowa i odpowiadające mu (b) drzewo złączeń
Drzewo Markowa (Markov tree) nad zbiorem zmiennych X jest strukturą (X,HW, HK,
Pot), w której HW to tzw. zbiór hiper-węzłów, tzn podzbiorów zbioru X - HW2X. HK jest
grafem nieskierowanym, którego węzłami są elementy z HW, który ma strukturę drzewa, i w
którym jeśli zmienna XX jest zawarta w dwóch (hiper)węzłach hi,hjHW, tzn. Xhi i Xhj,
to X jest także elementem każdego hHW na (jedynej) ścieżce łączącej hi i hj w grafie HK.
Przykładowo w drzewie Markowa na Rysunek 8a) zmienna Y jest obecna w hiperwęzłach
{Y,X} i {Y,S,R}, dlatego musi być też obecna w hiperwęźle na ścieżce je łączącej, tzn w
{Z,Y,S}. Pot jest tzw. potencjałem, zbiorem funkcji Pot(h)() zdefiniowanych dla każdego

hHW, takich że Pot(h): Xh Dom(X)->R (odwzorowuje elementy produktu kartezjańskiego
dziedzin wszystkich zmiennych należących do hiperwęzła w element zbioru liczb
rzeczywistych).
Jeżeli na grafie HK będziemy etykietować krawędź łączącą dwa hiperwęzły h i i hj
zbiorem hi hj , jak Rysunek 8b), to graf taki nazwiemy drzewem złączeń (junction tree).
Zbiór hi hj nazywany jest separatorem.
Proces wnioskowania w drzewie Markowa jest zdefiniowany w następujący sposób.
Każdy hiperwęzeł, natychmiast do swego sąsiada h po otrzymaniu wiadomości msg od
wszystkich swych pozostałych sąsiadów. Swój potencjał wynikowy oblicza dany hiperwęzeł
po uzyskaniu wiadomości od wszystkich swych sąsiadów. Potencjały wynikowe są wynikami
wnioskowania, o czym za chwilę przy omawianiu zamiany sieci bayesowskiej w drzewo
Markowa. Cały proces zaczyna się w tych węzłach, które mają tylko jednego sąsiada (one w
momencie początkowym procesu wnioskowania już „otrzymały” wiadomości od „wszystkich
pozostałych” sąsiadów , ponieważ zbiór pozostałych sąsiadów jest po prostu pusty).
msg
Y,S
msg
Z,S
Z,T,S
Y,S,R
Z,Y,S
msg
Y
Rysunek 9 Przesyłanie wiadomości
Y,X
11/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
msg
Y,S
msg
Z,S
Z,T,S
Y,S,R
Z,Y,S
msg
Y
Y,X
Rysunek 10 Obliczanie potencjału końcowego
Wiadomość wysyłaną przez hiperwęzeł hj do swego sąsiada hk oblicza się poprzez
„złożenie” potencjału hiperwęzła hj i wiadomości otrzymanych od pozostałych sąsiadów.
Niech N(hj) oznacza zbiór sąsiadów hj w drzewie Markowa. Wiadomość wysyłaną przez

hiperwęzeł hj do swego sąsiada hk oblicza jak następuje: Niech Dom(h)= Xh Dom(X). dla
każdego wektora wartości zmiennych xDom(hj hk )
msg(hj->hk) (x) =y;yDom(hj),yhjhk=x Pot(hj)(y) * HlN(Hj)-{Hk} msg(hl->hj) (y)  hj hl
Potencjał finalny PotFIN(hk)() hiperwęzła hk dla każdego wektora wartości zmiennych
xDom(hk ) oblicza się jako złożenie jego własnego potencjału i wiadomości od wszystkich
sąsiadów:
PotFIN(hk)(x) =Pot(hk) (x) * hjN(hk) msg(hj->hk) (x hj hk)
Złożoność wnioskowania zależy od maksymalnej liczności zbiorów Dom(h) dla
drzewa Markowa.
3.2. Zamiana sieci bayesowskiej na drzewo Markowa
Zanim rozważymy problem zamiany sieci bayesowskiej na drzewo Markowa,
zauważmy, że problem wnioskowania probabilistycznego możemy przeformułować w
następujący sposób.
Wprowadźmy pojęcie mnożników indykatorowych PI(). Jeśli dana zmienna
obserwowana przyjęła wartość xk, to mnożnik indykatorowy PI(xk) przyjmie wartość 1, a
dla pozostałych wartości xk’ z Dom(Xk) PI(xk’)=0. Natoamist dla pozostałych,
nieobserwowanych zmiennych (hipotezy i innych zmiennych nieobserwowanych)
Xi
zakładamy, że PI(xi) przyjmuje wartość 1 dla każdej wartości xi z Dom(Xi).
Przy takim założeniu mamy do czynienia ze “zmodyfikowanym łącznym rozkładem
prawdopodobieństwa”
P(x1,….,xn) i=1…n PI(xi)= i=1…n PI(xi)P(xi |(x1,...,xn) pa(Xi))
(2)
P(x1,……….,xn) i=1…n PI(xi) jest “nieznormalizowanym” prawdopodobieństwem
warunkowym zmiennych nieobserwowanych względem obserwowanych, ponieważ dla
ustalonych wartości zmiennych obserwowanych suma P(x1,……….,xn) i=1…n PI(xi) po
wszystkich wartościach zmiennych nieobserwowanych nie daje 1. Z drugiej strony, jeśli
zmienne X1,…,Xk są zmiennymi obserwowanymi, to w oczywisty sposób
P(xk+1,…,xn|x1,…,xk) =P(x1,……….,xn) i=1…n PI(xi)/ (  x’[k+1],…,x’n P(x1,… xk , x’k+1…….,x’n)
i=1…n PI(xi)).
Zamiana sieci bayesowskiej na drzewo Markowa może nastąpić na jednej z
następujących sposobów:
 Sposób 1 [Shenoy, Shafer, 1990]
o transformacja sieci bayesowskiej do hipergrafu
o transformacja hipergrafu do hiperdrzewa
o transformacja hiperdrzewa do drzewa Markowa
 Sposób 2 [Lauritzen, 1996]
12/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
o transformacja sieci bayesowskiej do grafu moralnego
o transformacja grafu moralnego do grafu triangularyzowanego
o transformacja grafu triangularyzowanego do drzewa złączeń (równoważnego
drzewu Markowa)
Na koniec trzeba przypisać potencjały węzłom drzewa Markowa/drzewa złączeń.
Hipergraf nad pewnym zbiorem zmiennych X jest to dowolny zbiór H 2X. Elementy
hipergrafu nazywamy hiperłukami. Hipergraf odpowiadający pewnej sieci bayesowskiej
(X,K,P) to zbiór złożony dokładnie ze wszystkich hiperłuków postaci {Xi} pa(Xi) dla
każdego XiX. Rysunek 11 przedstawia hipergraf dla sieci bayesowskiej, którą pokazuje
Rysunek 1. Hipergraf H nazywamy hiperdrzewem wtedy, gdy istnieje taki porządek < of
hiperłuków z H, że dla każdego hiperłuku hk istnieje hiperłuk hj taki że j<k oraz dla
dowolnego hi przy i<k zachodzi hi hk hj hk. Hiperłuk hk jest nazywany gałązką (twig) na
konarze (branch) hj. Jeżeli dany hipergraf nie jest hiperdrzewem, można go zamienić na
hiperdrzewo poprzez dodanie pewnej ilości hiperłuków. Nietrywialne zadanie polega na tym,
by każdy z tych hiperłuków miał jak najmniejszą liczbę gałęzi. Przykładowe hiperdrzewo dla
hipergrafu z Rysunek 11 przedstawia Rysunek 12.
Zamiana hiperdrzewa na drzewo Markowa jest z kolei zadaniem trywialnym.
Wystarczy wybrać jeden z porządków < wspomnianych wyżej, każdy hiperłuk z H uczynić
hiperwęzłem drzewa Markowa, i połączyć ze sobą łukami każdą gałązkę z jej konarem.
Przykładowe drzewo Markowa dla hiperdrzewa z Rysunek 12 przedstawia Rysunek 8
T
S
R
Y
Z
X
Rysunek 11 Hipergraf
T
S
R
Z
Y
X
Rysunek 12 Hiperdrzewo
Graf moralny dla sieci bayesowskiej (X,K,P) to graf nieskierowany (X,E), w którym E
łączy ze sobą te pary zmiennych, które są połączone w K oraz dodatkowo te pary, dla których
istnieje takie X, że obie zmienne należą do pa(X). Dla sieci bayesowskiej z Rysunek 1
Rysunek 13 przedstawia graf moralny. Węzły S i Y są połączone krawędzią, ponierważ oba
są rodzicami R w pierwotnej sieci bayesowskiej.
13/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
T
S
R
Z
Y
X
Rysunek 13 Graf moralny
Graf triangularyzowany to taki graf nieskierowany, w którym w każdym nieskierowanym
cyklu o więcej niż trzech węzłach istnieją dwa niesąsiadujące z sobą w tym cyklu węzły. Graf
moralny często wymaga dodania kilku krawędzi, by otrzymać graf trangularyzowany. Graf
reprezentowany przez Rysunek 13 musiał być uzupełniony o krawędź ZS, aby cykl Z-T=-SY-Z spełniał wymóg grafu tiangularyzowanego (Rysunek 14).
T
S
R
Z
Y
X
Rysunek 14 Graf triangularyzowany
Z grafu triangularyzowanego możemy w prosty sposób otrzymać hiperdrzewo:
poszukujemy wszystkich klik (czyli podgrafów zupełnych) w grafie trangularyzowanym. A z
niego już w prosty sposób otrzymujemy drzewo Markowa.
Drzewo Markowa należy jeszcze anotować potencjałami. Jeżeli HW, to zbiór
hiperwęzłow, a HK to zbiór łuków w drzewie Markowa odpowiadającym sieci bayesowskiej
(X,K,P), to definiojemy funckę PotAss: X-> HK, która każdej zmiennej X przypisuje taki
hiperłuk h, by {X}pa(X)h. Wtedy potencjał Pot(h)() hiperwęzła h dla każdego wektora
wartości zmiennych xDom(h) definiujemy w następujący sposób:
Pot(h) (x) =1 * XPotAss-1(h) P(x X| x pa(X))
W ten sposób
P(x1,...,xn) = i=1…n P(xi |(x1,...,xn) pa(Xi))= hHK Pot(h) ((x1,...,xn) h)
Z
Z,T,S
T
Y,S,R
Z,Y,S
Y
R
S
Y,X
X
(c)
Rysunek 15 Drzewo Markowa ze zmiennymi indykatorowymi
W celu obliczania prawdopodobieństwa hipotezy względem zmiennych
obserwowanych, należy do drzewa Markowa dodać uzupełnienie w postaci hiperwęzłów
indykatorowych (prostokąty na Rysunek 15). Dodaje się dla każdej zmiennej X z X jeden
hiperwęzeł indykatorowy {I(X)} i musi on być połączony z jednym z hiperwęzłów
zawierających tę zmienną. Potencjał hiperwęzła indykatorowego Pot(I(X)) otrzymuje się w
następujący sposób: Jeżeli dana zmienna obserwowana przyjęła wartość x k, to potencjał
14/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
indykatorowy Pot(I(Xk))(xk) przyjmie wartość 1, a dla pozostałych wartości xk’ z Dom(Xk)
Pot(I(Xk))(xk’)=0. Natomiast dla pozostałych, nieobserwowanych zmiennych (hipotezy i
innych zmiennych nieobserwowanych) Xi zakładamy, że Pot(I(Xi)) (xi) przyjmuje wartość 1
dla każdej wartości xi z Dom(Xi). Po tym uzupełnieniu nowe drzewo Markowa ma tę
własność, że
P(x1,….,xn) i=1…n PI(xi)= i=1…n PI(xi)P(xi |(x1,...,xn) pa(Xi)) = hHK Pot(h)
((x1,...,xn) h)
3.3. Szczególne przypadki zamiany sieci bayesowskiej na drzewo
Markowa
Jak wspomniano, zadanie zamiany sieci bayesowskiej jest zadaniem NP trudnym
ogólnym przypadku. Jednakże dla specyficznych sieci bayesowskich transformacja do drzewa
Markowa jest (niemal) trywialna.
Dla naiwnej sieci bayesowskiej, sieci drzewiastej i niby-drzewiastej drzewo
Markowa jest topologicznie identyczne z oryginalną siecią, przy czym hiperwęzły drzewa
Markowa zawierają zmienną z oryginalnej sieci plus rodzice (o ile posiada).
Dla bardziej skomplikowanych sieci próbowano osiągnąć efekt redukcji do drzewa
lub serii drzew poprzez tzw. metodę absorpcji ewidencji [Shachter, 1990] oraz fuzji [Pearl,
1988]. Metoda absorpcji ewidencji polega na przekształcaniu sieci tak, by węzły ewidencji (o
znanych wartościach) przesuwać coraz bliżej korzenia. Po takim przekształceniu dzieci węzła
ewidencji tracą połączenie ze swym rodzicem (bo ma on stałą wartość). W metodzie fuzji
wprowadza się w wybranych miejscach „sztucznie” węzły ewidencji tak, aby powstawało
niby-drzewo. Następnie przeprowadza się wielokrotnie wnioskowanie, za każdym razem dla
ij\innej kombinacji możliwych wartości węzłów „sztucznej ewidencji”. Na koniec składa się
wyniki dla wszystkich kombinacji wartości sztucznych węzłów.
S,
V
T ,V
R
,V
Y
,V
Z,V
X ,V
V
Rysunek 16 Drzewo Markowa dla przykładowej naiwnej sieci bayesowskiej
15/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
T,Z
S,T
R,Y
Z
Y,Z
X,Y
Rysunek 17 Drzewo Markowa dla przykładowej drzewiastej sieci bayesowskiej
T
S,T
R,Y,S
Z
Y,Z
X,Y
Rysunek 18 Drzewo Markowa dla przykładowej niby-drzewiastej sieci bayesowskiej
Uzyskanie drzewa Markowa dla sieci strukturalnej jest nieco bardziej
skomplikowane, ale o złożoności wielomianowej. Droga prowadzi poprzez graf moralny. Aby
z grafu moralnego uzyskać graf triangularyzowany, należy dodać krawędzie łączące węzeł
początkowy „alternatywy” ze wszystkimi innymi węzłami w alternatywie prócz węzłów
„wewnątrz” zagnieżdżonych alternatyw [Klopotek, 2003a, 2003b].
B
E
H
J
G
C
D
A
Rysunek 19 Graf triangularyzowany dla przykładowej sieci strukturalnej
Na powyższym rysunku łuki HG i CD wprowadzono tytułem umoralniania, zaś BC,
BA i BD tytułem triangulacji. Warto odnotować, że odpowiednie drzewo Markowa będzie
zawierać hiperwęzły o liczności co najwyżej 4.
4. Pozyskiwanie sieci bayesowskich
Sieci bayesowskie mogą być dostarczone przez eksperta i/lub nauczone (odkryte) z danych.
Dane traktuje się jako zbiór m wektorów (x1(i),...,xn(i)), i=1,...,m, wygenerowanych niezależnie
od siebie z rozkładu prawdopodobieństwa reprezentowanego przez pewną „prawdziwą” sieć
bayesowską (X,K,P). Na podstawie danych tworzona jest sieć bayesowska (X,K’,P’) taka, by
„jak najwierniej” przybliżała (X,K,P).
Opracowano algorytmy uczenia się z danych dla szeregu specyficznych poziomów
informacji:
16/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
znana jest struktura sieci (K), dane są pełne
znana jest struktura sieci, dane są niepełne (występują braki danych)
jest nieznana struktura sieci, ale znamy wszystkie uczestniczące zmienne, dane pełne
jest nieznana struktura sieci, nie znamy wszystkich uczestniczących zmiennych, dane
pełne
5. jest nieznana struktura sieci, ale znamy wszystkie uczestniczące zmienne, dane
niepełne
6. jest nieznana struktura sieci, nie znamy wszystkich uczestniczących zmiennych, dane
niepełne
1.
2.
3.
4.
Stopień trudności pozyskiwania sieci bayesowskich z danych rośnie wraz z numerem
przypadku. Dodatkowo stopień trudności pozyskiwania sieci z danych zależy od stopnia
złożoności poszukiwanej sieci: od najprostszego przypadku naiwnej sieci drzewiastej, potem
sieci drzewiastej, poprzez niby-drzewiastą, strukturalną aż do sieci bayesowskiej ogólnego
typu. Poszukiwanie sieci może uprościć znajomość dodatkowych cech, takich jak porządek
czasowy obserwacji zmiennych (który jest domniemanym porządkiem zgodnym z
zależnościami przyczynowo-skutkowymi).
Pierwszy przypadek jest stosunkowo łatwy: polega na ocenie prawdopodobieństwa
warunkowego z próbki danych. Mamy z nim do czynienia np. dla naiwnych sieci
bayesowskich. Samo wyznaczenie wyróżnionej zmiennej wystarcza do znajomości struktury.
Drugi przypadek wymaga postępowania iteracyjnego. Zwykle stosuje się technikę
EM: losowo uzupełnia dane, uczy się prawdopodobieństw warunkowych, a następnie
przewiduje się brakujące dane z obliczonych prawdopodobieństw warunkowych i ponownie i
wylicza prawdopodobieństwa warunkowe, aż do osiągnięcia kryterium zbieżności. Pr
Trzeci przypadek będzie bliżej omówiony w podpunkcie
Przypadek czwarty ilustrują algorytmy CI oraz FCI Spirtesa, Glymoura i Scheinesa.
Bazują one na obserwacji, iż niektóre algorytmy konstrukcji sieci bayesowskich z danych w
przypadku trzecim (jak np. SGS, PC) prowadzą do struktur sprzecznych (nie powstaje
acykliczny graf skierowany), jeżeli istnieją zmienne ukryte. Miejsca, w których potencjalnie
mogą powstać skierowane cykle, modyfikuje się poprzez domniemanie istnienia zmiennej
ukrytej.
Przypadek piąty i szósty sprowadzają się generalnie do zastosowania techniki EM dla
przypadku trzeciego i czwartego.
4.1. Uczenie sieci bayesowskiej o znanej strukturze przy niepełnych
danych
Jednym z ciekawych przypadków uczenia sieci bayesowskiej z danych w wypadku
znajomości struktury i niekompletności danych jest zagadnienie klasteryzacji dokumentów
tekstowych. Szeroka klasa przeznaczonych do tego celu algorytmów zakłada probabilistyczny
model generowania dokumentów, oparty o trójwarstwowy model sieci. Każdy węzeł
pierwszej sieci ma krawędzie skierowane ku każdemu węzłowi drugiej warstwy, a te ku
trzeciej. W wektorach danych dostępne są jedynie informacje o zmiennych z warstw
pierwszej i trzeciej. Dla warstwy drugiej kompletnie brakuje informacji.
17/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
PLSA - concept
Hidden
variable
T1
T2
D
Z
.....
Tn
Rysunek 20 Przykładowa sieć naiwna bayesowska algorytmu PLSA
Tak zwana Probabilistyczna Analiza Semantyczna Zmiennych Ukrytych (Probabilistic
Latent Semantic Analysis, PLSA) (Hofmann, 1999) buduje wieloczynnikowy model klastrów
dokumentów w oparciu o tematyczny model generowania dokumentów. Punktem wyjścia
obliczeń jest macierz termów i dokumentów N zliczająca słowa, tj. Nij oznacza, jak często
term (pojedyncze słowo lub fraza) ti występuje w dokumencie dj. PLSA dokonuje
probabilistycznej dekompozycji tej macierzy, co jest znaczeniowo bliskie do nieujemnej
dekompozycji macierzy. Każdy z czynników jest utożsamiany ze stanem zk (1 k  K)
zmiennej ukrytej – jedynego węzła z drugiej warstwy sieci bayesowskiej - (w pewien sposób
reprezentującej grupę tematyczną w zbiorze dokumentów). Z tymi stanami skojarzone są
oszacowania P(ti|zk) względnej częstości każdego termu – będącego węzłem trzeciej
warstwy - w zbiorze dokumentów. Dokument dj. – będący węzłem pierwszej warstwy - jest
reprezentowany jako wypukła kombinacja czynników o wagach mieszaniny P(zk|dj), tzn.
prawdopodobieństwa predykcji termu w poszczególnych dokumentach są ograniczone do
formy funkcyjnej
P(ti | dj) = Σk P(ti|zk)P(zk|dj),
z nieujemnymi prawdopodobieństwami spełniającymi ograniczenia z dwu grup: Σi P(ti|zk) = 1
dla każdego k oraz Σk P(zk| dj) = 1 dla każdego j.
Zarówno czynniki jak i wagi specyficzne dla danego dokumentu są ekstrahowane z
danych poprzez maksymalizację prawdopodobieństw termów zaobserwowanych w zbiorze
dokumentów. Czyli z formalnego punktu widzenia PLSA dąży do maksymalizacji wyrażenia
L:= Σi,j Nij log Σk P(ti|zk)P(zk|dj).
Ponieważ czynniki zk można interpretować jako stany ukrytej zmiennej mieszającej związanej
z każdą obserwacją wystąpienia słowa, można zastosować do poszukiwania lokalnego
maksimum L algorytm maksymalizacji wartości oczekiwanej (Expectation-Maximization,
EM).
18/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
EM algorithm – step 0
Data:
D
1
2
3
4
5
..........
Z
?
?
?
?
?
T1
1
0
1
0
1
T2 ...
0 ...
0 ...
1 ...
1 ...
0 ...
Tn
1
1
1
1
0
Data:
D
1
2
3
4
5
..........
Z randomly initialized
Z
1
2
1
1
2
T1
1
0
1
0
1
T2 ...
0 ...
0 ...
1 ...
1 ...
0 ...
Rysunek 21 Krok 0 (inicjalizacji) algorytmu EM w PLSA
EM algorithm – step 1
Data:
D
1
2
3
4
5
..........
Z
1
2
1
1
2
T1
1
0
1
0
1
T2 ...
0 ...
0 ...
1 ...
1 ...
0 ...
Tn
1
1
1
1
0
Hidden
variable
T1
T2
BN trained
D
Z
Tn
Rysunek 22 Krok 1 (estymacji) algorytmu EM w PLSA
Tn
1
1
1
1
0
19/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
EM algorithm step 2
Hidden
variable
D
T1
Z sampled for each record according to
the probability distribution
T2
P(Z=1|D=d,T1=t1,...,Tn=tn)
P(Z=2|D=d,T1=t1,...,Tn=tn)
....
Z
Tn
Z sampled from BN
Data:
D
1
2
3
4
5
..........
Z
2
2
1
2
1
T1
1
0
1
0
1
T2 ...
0 ...
0 ...
1 ...
1 ...
0 ...
Tn
1
1
1
1
0
GOTO step 1 untill convergence (Z assignment „stable”)
Rysunek 23 Krok 2 (maksymalizacji) algorytmu EM w PLSA
Oryginalna metoda EM dla w/w przypadku opiera się na następujących przesłankach
(UWAGA: jest to korekta błędnych wzorów podanych w [Cohn01], (3),(4) oraz (5):
1. Dana jest tablica Nij oznaczająca, jak często term (pojedyncze słowo lub fraza) ti
występuje w dokumencie dj..
2. Załóżmy, że pragniemy klasteryzować na klastry zk.
3. Tworzymy nową tablicę Djk mówiącą, z jakim prawdopodobieństwem dokument dj
należy do klasy zk. (P(zk|dj). Inicjalizujemy ją losowo zerami i jedynkami tak, by dla
każdego j istniało dokładnie jedno k takie, że Djk=1. W dalszym ciągu pracy suma
Djk po wszystkich k będzie dawać zawsze 1.
4. Tworzymy nową tablicę Tik mówiącą, z jakim prawdopodobieństwem term Ti
występuje w klasie zk. (P(ti|zk)). Inicjalizujemy ją na podstawie tablic Nij oraz Djk w
następujący sposób: Tworzymy tablicę Mik jako iloczyn macierzowy Nij oraz Djk.
Wtedy Tik=P(ti|zk)= Mik/(suma po i’ z Mi’k). W dalszym ciągu prac zawsze będzie
zachowane, że suma Tik po i będzie równa 1.
5. Zauważmy, że z definicji P(zk|ti,dj)=P(zk,ti,dj)/P(ti,dj) = P(ti | dj,zk) * P(dj,zk) /
P(ti,dj) = P(ti | dj,zk) * P(zk| dj) * P(dj) / (P(ti|dj)*P(dj)). Licznik i mianownik
możemy podzielić przez P(dj) i stąd mamy = P(ti | dj,zk) * P(zk| dj) / P(ti|dj).
Zauważmy dalej na bazie koncepcji PLSA, że zk d-separuje dj od ti, czyli P(ti |
dj,zk)= P(ti |zk) co implikuje równanie P(zk|ti,dj) = P(ti | zk) * P(zk| dj) / P(ti|dj).
6. Przy tym P(ti|dj) liczymy z danych: P(ti|dj)=Nij/(suma po i’ z Ni’j), zaś P(ti | zk) i
P(zk| dj) to odpowiednio zawartość tablic Tik oraz Djk.
7. Zauważmy także, że korzystając ze wzoru na końcu 5 P(zk|ti,dj) możźemy wyliczyć
drugim sposobem: R(zk|ti,dj) = P(ti | zk) * P(zk| dj), P(zk|ti,dj) = R(zk|ti,dj)/(suma k’
R(zk’|ti,dj) ), przy czym P(ti | zk) i P(zk| dj) to odpowiednio zawartość tablic Tik oraz
Djk.
20/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
8. Zauważmy, że z definicji P(zk| dj) = P(dj , zk)/P(dj) = (suma po i z P(ti,dj,zk))/P(dj)
= (suma po i z P(zk|dj,ti)*P(dj,ti))/P(dj) = (suma po i z P(zk|dj,ti)*P(ti|dj)). Przy tym
P(ti|dj) mamy bezpośrednio0 z danych (patrz pkt. 6), a P(zk|dj,ti) ze wzoru na końcu
pkt.7.
9. Zauważmy, że z definicji P(ti | zk) = P(ti , zk)/P(zk) = (suma po j z
P(ti,dj,zk))/P(zk)= (suma po j z P(zk|dj,ti)*P(dj,ti))/P(zk). Zauważmy, że P(dj,ti)
otrzymamy z danych – jest to po prostu Nij, P(zk|dj,ti) otrzymamy z wzoru z pkt. 7.
Natomiast „nowe” P(zk), które powinniśmy tu wstawić, jest nieznane. Ale możemy
się bez niego obejść zauważając, że suma P(ti | zk) po i winna być równa 1. Wobec
czego definiujemy wielkość R(ti | zk) = (suma po j z P(zk|dj,ti)*P(dj,ti)), a
P(ti|zk)=R(ti|zk)/(suma po i’ z R(ti’|zk))
10. Wobec tego postępujemy w następujący sposób: dla danych tablic Djk i Tik
obliczamy nowe tablice Dnowejk i Tnoweik odpowiednio jako P(zk|dj) z pkt. 8 oraz
P(ti|zk) z punktu 9.
11. Jeśli Dnowejk jest zbliżone do Djk i Tnoweik jest zbliżone do Tik, kończymy
12. W przeciwnym razie podstawiamy: Tik=Tnoweik, Djk=Dnowejk
13. Przechodzimy do pkt. 10.
Jak wskazują badania empiryczne, różne czynniki zwykle wychwytują różne “tematy” w
zbiorze dokumentów. Dzięki grupowaniu dokumentów wg ich głównych czynników można
zaobserwować wyłanianie się użytecznych grup dokumentów charakteryzujących się wspólną
tematyką.
PLSA różni się od standardowego modelowania mieszanin tym, że z założenia
pojedynczy dokument dj może należeć w różnym stopniu do różnych stanów zk. Dlatego
klasteryzację PLSA można traktować jako grupowanie nierozłączne.
Klasteryzacja może opierać się nie tylko o wystąpienia termów, ale także o
wystąpienia linków między dokumentami. Reprezentantem tego podejścia jest inna metoda
zwana PHITS (Cohn, 2000), która dokonuje probabilistycznej faktoryzacji „cytowań”
dokumentów. Zasadnicza różnica w stosunku do PLSA polega na tym, że w warstwie trzeciej
węzłami nie są termy, lecz (cytowane) dokumenty.
21/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
PHITS - concept
Hidden
variable
C1
C2
D
Z
.....
Cm
Rysunek 24 Sieć naiwna w oryginalnym algorytmie PHITS.
Punktem wyjścia jest macierz A par dokument-cytowanie. Element Aij jest niezerowy
wtedy i tylko wtedy, gdy dokument di jest cytowany przez dokument dj czyli gdy dj zawiera
hiperlink do di. Ekstrahuje się główne wektory własne macierzy AA'. Każdy z wektorów
własnych odnosi się do „wspólnoty” podobnych wzorców cytowań. Współczynnik
dokumentu w takim wektorze własnym jest interpretowany jako „autorytatywność”
(prawdopodobieństwo cytowania) we „wspólnocie”. Natomiast współczynnik dokumentu w
głównych wektorach własnych macierzy A'A interpretuje się jako “informatywność” we
wspólnocie – ile autorytatywnych dokumentów ze wspólnoty jest cytowanych w tym
dokumencie.
Warto zauważyć, że w PHITS analizę wektorów własnych zastępuje model
probabilistyczny, który posiada jasną statystyczną interpretację. Z matematycznego punktu
widzenia PHITS jest identyczny z PLSA z tą różnicą, że zamiast modelować cytowania
zawarte wewnątrz dokumentów(modelowanie termów wewnątrz dokumentu w ramach
PLSA) PHITS modeluje linki wchodzące do dokumentu, czyli cytowania zewnętrzne
dokumentu. Stosowane w PLSA oszacowania prawdopodobieństwa termów są w PHITS
zastępowane oszacowaniem prawdopodobieństwa cytowanie-źródło
P(cl| zk) na bazie
zależności.
P(ci|dj) = Σk P(cl| zk)P(zk |dj)
z nieujemnymi prawdopodobieństwami spełniającymi ograniczenia z dwu grup: Σi P(ci|zk) =
1 dla każdego k oraz Σk P(zk| dj) = 1 dla każdego j.
Tak jak w
PLSA główne czynniki modelu są interpretowane jako wskaźniki
głównych wspólnot cytujących (a tym samym główne tematy). Dla danego czynnika/tematu
zk prawdopodobieństwo, że dokument jest cytowany, P(dj| zk), jest interpretowane jako
autorytatywność dokumentu w danym temacie.
Dokumenty powiązane linkami (hiperlinkami) są zwykle zbudowane zarówno z
termów jak i cytowań. Stąd zarówno analiza PLSA oparta o termy jak i analiza PHITS oparta
o cytowania ma dla nich zastosowanie. Zamiast stosować je oddzielnie, można pokusić się o
22/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
połączenie obu tych analiz w jeden łączny model probabilistyczny wyjaśniający termy i
cytowania we wspólnym języku czynników, jak to zrobiono w pracy (Cohn, 2001) .
Ponieważ zarówno PLSA jak i PHITS są oparte na podobnej dekompozycji rozkładu
prawdopodobieństwa, w (Cohn, 2001) zdefiniowano łączny model predykcji cytowań/linków
oraz termów w dokumentach, w którym trzecia warstwa sieci bayesowskiej składa sie
zarówno z węzłów-termów jak i węzłów-cytowanych dokumentów. Warunkowe
prawdopodobieństwa występowania cytowań jak i termów w dokumentach opisuje zależność:
P(ti,ci|dj) = (Σk P(ti| zk)P(zk |dj ) )*( Σk P(cl| zk)P(zk |dj) )
PLSA oraz PHITS mają te same proporcje mieszania związane z dokumentami P(zk
|dj ). Wiąże to warunkowe prawdopodobieństwa termów i cytowań dla każdego “tematu”.
Stąd wyuczona z danych dekompozycja będzie spójna zarówno ze statystyką zawartości
(termów) jak i linków (cytowań). Dlatego w szczególności można wykorzystywać wiedzę n.t.
zawartości do probabilistycznej predykcji linków (odpowiedź na pytanie: “Jaka jest
prawdopodobna struktura linków w dokumencie o takiej treści”) i na odwrót (odpowiedź na
pytanie”Jakie treści może zawierać dokument o takiej strukturze linków”).
Obliczenia warunkowych prawdopodobieństw dla stanów ukrytych z przeprowadza się
podobnie jak w każdej z metodologii PHITS i PLSA oddzielnie, t.j. używając algorytmu
EM.
PLSA/PHITS – complete model
Hidden
variable
D1
D2
C1
C2
Z
Dk
Naive Bayes
with hidden
variable
.....
Cm
T1
T2
Tn
Rysunek 25 Sieć naiwna dla połączonych algorytmów PLSA/PHITS
4.2. Zastosowanie w klasteryzacji dokumentów internetowych
W oczywisty sposób PLSA nadaje się do klasteryzacji dokumentów, jeśli będziemy traktować
zmienną ukrytą jako poszukiwane naturalne grupowanie dokumentów. Algorytm ten znajdzie
zastosowanie także w wypadku dokumentów internetowych, których kolekcje jednakże niosą
pewną informację dodatkową, nie uwzględnioną przez PLSA, czyli hiperlinki. Do eksploracji
hiperlinków nadaje się oczywiście PHITS, zwłaszcza w powiązaniu z PLSA (tzw. Model
wspólny). W ramach niniejszego artykułu (punkt 5), zaproponujemy modyfikacje samych
23/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
algorytmów PLSA/PHITS. Poniżej jednak chcemy zasygnalizować inną, testowaną przez nas
możliwość eksploracji linków, przy której możemy odwoływać się wyłącznie do PLSA
eksplorując linki. Kolejno prezentujemy podejście odległościowe oraz copy-and-paste.
Koncepcja odległościowa („podobnościowa”)
Wg literatury, po 5-10 krokach wzdłuż linków traci się „focus”. Wobec tego, jeśli po
najkrótszej prostej ścieżce odległość jest jednego linku, to podobieństwo niech wynosi ½, jeśli
2 linki – 1/3, jeśli 3 – 1/5, jeśli 4 – 1/7, jeśli 5 – 1/10, jeśli 6 i więcej – 0. Aby przeliczyć to
podobieństwo na miarę „słowną” (tzn. ile słów jest wspólnych), to do danej strony
„dopisujemy” słowa z przeciwnej strony ścieżki, przy czym przy „przepisywaniu” wagi
dzielimy przez liczbę linków wychodzących (ze strony startowej ścieżki) i mnożymy przez
powyższe „podobieństwo”. Dalej postępujemy jak przy klasycznym SOM.
Wszystkie algorytmy probabilistyczne stosujemy odpowiednio.
Koncepcja copy-and-paste
Ta koncepcja zakłada, że tekst wskazywanego / wskazującego dokumentu jest uzupełniany
treścią wokół linku do tego dokumentu w dokumencie wskazującym (ok. 100 słów) / treścią
dokumentu wskazanego o zredukowanej 10-krotnie wadze wszystkich słów.
Zamiast 10 krotnie można obniżać wage liczbą wychodzących linków, o ile ich ilość
jest większa niż 10.
W wypadku, gdy analiza nie pozwala na wytypowanie słów „wokół linku”, bierzemy
wszystkie słowa z dokumentu, skalując ich wagi proporcjonalnie do „stu słów”.
Wszystkie algorytmy probabilistyczne stosujemy odpowiednio.
4.3. Uczenie nieznanej struktury sieci
Opracowano szereg metod uczenia sieci bayesowskich z danych, tgenerujaćych
struktury sieci o różnych charakterystykach.
Tzw. algorytm Chow/Liu [Chow,Liu,1968] jest pierwszym i zarazem najprostszym
algorytmem. Powstał w 1968 roku. Tworzy sieć o strukturze drzewa skierowanego. Jeśli
próbka danych została wygenerowana przez rozkład, który miał strukturę drzewa, sieć może
być dokładnie odtworzona, w p.p. metoda gwarantuje, że rozkład prawdopodobieństwa
wyuczonego drzewa jest najbliższy spośród wszystkich możliwych drzew do pierwotnego
rozkładu próbki.
Algorytm Pearla [Pearl, 1988] tworzy sieć o strukturze polidrzewa. W roku 1988 Pearl
udowodnił, że skierowanie łuków tworzy sieciom bayesowskim większe możliwości przy
oddaniu zależności pomiędzy atrybutami. Na przykład zależność indukowana może być
przedstawiona przez sieć bayesowską, a nie może przez DMN (ang. Decomposable Markov
Network, czyli drzewo Markowa). Ogólnie mniej numerycznych parametrów jest potrzebnych
do wyspecyfikowania BN, niż do odpowiadającego jej DMN.
Twórcami kolejnego ciekawego algorytmu byli Wai Lam i Fahiem Bacchus [Bacchus,
Lam, 1994]. Stworzyli algorytm, który potrafi odtworzyć sieci wielopołączeniowe, co daje
większe możliwości w porównaniu z drzewami i polidrzewami. Opiera się on o hipotezę, że
najlepsze przybliżenie rozkładu prawdopodobieństwa uzyskuje się stosując zasadę
minimalnej długości opisu (X,K,P).
Algorytm, którego autorami są Thomas Kämpke i Tilmann Urban [1999] przedstawia
sieć bayesowską w postaci skierowanego acyklicznego grafu (ang. directed acyclic graph –
24/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
DAG). Poszukuje on sieci o najwyższym prawdopodobieństwie poprawnego przewidywania
danych z próbki.
Autorami kolejnego algorytmu, zwanego BENEDICT(BElief NEtworks DIscovery
using Cut-set Techniques) są Silvia Acid i Luis M. de Campos [1996]. Jest modyfikacją
algorytmu Pearla przy założeniu znajomości kompatybilnej kolejności „czasowej” zdarzeń
opisywanych przez zmienne. Na tej podstawie rozszerza się algorytm Pearla (obowiązujący
dla niby-drzew) na klasę sieci bayesowskich o strukturze ogólnej.
Innym algorytmem, wykorzystującym w swej koncepcji „porządek czasowy” jest
algorytm K2 Algorytm K2 [Cooper, Herskovits, 1992] należy do grupy algorytmów
heurystycznych posługujących się bayesowska funkcją dopasowania struktury sieci do
rozkładu jako funkcją oceniającą. Dane wejściowe algorytmu K2 powinny spełniać wszystkie
założenia typowe dla algorytmów uczących sieci bayesowskiej oraz dodatkowo dwa warunki
podane poniżej:
1. P jest kompletnym porządkiem w zbiorze zmiennych próby takim, że jeśli XiPXj, to w
strukturze sieci nie występują łuki skierowane XjXi.
2. Znane jest górne ograniczenie liczby rodziców każdego węzła u,
Rozważenie równań na prawdopodobieństwo odzwierciedlania struktury rzeczywistego
rozkładu P przez daną strukturę sieci Bayesa M prowadzi do sformułowania bayesowskiej
funkcji oceniającej dla algorytmu heurystycznego. Funkcja ta określa stopień dopasowania
konfiguracji danego węzła Xi do rzeczywistego rozkładu, przy czym pod uwagę bierze
jedynie krawędzie skierowane od węzłów ze zbioru {Xi) do węzła Xi. Niech i oznacza
zawartość zbioru {Xi) w danej chwili działania algorytmu. Wówczas:
ri
qi
(ri  1)!
g (i,  i )  
 N ijk !
j 1 ( N ij  ri  1)! k 1
gdzie qi oznacza liczbę różnych wartościowań zmiennych ze zbioru i w próbie D, Nij liczbę
przypadków w D, takich że i ma wartościowanie Wij (j = 1...qi), a Nijk liczbę przypadków
takich, że zmienne z i przyjmują wartościowanie Wij, a zmienna Xi wartość lJik (k = 1...ri).
Algorytm dodaje do każdego węzła nowych rodziców, aż przestanie to przynosić
poprawę wartości funkcji dopasowania lub aż osiągnięta zostanie maksymalna liczba
rodziców określona przez użytkownika.
Inny algorytm, Algorytm Minimum Entropii [Cercone, Wong, 1997] nie tworzy
brzpośrednio sieci bayesowskiwej, lecz graf triangularyzowany. Dąży do minimalizacji
entropii różnicy między rzeczywistym rozkładem z próbki a wygenerowanym modelem
poprzez stopniowe dodawanie łuow do początkowo pustego grafu nieskierowanego, przy
czym dodaje się tylko te krawędzie, które minimaluzują to kryterium oraz nie naruszają
własności bycia grafem triangularyzowanym.
Wg [Friedman et al, 1997] możemy zasadniczo wyróżnić dwa typy algorytmów
uczących sieci bayesowskie z danych”: algorytmy optymalizacyjne i ograniczeniowe.
Wszystkie powyższe algorytmy zasadniczo należą do klasy algorytmów opartych o
kryterium optymalizacji: dążą do minimalizacji różnicy między rozkładem
prawdopodobieństwa z próbki przy zadanych warunkach strukturalnych, przy czym stosuje
się różnorakie kryteria tejże różnicy – od etriopii poprzez tzw. kryteria BIC/MDL (Byesian
Information Criterion) po Bde (Bayesian Score).
Istnieje jednak druga klasa algorytmów, oparta o spełnienie własności strukturalnych
(„ograniczeń strukturalnych”) – odzwierciedlenia zależności i niezależności warunkowych.
Ta klasa obejmuje przede wszystkim algorytmy opracowane przez Spirtesa, Glymoura i
Scheinesa [1993]: SGS, PC, PC+. Spirtes, Glymour i Scheuines dowodzą, że w perwnych
sytuacjach możliwe jest nawet odkrycie struktur przyczynowo-skutkowych w wypadku
stosowania ich algorytmów. Należy w tym miejscu jednakże przypomnieć, że statystycy
25/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
przestrzegają przed wyciąganiem wniosków o przyczynowości na podstawie badań
statystycznych. I tak również dotyczy to sieci bayesowskich. Sieci te, reprezentując
niezależność warunkową, nie są jednoznacznie zdeterminowane przez relacje warunkowej
zależności i niezależności.
Jeśli abstrahujemy od naiwnych sieci bayesowskich, to musimy stwierdzić, iż uczenie
tych sieci napotyka na poważne ograniczenia z uwagi na złożoność obliczeniową. Uzyskanie
sieci o ponad 2.000 węzłów jest nawet w przypadku najprostszego algorytmu Chow/Liu
poważnie utrudnione, zarówno z uwagi na złożoność pamięciową jak i czasową. Tymczasem
dla wielu zastosowań, przede wszystkim w przetwarzaniu tekstów, potrzebne są sieci
znacznie większe, o dziesiątkach a nawet setkach tysięcy węzłów. Prace w tym kierunku
prowadzili m.in. Meila i Jordan [2000] . W IPI PAN trwają prace nad opracowaniem nowych
algorytmów pozwalających na skuteczne uczenie właśnie w wypadku systemów z wieloma
zmiennymi [Klopotek, 2002a, 2002b]. Najbardziej obiecujące jest podejście redukujące
złożoność struktury docelowej sieci algorytmu ETC [Klopotek, 2002c, 2002d]. Opracowano
szybkie i pamięcio-oszczędne algorytmy konstrukcji sieci bayesowskich o strukturze
drzewiastej z danych. Na skonstruowanie sieci liczącej do 100,000 węzłów potrzeba ok. 5-20
min. (implementacja w Javie, PC Pentium II, zegar 500 MHz. [Klopotek, Woch, 2003])
Nowe algorytmy generalizują algorytm Chow/Liu wykorzystując szczególną postać drzew
decyzyjnych. Działają przyrostowo (nowy węzeł nie wymaga budowy drzewa od nowa).
Rozważano także możliwość uczenia sieci bayesowskich strukturalnych z danych
[Klopotek, 2003b].
5. Klasteryzacja przy użyciu sieci bayesowskich
Jak wspomniano, PLSA i PHITS mogą być uważane za metody miękkiej klasteryzacji
oparte o sieci bayesowskie. Jednakże łatwo zauważyć, że koncepcyjnie są one zbliżone do do
sieci naiwnego bayesa. Natychmiastowym skojarzeniem jako rozszerzenie tego podejścia jest
użycie struktury TAN, przy czym zmienna „decyzyjna” byłaby tu zmienną ukrytą. Dalsze
rozszerzenia na multisieci nie wydają się tu wykonalne.
Drugim naturalnym konceptem klasteryzacji jest wykorzystanie algorytmu ETC
[Klopotek, 2002c, 2002d], który dokonuje klasteryzacji węzłów w postaci drzewa krawędzi.
Tu jednakże należałoby dokonać modyfikacji takiej, by „równoważyć” drzewo wg siły
powiązań, a nie wg długości łuków.
Trzecim jest uzupełnianie konwencjonalnych algorytmów klasteryzacyjnych techniką
„query expansion” – poprzez uzupełnianie wektorów opisujących dokument słowami
„prawdopodobnie” współwystępującymi z odpowiednimi wagami, co powinno zbliżać do
siebie tematycznie podobne dokumenty.
Czwartym jest zastąpienie metod liczenia odległości poprzez prawdopodobieństwa
wzajemnego wynikania z siebie treści dokumentów – na bazie sieci bayesowskiej.
Wnioskowanie i uczenie we wszystkich przypadkach odbywałoby się wg w/w wzorców
26/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
5.1. Rozszerzenie PLSA
5.1.1. Sieć TAN termów
Załóżmy, że termy są zależne od siebie oraz że grupy tematyczne (zmienna Z) to zmienna
„predykowana” w metodologii TAN. Tzn. termy tworzą drzewiastą sieć, a Z jest połączona ze
wszystkimi zmiennymi w kierunku od Z.
PLSA – a model with TAN
D1
Hidden
variable
T6
T5
D2
Dk
Z
T4
T2
T1
T3
Rysunek 26 Sieć TAN – modyfikacja PLSA
Zanim zaczniemy poszukiwać rozkładu zmiennej Z wg metodologii PLSA, najpierw
nauczymy się struktury sieci drzewiastej. Sieć drzewiastą uczymy się algorytmem
drzewiastym (Chow/Liu dla małych zbiorów termów, do 2000, a powyżej – ETC).
We właściwej fazie iteracyjnem EM zamiast „uczenia P(T|Z)”, jak było to praktykowane
w PLSA, uczymy się P(T1|T2,Z), gdzie T2 jest rodzicem T1 w drzewie. Natomiast zamiast
predykowania P(Z|T1,…,Tn) z formuły
P(Z|T1…Tn)=P(T1…Tn|Z)*P(Z)/P(T1….Tn)=P(T1|Z)*P(T2|Z)*…*P(Tn|Z)
*P(Z)/P(T1….Tn) predykujemy je z formuły
P(Z|T1…Tn)=P(T1…Tn|Z)*P(Z)/P(T1….Tn)=P(T1|Z,rodzic(T1))*P(T2|Z,rodzic(T2))*…*P(
Tn|Z,rodzic(Tn)) *P(Z)/P(T1….Tn)
Nakład pamięci rośnie dwukrotnie, bo zamiast P(Ti|z1), P(Ti|z2),… P(Ti|zk), musimy
przechowywać (i liczyć) P(Ti|z1,rodzic(Ti)=true), P(Ti|z1,rodzic(Ti)=false), P(Ti|z2,
P(Ti|z1,rodzic(Ti)=true), ,P(Ti|z2,rodzic(Ti)=false),…., P(Ti|zk,rodzic(Ti)=true),
,P(Ti|zk,rodzic(Ti)=false), gdzie k to liczba klas (wartości zmiennej ukrytej Z).
1. Dana jest tablica Nij oznaczająca, jak często term (pojedyncze słowo lub fraza) ti
występuje w dokumencie dj..
27/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
2. Za pomocą np. algorytmu Chow/Liu, IT, EC lub ETC tworzymy drzewo bayesowskie
nad zbiorem termów zakładając w w/w tablicy , że dokumenty to „rekordy”, a termy
to „atrybuty”.
3. Załóżmy, że pragniemy klasteryzować na klastry zk.
4. Tworzymy nową tablicę Djk mówiącą, z jakim prawdopodobieństwem dokument dj
należy do klasy zk. (P(zk|dj). Inicjalizujemy ją losowo zerami i jedynkami tak, by dla
każdego j istniało dokładnie jedno k takie, że Djk=1. W dalszym ciągu pracy suma
Djk po wszystkich k będzie dawać zawsze 1.
5. Tworzymy nową tablicę Tik mówiącą, z jakim prawdopodobieństwem term Ti
występuje w klasie zk. (P(ti|zk)). Inicjalizujemy ją na podstawie tablic Nij oraz Djk w
następujący sposób: Tworzymy tablicę Mik jako iloczyn macierzowy Nij oraz Djk.
Wtedy Tik=P(ti|zk)= Mik/(suma po i’ z Mi’k). W dalszym ciągu prac zawsze będzie
zachowane, że suma Tik po i będzie równa 1.
6. Tworzymy nową tablicę Ti*k mówiącą, z jakim prawdopodobieństwem term ti
występuje w klasie zk, jeśli występuje lub nie występuje jego rodzic .
(P(ti|rodzic(ti),zk). Inicjalizujemy ją na podstawie tablic Nij oraz Djk. dalszym ciągu
prac zawsze będzie zachowane, że suma Ti*k po i będzie równa 1 dla każdego k i
każdego stanu * rodzica ti.
7. Zauważmy, że z definicji P(zk|ti,rodzic(ti),dj)=P(zk,ti,rodzic(ti),dj)/P(ti,rodzic(ti),dj) =
P(ti,rodzic(ti) | dj,zk) * P(dj,zk) / P(ti,rodzic(ti),dj) = P(ti,rodzic(ti) | dj,zk) * P(zk| dj) *
P(dj) / (P(ti,rodzic(ti)|dj)*P(dj)). Licznik i mianownik możemy podzielić przez P(dj) i
stąd mamy = P(ti,rodzic(ti) | dj,zk) * P(zk| dj) / P(ti,rodzic(ti)|dj). Zauważmy dalej na
bazie koncepcji PLSA, że zk d-separuje dj od ti,rodzic(ti), czyli P(ti,rodzic(ti) | dj,zk)=
P(ti,rodzic(ti) |zk) co implikuje równanie P(zk|ti,rodzic(ti),dj) = P(rodzic(ti)| zk)
*P(ti|rodzic(ti), zk) * P(zk| dj) / P(ti,rodzic(ti)|dj).
8. Przy tym stosujemy do rzeczywistych obliczeń tick: R(zk|ti,rodzic(ti),dj) =
P(rodzic(ti)| zk) *P(ti|rodzic(ti), zk) * P(zk| dj) ;
P(zk|ti,rodzic(ti),dj)=
R(zk|ti,rodzic(ti),dj)/(suma k’ R(zk’|ti,rodzic(ti),dj))
9. Zauważmy, że z definicji P(zk| dj) = P(dj , zk)/P(dj) = (suma po i* z
P(ti,rodzic(ti),dj,zk))/P(dj)
=
(suma
po
i*
z
P(zk|dj,rodzic(ti),ti)*P(dj,ti,rodzic(ti)))/P(dj)
=
(suma
po
i*
z
P(zk|dj,ti,rodzic(ti))*P(ti,rodzic(ti)|dj)).
Przy
tym
P(ti,rodzic(ti)|dj)
mamy
bezpośrednio z danych, a P(zk|dj,ti,rodzic(ti)) ze wzoru na końcu pkt.8.
10. Zauważmy, że z definicji P(ti|rodzic(ti), zk) = P(ti,rodzic(ti) , zk)/P(zk,rodzic(ti)) =
(suma po j z P(ti,rodzic(ti),dj,zk))/P(zk,rodzic(ti))= (suma po j z
P(zk|dj,ti,rodzic(ti))*P(dj,ti,rodzic(ti)))/P(zk,rodzic(ti)).
Zauważmy,
że
P(dj,ti,rodzic(ti)) otrzymamy z danych. P(zk|dj,ti,rodzic(ti)) otrzymamy z końcowego
wzoru z pkt. 8. Natomiast „nowe” P(zk,rodzic(ti)), które powinniśmy tu wstawić, jest
nieznane. Ale możemy się bez niego obejść zauważając, że suma P(ti,rodzic(ti) | zk)
po i* winna być równa 1. Wobec czego definiujemy wielkość R(ti,rodzic(ti) | zk) =
(suma
po
j
z
P(zk|dj,ti,rodzic(ti))*P(dj,ti,rodzic(ti))),
a
P(ti,rodzic(ti)|zk)=R(ti,rodzic(ti)|zk)/(suma po i*’ z R(ti’, rodzic(ti’)|zk)), a ta wielkość
odpowiada akurat P(rodzic(ti)| zk) P(ti|rodzic(ti), zk)
11. Wobec tego postępujemy iteracyjnie jak w przypadku tradycyjnego PLSA: Ze
„starych” P(rodzic(ti)| zk), P(ti|rodzic(ti), zk) ,P(zk| dj) liczymy nowe
P(zk|ti,rodzic(ti),dj), a z tego nowe P(rodzic(ti)| zk) P(ti|rodzic(ti), zk) * P(zk| dj),
które stają się „starymi” i tak „w kółko” aż do zbieżności.
UWAGA: Ilektoc mówimy i*, mamy na myśli parę ti,rodzic(ti)=obecny oraz
ti,rodzic(ti)=nieobecny
28/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
5.1.2. Sieć TAN dokumentów
Załóżmy, że dokumenty są zależne od siebie oraz że grupy tematyczne (zmienna Z) to
zmienna „predykowana” w metodologii TAN. Tzn. dokumenty tworzą drzewiastą sieć, a Z
jest połączona ze wszystkimi zmiennymi w kierunku od Z.
PLSA – a model with document
TAN
D6
Hidden
variable
T1
D5
T2
Z
Ti
D4
D2
D3
D1
Rysunek 27 Sieć TAN – modyfikacja PLSA
Zanim zaczniemy poszukiwać rozkładu zmiennej Z wg metodologii PLSA, najpierw
nauczymy się struktury sieci drzewiastej. Sieć drzewiastą uczymy się algorytmem
drzewiastym (Chow/Liu dla małych zbiorów termów, do 2000, a powyżej – ETC).
We właściwej fazie iteracyjnem EM zamiast „uczenia P(D|Z)”, jak było to praktykowane
w PLSA, uczymy się P(D1|D2,Z), gdzie D2 jest rodzicem D1 w drzewie. Natomiast zamiast
predykowania P(Z|D1,…,Dn) z formuły
P(Z|D1…Dn)=P(D1…Dn|Z)*P(Z)/P(D1….Dn)=P(D1|Z)*P(D2|Z)*…*P(Dn|Z)
*P(Z)/P(D1….Dn) predykujemy je z formuły
P(Z|D1…Dn)=P(D1…Dn|Z)*P(Z)/P(D1….Dn)=P(D1|Z,rodzic(D1))*P(D2|Z,rodzic(D2))*…
*P(Dn|Z,rodzic(Dn)) *P(Z)/P(D1….Dn)
Nakład pamięci rośnie dwukrotnie, bo zamiast P(Di|z1), P(Di|z2),… P(Di|zk), musimy
przechowywać (i liczyć) P(Di|z1,rodzic(Di)=true), P(Di|z1,rodzic(Di)=false), P(Di|z2,
P(Di|z1,rodzic(Di)=true), ,P(Di|z2,rodzic(Di)=false),…., P(Di|zk,rodzic(Di)=true),
,P(Di|zk,rodzic(Di)=false), gdzie k to liczba klas (wartości zmiennej ukrytej Z).
1. Dana jest tablica Nij oznaczająca, jak często term (pojedyncze słowo lub fraza) ti
występuje w dokumencie dj..
29/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
2. Za pomocą np. algorytmu Chow/Liu, IT, EC lub ETC tworzymy drzewo bayesowskie
nad zbiorem termów zakładając w w/w tablicy , że dokumenty to „atrybuty”, a termy
to „rekordy”.
3. Załóżmy, że pragniemy klasteryzować na klastry zk.
4. Tworzymy nową tablicę Djk mówiącą, z jakim prawdopodobieństwem dokument dj
należy do klasy zk. (P(zk|dj). Inicjalizujemy ją losowo zerami i jedynkami tak, by dla
każdego j istniało dokładnie jedno k takie, że Djk=1. W dalszym ciągu pracy suma
Djk po wszystkich k będzie dawać zawsze 1.
5. Tworzymy nową tablicę Tik mówiącą, z jakim prawdopodobieństwem term Ti
występuje w klasie zk. (P(ti|zk)). Inicjalizujemy ją na podstawie tablic Nij oraz Djk w
następujący sposób: Tworzymy tablicę Mik jako iloczyn macierzowy Nij oraz Djk.
Wtedy Tik=P(ti|zk)= Mik/(suma po i’ z Mi’k). W dalszym ciągu prac zawsze będzie
zachowane, że suma Tik po i będzie równa 1.
6. Tworzymy nową tablicę Dj*k mówiącą, z jakim prawdopodobieństwem dokument Dj
występuje w klasie zk, jeśli występuje lub nie występuje jego rodzic .
(P(dj|rodzic(dj),zk). Inicjalizujemy ją na podstawie tablic Nij oraz Djk. dalszym ciągu
prac zawsze będzie zachowane, że suma Dj*k po j będzie równa 1 dla każdego k i
każdego stanu * rodzica dj.
7. Zauważmy, że z definicji P(zk|dj,rodzic(dj),ti)=P(zk,dj,rodzic(dj),ti)/P(dj,rodzic(dj),ti)
= P(dj,rodzic(dj) | ti,zk) * P(ti,zk) / P(dj,rodzic(dj),ti) = P(dj,rodzic(dj) | ti,zk) * P(zk|
ti) * P(ti) / (P(dj,rodzic(dj)|ti)*P(ti)). Licznik i mianownik możemy podzielić przez
P(ti) i stąd mamy = P(dj,rodzic(dj) | ti,zk) * P(zk| ti) / P(dj,rodzic(dj)|ti). Zauważmy
dalej na bazie koncepcji PLSA, że zk d-separuje ti od dj,rodzic(dj), czyli
P(dj,rodzic(dj) | ti,zk)= P(dj,rodzic(dj) |zk) co implikuje równanie
P(zk|dj,rodzic(dj),ti) = P(rodzic(dj)| zk) *P(dj|rodzic(dj), zk) * P(zk| tt) /
P(dj,rodzic(dj)|ti).
8. Przy tym stosujemy do rzeczywistych obliczeń tick: R(zk|dj,rodzic(dj),ti) =
P(rodzic(dj)| zk) *P(dj|rodzic(dj), zk) * P(zk| ti) ; P(zk| dj,rodzic(dj),ti)= R(zk|
dj,rodzic(dj),ti)/(suma k’ R(zk’| dj,rodzic(dj),ti))
9. Zauważmy, że z definicji P(zk| ti) = P(ti , zk)/P(ti) = (suma po j* z
P(dj,rodzic(dj),ti,zk))/P(ti)
=
(suma
po
j*
z
P(zk|dj,rodzic(dj),ti)*P(ti,dj,rodzic(dj)))/P(ti)
=
(suma
po
j*
z
P(zk|ti,dj,rodzic(dj))*P(dj,rodzic(dj)|ti)). Przy tym P(dj,rodzic(dj)|ti) mamy
bezpośrednio z danych, a P(zk|ti,dj,rodzic(dj)) ze wzoru na końcu pkt.8.
10. Zauważmy, że z definicji P(dj|rodzic(dj), zk) = P(dj,rodzic(dj) , zk)/P(zk,rodzic(dj))
= (suma po i z P(dj,rodzic(dj),ti,zk))/P(zk,rodzic(dj))= (suma po i z
P(zk|ti,dj,rodzic(dj))*P(ti,dj,rodzic(dj)))/P(zk,rodzic(dj)).
Zauważmy,
że
P(dj,ti,rodzic(dj)) otrzymamy z danych. P(zk|dj,ti,rodzic(dj)) otrzymamy z końcowego
wzoru z pkt. 8. Natomiast „nowe” P(zk,rodzic(dj)), które powinniśmy tu wstawić, jest
nieznane. Ale możemy się bez niego obejść zauważając, że suma P(dj,rodzic(dj) | zk)
po j* winna być równa 1. Wobec czego definiujemy wielkość R(dj,rodzic(dj) | zk) =
(suma po i z P(zk|dj,ti,rodzic(dj))*P(dj,ti,rodzic(dj))), a P(dj,rodzic(dj)|zk)=R(dj,
rodzic(dj)|zk)/(suma po j*’ z R(dj’, rodzic(dj’)|zk)), a ta wielkość odpowiada akurat
P(rodzic(dj)| zk) P(dj|rodzic(dj), zk)
11. Wobec tego postępujemy iteracyjnie jak w przypadku tradycyjnego PLSA.
UWAGA: Ilekroć mówimy j*, mamy na myśli parę dj,rodzic(dj)=obecny oraz
dj,rodzic(dj)=nieobecny
30/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
6. Uwagi o stabilności
W ramach przeprowadzonych eksperymentów okazało się, że klasyczna klasteryzacja
PLSA nie działa tak, jakby się tego oczekiwało, jeśli mamy do czynienia z małą liczbą klas 2.
Problem najprawdopodobniej tkwi w dużej liczbie stopni swobody.
W związku z tym zastosowano heurystykę: zamiast „rozmytego” przypisywania
prawdopodobieństwa przynależności do ukrytej klasy, powyższe algorytmy zmodyfikowano
przez przypisywanie klasy najbardziej prawdopodobnej.
Stabilizuje to algorytm.
7. Podsumowanie
W ramach niniejszej pracy przedstawiono koncepcję modyfikacji klasycznych algorytmów
klasteryzacyjnych PLSA i PHITS opartych na sieciach bayesowskich, dążąc do eliminacji
dominacji atrybutów skorelowanych. Obecnie trwają prace implement5acyjne i
eksperymentalne w ramach konstrukcji wyszukiwarki internetowej z interfejsem graficznym.
Planuje się obszerne studium porównawcze efektywności PLSA / PHITS w oryginalnej naj i
w zmodyfikowanej wersji.
.
Literatura
[Acid, Campos, 1996] Acid S., Campos L.M.:BENEDICT-An Algorithm for Learning
Probabilistic Belief Networks. http:/decsai.ugr.es/gte/tr.html
[Bacchus, Lam, 1994] Bacchus F., Lam W.: Learning Bayesian Belief Networks: an Aproach
Based on the MDL PRINCIPLE. Computational Intelligence, vol.10, nr.3, 1994, str.269293.
[Cercone, Wong, 1997] Cercone N., Wong S.K.M., Xiang Y.: A 'Microscopic' study of
minimum entropy search in learning decomposable markov networks, Machine
Learning, 1997, vol. 26, nr 1, str.65-92
[Chow, Liu, 1968] C.K.Chow, C.N.Liu: Approximating discrete probability distributions with
dependence trees, IEEE Transactions on Information Theory, Vol. IT-14, No.3, (1968),
462-467
[Cohn00] Cohn D., Chang H. (2000): Learning to probabilistically identify authoritative
documents. In Proceedings of the 17th International Conference on Machine Learning,
2000.
[Cohn01] Cohn, D. and Hofmann, T. (2001). The missing link - a probabilistic model of
document content and hypertext connectivity, in T. K. Leen, T. G. Dietterich and V.
Tresp (eds), Advances in Neural Information Processing Systems, Vol. 10.
http://citeseer.nj.nec.com/cohn01missing.html
[Cooper, Herskovits, 1992] Cooper G.F., Herskovits E.: A Bayesian method for the induction
of probabilistic networks from data. Machine Learning vol. 9, no.4. Kluwer Academic
Publishers. Boston 1992. 309-347.
[Cowell et al, 1999] R. G. Cowell, A. P. Dawid, S. L. Lauritzen, and D. J. Spiegelhalter.
Probabilistic networks and expert systems. Springer-Verlag New York, Inc., 1999.
2
Eksperymenty mgra Bramińskiego z IPI PAN, za których wykonanie serdecznie dziękuję.
31/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
[Davis,Moore,2000] S. Davis, A. Moore. Mix-nets: Factored Mixtures of Gaussians in
Bayesian Networks with Mixed Continuous And Discrete Variables. Carnegie Mellon
University, 2000.
[Friedman et al, 1997] N. Friedman, D. Geiger, M. Goldszmidt Bayesian Network Classifiers
(1997).
Machine
Learning
vol.
29,
pp.131
http://citeseer.nj.nec.com/friedman97bayesian.html
[Heckerman et al., 1992] Heckerman, D., E. Horvitz, and B. Nathwani (1992). Toward
normative expert systems I: The PATHFINDER project. Methods of Information in
Medicine 31, 90-105.,
[Hoffmann99] T.Hoffmann, \emph{Probabilistic Latent Semantic Analysis}, in: Proceedings
of the 15th Conference on Uncertainty in AI, 1999, pages 289-296
[Jensen, 1996] Jensen Finn V. Introduction to Bayesian Networks. New York 1996 SpringerVerlag
[Jensen, Jensen, 2001] F. V. Jensen, F. B. Jensen Bayesian Networks and Decision Graphs
(Statistics for Eng. and Information Science) Springer-Verlag, 2001
[Kämpke, Urban, 1999] Kämpke T., Urban T.: Recovering Dependency Graphs in Uncertain
Data
w
Computational
Intelligence
for
Modelling,
Control
&
Automation.M.Mohammadian (Ed.),IOS Press, 1999, str.476-481.
[Kłopotek, 2002a] M.A.Kłopotek: A New Space-Saving Bayesian Tree Construction Method
for High Dimensional Data Demonstratio Mathematica, Vol. 35, No. 3 (2002)pp. 671684
[Kłopotek, 2002b] M.A.Kłopotek: Space Saving Approach to Fitting Tree Distributions to
High-Dimensional Sparse Data. In Proc. Sztuczna Inteligencja, 5th National
Conference, Siedlce, September 2002, pp.13-18
[Kłopotek, 2002c] M.A.Kłopotek: A New Bayesian Tree Learning Method with Reduced
Time and Space Complexity. Fundamenta Informaticae, 49(no 4)2002, IOS Press, pp.
349-367.
[Kłopotek, 2002d] M.A.Kłopotek: Minig Bayesian Networks Structure for Large Sets of
Variables. in M.S.Hacid, Z.W.Ras, D.A. Zighed, Y. Kodratoff (eds): Foundations of
Intelligent Systems Lecture Notes in Artificial Intelligence 2366, Springer-Verlag,
pp.114-122
[Kłopotek, Wierzchoń, 2002a] M.A.Kłopotek, S.T.Wierzchoń: Collaborative Filtering with
Bayesian Net. IN: B. Wiszniewski: Electronic Commerce. Theory and Applications
Published by: Faculty of Management and Economics, Gdansk University of
Technology, Poland, pp. 81-87
[Kłopotek, Wierzchoń, 2002b] M.A.Kłopotek, S.T.Wierzchoń: Distributed enumeration
protocol for valuation based systems. Zeszyty Naukowe Politechniki Białostockiej, 2002,
Informatyka, pp.83-96
[Kłopotek, 2003a] M.A. Kłopotek: Reasoning methods in general and structured Bayesian
networks. Zeszyty Naukowe AP - Studia Informatica. Technologie i Systemy
informacyjne, Nr1, 2003, pp. 1-26
[Kłopotek, 2003b] M.A. Kłopotek: Reasoning and Learning in Extended Structured Bayesian
Networks. Fundamenta Informaticae. 58(2)2003, pp.105-137 [Klopotek, Sonsnowski, 2003] M.A. Kłopotek, A. Sosnowski: Mixnet a wnioskowanie w
sieciach bayesowskich swobodnie dyskretno-ciaglych. Z. Bubnicki, A. Grzech eds:
Proc. V KRAJOWA KONFERENCJA NAUKOWA Inżynieria Wiedzy i Systemy
Ekspertowe, Wrocław 11-13.6.2003 Oficyna Wydawnicza Politechniki Wrocławskiej,
Wrocław 2003 Tom 1, 30-37
[Kłopotek, Woch, 2003] M.A. Kłopotek, Marcin Woch: Very Large Bayesian Networks in
Text Classification. In: Sloot, P. M.A.; Abramson, D.; Bogdanov, A. V.; Dongarra, J. J.;
32/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
Zomaya, A. Y.; Gorbachev, Y. E. (Eds.): (2003) Computational Science - ICCS 2003 ·
International Conference, Melbourne, Australia and St. Petersburg, Russia, June 2-4,
2003. Proc., LNCS 2657, Springer Verlag 2003, pp. 397-406,
[Lauritzen, Jensen, 1999] S. Lauritzen, F. Jensen. Stable local computation with
conditional Gaussian distribution. Aalborg Uniiversity, 1999
[Lauritzen, 1996] Lauritzen Steffen L. Graphical models Oxford 1996 Clarendon Press 8 s.
298 Oxford Statistical Science Series,
[Lerner et al, 2001] U. Lerner, E. Segal, D. Koller. Exact Inference in Networks with
Discrete Children of Continuous Parents. Stanford University, 2001.
http://robotics.stanford.edu/~erans/publications/uai01.pdf
[Middleton et al, 1991](Middleton B, Shwe MA, Heckerman DE, Henrion M, Horvitz EJ,
Lehmann HP, Cooper GF. Probabilistic diagnosis using a reformulation of the
INTERNIST-1/QMR knowledge base. II. Evaluation of diagnostic performance.
Methods Inf Med. 1991 Oct;30(4):256-67 ; Shwe MA, Middleton B, Heckerman DE,
Henrion M, Horvitz EJ, Lehmann HP, Cooper GF. Probabilistic diagnosis using a
reformulation of the INTERNIST-1/QMR knowledge base. I. The probabilistic model
and inference algorithms. Methods Inf Med. 1991 Oct;30(4):241-55.
[Meila, Jordan, 2000] M. Meila, M. Jordan: Learning with mixtures of trees. Journal of
Machine
Learning
Research,
Volume
1
(2000)
http://citeseer.nj.nec.com/meila00learning.html,
[Monti, 1999] S. Monti. Learning hybrid Bayesian networks from Data. University of
Pittsburgh, 1999.
[Murphy, 1999] K.P. Murphy. A variational approximation for Bayesian networks with
discrete and continuous latent variables. UAI, 1999.
[Neal, 1993] R.M. Neal. Probabilistic Inference Using Markov Chain Monte Carlo
Methods.
University
of
Toronto,
1993.
http://citeseer.nj.nec.com/neal93probabilistic.html
[Pearl, 1988] Pearl J., Probabilistic reasoning in intelligent systems. Morgan Kaufman. San
Mateo, CA 1988.
[Shachter, 1990] Shachter B.D.: Evidence absorption and propagation through evidence
reversals. W Henrion M., Shachter B.D., Kanal L.N., Lemmer J.F. (eds): Uncertainty in
Artificial Intelligence 5, Elsevier Science Publishers B.V (North-Holland) 1990, str.173190.
[Shenoy, Shafer, 1990] Shenoy P.P., Shafer G.: Axioms for probability and belief-function
propagation, R.D. Shachter, T.S. Levit, L.N. Kanal, J.F. Lemmer eds: Uncertainity in
Artificial Intelligence 4 (Elsevier Science Publishers B.V. (North Holland), 1990,
str.169-198.
[Spirtes et at, 1993] Spirtes P., Glymour C. Scheines R. Causation, Prediction and Search.
Lecture Notes in Statistics 81. Springer Verlag. New York 1993. s. 112-124
[Wierzchoń, Kłopotek, 2002] Wierzchoń, S.T., Kłopotek, M.A. Evidential Reasoning. An
Interpretative Investigation. Wydawnictwo Akademii Podlaskiej, Siedlce 2002, PL
ISSN0860-2719, 304 pp.
33/33 Sieci bayesowskie w klasteryzacji dokumentów – aktualizacja 2017-07-20 17:08:00
8. Spis treści
Sieci bayesowskie w klasteryzacji dokumentów........................................................................ 1
1. Wprowadzenie .................................................................................................................... 1
1.1. Procesy decyzyjne ...................................................................................................... 2
1.2. Niepewność przy podejmowaniu decyzji ................................................................... 2
2. Pojęcie sieci bayesowskiej ................................................................................................. 3
2.1. Łączny rozkład prawdopodobieństwa ........................................................................ 3
2.2. Reprezentacja bezpośrednich przyczyn ..................................................................... 4
2.3. Reprezentacja warunkowych niezależności ............................................................... 4
2.4. Rodzaje struktur grafowych sieci bayesowskich ....................................................... 5
2.5. Rodzaje zmiennych w sieciach bayesowskich ........................................................... 8
3. Metody podejmowania decyzji w sieci bayesowskiej ........................................................ 9
3.1. Drzewo Markowa a wnioskowanie .......................................................................... 10
3.2. Zamiana sieci bayesowskiej na drzewo Markowa ................................................... 11
3.3. Szczególne przypadki zamiany sieci bayesowskiej na drzewo Markowa ............... 14
4. Pozyskiwanie sieci bayesowskich .................................................................................... 15
4.1. Uczenie sieci bayesowskiej o znanej strukturze przy niepełnych danych ............... 16
4.2. Zastosowanie w klasteryzacji dokumentów internetowych ..................................... 22
Koncepcja odległościowa („podobnościowa”) ............................................................... 23
Koncepcja copy-and-paste ............................................................................................... 23
4.3. Uczenie nieznanej struktury sieci ............................................................................. 23
5. Klasteryzacja przy użyciu sieci bayesowskich ................................................................. 25
5.1. Rozszerzenie PLSA .................................................................................................. 26
5.1.1.
Sieć TAN termów ............................................................................................. 26
5.1.2.
Sieć TAN dokumentów .................................................................................... 28
6. Uwagi o stabilności .......................................................................................................... 30
7. Podsumowanie ................................................................................................................. 30
Literatura .................................................................................................................................. 30
8. Spis treści ......................................................................................................................... 33
Download