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=xY=y|Z=z)= P(X=x|Z=z)*P(Y=y|Z=z) wynika, że P(X=x|Y=yZ=z)= P(X=x|Z=z). Zamiast Y=yZ=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 UX-{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 WiU lub (bezpośredni lub pośredni) następca Wn węzła Wi w grafie K należy do U. a w przeciwnym razie WiU. W danej sieci bayesowskiej zmienne P i Q są d-separowane przez zbiór zmiennych UX-{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 tDom(T) wartość P(t) ze wzoru: P(t)=zDom(Z) P(t|z)*P(z) oraz każdego tDom(T) i zDom(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 yDom(Y) wartość P(y) ze wzoru: P(y)=zDom(Z) P(y|z)*P(z) oraz każdego yDom(Y) i zDom(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 dDom(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 dDom(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; y1Y1, …,ymYm 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 - HW2X. 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 XX jest zawarta w dwóch (hiper)węzłach hi,hjHW, tzn. Xhi i Xhj, to X jest także elementem każdego hHW 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 hHW, takich że Pot(h): Xh 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)= Xh Dom(X). dla każdego wektora wartości zmiennych xDom(hj hk ) msg(hj->hk) (x) =y;yDom(hj),yhjhk=x Pot(hj)(y) * HlN(Hj)-{Hk} msg(hl->hj) (y) hj hl Potencjał finalny PotFIN(hk)() hiperwęzła hk dla każdego wektora wartości zmiennych xDom(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) * hjN(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 XiX. 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 xDom(h) definiujemy w następujący sposób: Pot(h) (x) =1 * XPotAss-1(h) P(x X| x pa(X)) W ten sposób P(x1,...,xn) = i=1…n P(xi |(x1,...,xn) pa(Xi))= hHK 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)) = hHK 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 XiPXj, to w strukturze sieci nie występują łuki skierowane XjXi. 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