Paweł Cichosz
Date: 2001/2002
Wykład jest poświęcony bardziej zaawansowanym probabilistycznym metodom odkrywania wiedzy i wnioskowania opartym na twierdzeniu wiedzy, czyli sieciom bayesowskim. Umożliwiają one reprezentowanie probabilistycznych zależności przyczynowych między dowolnymi atrybutami oraz wnioskowanie o rozkładzie prawdopodobieństwa nieznanych wartości atrybutów na podstawie znanych wartości atrybutów.
Mówiąc o sieciach bayesowskich będziemy, jak dotychczas, zakładać, że
dana jest dziedzina
, na której określony jest pewien rozkład
prawdopodobieństwa
oraz atrybuty
,
dla
. Przyjmiemy ponadto, że są to
wyłącznie atrybuty nominalne (lub atrybuty porządkowe, które,
pomijając relację porządku, traktujemy jak nominalne). Nie będziemy
natomiast włączać do tych rozważań żadnych pojęć docelowych, gdyż
zamiast zależności takiego pojęcia od atrybutów interesować nas będą
zależności między dowolnymi atrybutami. Ewentualne pojęcie docelowe
może być wówczas traktowane jako jeden z atrybutów, w żaden sposób nie
wyróżniany spośród innych. W ten sposób będzie możliwe prowadzenie
rozważań na temat sieci bayesowskich bez zasadniczej zmiany
terminologii i notacji przyjętej wcześniej dla indukcyjnego uczenia
się. Ponieważ w badaniach dotyczących sieci bayesowskich dopiero od
niedawna problemy uczenia się zyskały znaczącą pozycję, przyjmowana w
nich tradycyjna terminologia jest nieco odmienna -- mówi się
zazwyczaj o zmiennych zamiast o atrybutach, a dziedziną jest zbiór
wszystkich możliwych przypisań wartości zmiennym. W naszym przypadku
oznaczałoby to utożsamienie:
| (1) | ||
| (2) |
Sieć bayesowska jest acyklicznym grafem skierowanym, złożonym z węzłów
i łączących je krawędzi. Węzły odpowiadają wszystkim określonym na
dziedzinie atrybutom. Możemy w związku z tym mówić dla wygody krótko o
węźle
, mając na myśli węzeł odpowiadający atrybutowi
dla
dowolnego
. Krawędź skierowana od węzła
do węzła
może być intuicyjnie interpretowana jako reprezentacja
bezpośredniej przyczynowej zależności atrybutu
od atrybutu
, chociaż podamy bardziej ścisłą i formalną interpretację.
Występowanie takiej krawędzi w sieci będziemy wyrażać pisząc
.
Dla węzłów sieci można wprowadzić relację następstwa, oznaczaną za
pomocą symbolu
i określoną w następujący sposób:
Węzełjest następnikiem węzła
(lub równoważnie węzeł
jest poprzednikiem węzła
) w sieci bayesowskiej, co oznacza się przez
, jeśli jest spełniony jeden z następujących warunków:
Zgodnie z tą definicją węzeł
jest następnikiem węzła
,
jeśli istnieje ścieżka złożona ze skierowanych krawędzi sieci,
prowadząca od węzła
do węzła
. Gdy
,
powiemy, że węzeł
jest bezpośrednim następnikiem węzła
oraz węzeł
jest bezpośrednim poprzednikiem węzła
.
Dla dowolnego węzła
zbiór numerów jego bezpośrednich
poprzedników będziemy oznaczać przez
:
| (3) |
| (4) |
Wprowadzona relacja następstwa jest ważna przede wszystkim dlatego, że umożliwia zdefiniowanie w ścisły, sformalizowany sposób semantyki sieci bayesowskiej, czyli intepretację występujących w niej krawędzi. Otóż sieć taką interpretuje się jako stwierdzenie warunkowej niezależności każdego węzła od wszystkich węzłów nie będących jego następnikami, przy danych wartościach jego bezpośrednich poprzedników.
Korzystając z oznaczeń
i
dla węzła
oraz
uwzględniając, że
, możemy warunek ten zapisać
następująco:
![]() |
(5) |
| (6) |
Zwróćmy uwagę, że sieć bayesowska w żaden sposób nie wpływa na występowanie między atrybutami zależności lub ich brak -- należy ją traktować jako wyraz przyjętych na ten temat założeń, które mogą być spełnione lub nie, zupełnie tak samo jak założenie o niezależności naiwnego klasyfikatora bayesowskiego. Będą nas tu interesować sieci, dla których założenia te są spełnione. Wówczas struktura sieci poprawnie reprezentuje zależności występujące w rozważanej dziedzinie. Sieć taką nazwiemy siecią o poprawnej strukturze.
O użyteczności sieci bayesowskich o poprawnej strukturze decyduje możliwość pośredniego reprezentowania za ich pomocą w oszczędny sposób łącznego rozkładu prawdopodobieństwa dla wszystkich atrybutów. Rozkład ten to zbiór prawdopodobieństw postaci:
![]() |
(7) |
![]() |
(8) |
![]() |
(9) |
W istocie można udowodnić w prosty sposób, że jeśli sieć bayesowska
dla dziedziny
, na której jest określony rozkład prawdopodobieństwa
i atrybuty
,
, ma poprawną
strukturę, to
![]() |
(10) |
. |
(11) |
![]() |
(12) |
| (13) | ||
| (14) |
. |
(15) |
Wiemy, że sieć bayesowska reprezentuje w skompresowany sposób łączny rozkład prawdopodobieństwa atrybutów i że taki łączny rozkład wystarcza do przeprowadzenia dowolnego rodzaju wnioskowania na temat wartości atrybutów. Odpowiedź na dowolne zapytanie można zatem uzyskać, wyznaczając na podstawie sieci łączny rozkład prawdopodobieństwa i wykorzystując go do odpowiednich obliczeń. Niestety, takie bezpośrednie podejście oznacza rezygnację z jednej z najważniejszych korzyści, jaką daje reprezentacja łącznego rozkładu za pomocą sieci, polegającej na jej oszczędności. Oczywiście sieci bayesowskie dają także inne korzyści, w szczególności czytelną i intuicyjnie zrozumiałą graficzną reprezentację wiedzy o zachodzących w dziedzinie bezpośrednich zależnościach przyczynowych, lecz względy efektywnościowe uniemożliwiają bezpośrednie posługiwanie się łącznym rozkładem w praktyce z wyjątkiem bardzo niewielkiej liczby atrybutów. Są więc potrzebne inne algorytmy wnioskowania za pomocą sieci bayesowskich.
Niestety, w ogólnym przypadku problem wnioskowania w dowolnych sieciach bayesowskich jest NP-trudny. Problem ten staje się prostszy dla szczególnego rodzaju sieci, nazywanych sieciami z pojedynczymi połączeniami. W takich sieciach dowolne dwa węzły są połączone co najwyżej jedną ścieżką, złożoną z dowolnie skierowanych krawędzi. Dla takich sieci znane są efektywne algorytmy wnioskowania. Nie będą one tu przedstawiane ze względu na matematyczną złożoność ich wyprowadzenia. Dla dowolnych sieci mogą być stosowane algorytmy przybliżone, oparte na podejściu Monte-Carlo, i na takich się tu skupimy.
Podstawowa koncepcja polega na tym, aby posługując się siecią bayesowską wygenerować w sposób losowy, zgodnie z przechowywanymi w jej węzłach tablicami prawdopodobieństw warunkowych, pewną liczbę wektorów wartości atrybutów (,,sztucznych'' przykładów), a następnie poszukiwany rozkład prawdopodobieństwa oszacować w zwykły sposób na podstawie tak uzyskanej losowej próby danych, wyznaczając względną częstość, z jaką wystąpiły interesujące nas wartości atrybutów. Generowanie każdego wektora danych należałoby rozpocząć od węzłów, które nie mają poprzedników, a więc dla których tablice prawdopodobieństw zawierają w istocie rozkłady bezwarunkowe. Na ich podstawie można wylosować wartości dla tych węzłów. W kolejnych krokach należy dokonywać losowania dla tych węzłów, których bezpośrednie poprzedniki mają już wcześniej wylosowaną wartość, tak aby można się było posłużyć odpowiednimi rozkładami warunkwymi. Metoda ta nazywana jest logicznym próbkowaniem
Załóżmy dla większej konkretności, że należy oszacować rozkład prawdopodobieństwa
![]() |
(16) |
![]() |
(17) |
Sposób generowania zbioru
, na podstawie którego powyższe
oszacowanie jest wyznaczane, podaje algorytm poniższy algorytm.
Pierwszym argumentem przedstawionej funkcji jest przykład
reprezentujący zapytanie, dla którego należy wyznaczyć rozkład
prawdopodobieństwa nieznanych wartości atrybutów o numerach ze zbioru
przy znanych wartościach atrybutów o numerach ze zbioru
. Główna pętla algorytmu powinna być wykonywana tak długo,
dopóki zbiór
nie osiągnie dostatecznie dużego rozmiaru.
Oczywiście w praktycznej implementacji nie ma potrzeby przechowywać
zbioru
, wystarczy tylko na bieżąco po wygenerowaniu każdego
przykładu zwiększać odpowiednie liczniki używane do szacowania
prawdopodobieństw. Niestety, im więcej jest obserwowalnych atrybutów,
których numery zawiera zbiór
, tym bardziej znikomym ułamkiem
ogólnej liczby wygenerowanych przykładów będzie liczba występująca w
mianowniku podanego wyżej ułamka i w celu osiągnięcia wiarygodnych
oszacowań tą metodą wymagany rozmiar zbioru
może być rzeczywiście
bardzo duży.
Trudności związanej z naszkicowaną wyżej metodą wnioskowania pozwala
uniknąć jej prosta modyfikacja, nazywana ważonym próbkowaniem.
W tym podejściu generuje się próbę danych
zawierającą wyłącznie
przykłady, dla których obserwowalne atrybuty mają określone zadane
wartości. Wartości tych atrybutów nie są losowane, jak wszystkich
pozostałych, lecz odpowiednio ustalane. Uwzględnia się jednak ich
prawdopodobieństwa przypisując tak wygenerowanemu przykładowi wagę, z
jaką następnie jest wykorzystywany przy szacowaniu. Jeśli przez
oznaczymy wagę przypisaną przykładowi
, to zmodyfikowane
oszacowanie przybiera postać:
![]() |
(18) |
![]() |
(19) |
![]() |
(20) |
Mimo że w sporej części zwłaszcza wczesnych badań nad sieciami bayesowskimi zakładano, że w praktyce takie sieci mogą być projektowane przez ekspertów w dziedzinie, możliwość automatyzacji ich konstruowania na podstawie danych trenujących znacznie zwiększa szansę na ich udane zastosowania. Zatem przestrzeń możliwych sieci bayesowskich dla danej dziedziny potraktujemy jako przestrzeń hipotez, z której należy wybrać sieć najlepiej odpowiadającą danym trenującym. Dochodzimy w ten sposób do sformułowania zadania automatycznego konstruowania sieci bayesowskich jako szczególnej odmiany zadania indukcyjnego uczenia się. W istocie można sformułować różne wersje zadania uczenia się sieci bayesowskich, różniące się przyjmowanymi założeniami i trudnością.
Są dwa zasadnicze kryteria różnicowania wersji zadania uczenia się sieci bayesowskich: znajomość struktury sieci lub jej brak oraz pełna lub częściowa obserwowalność atrybutów w danych trenujących. Cztery możliwe kombinacje tych kryteriów prowadzą do czterech wariantów zadania indukcji sieci bayesowskich.
To wariant najprostszy, w którym zakłada się, że została określona
poprawna struktura sieci bayesowskiej, w postaci krawędzi
spełniających podane wcześniej warunki. Struktura ta stanowi wiedzę
wrodzoną ucznia. Dostępny jest także zbiór trenujący
,
przy czym dla przykładów z tego zbioru znane są wartości wszystkich
atrybutów. Przy takich założeniach oszacowanie prawdopodobieństw dla
węzłów sieci jest trywialne i sprowadza się do policzenia przykładów
trenujących, dla których wartości atrybutów spełniają odpowiednie
warunki. W najprostszym przypadku oszacujemy element tablicy
prawdopodobieństw warunkowych dla węzła
jako następujący ułamek:
. |
(21) |
W tym przypadku jest również dostępny zbiór trenujący
ze znanymi
wartościami wszystkich atrybutów, lecz struktura sieci nie jest znana
i musi być określona przez ucznia. W związku z tym należy przeszukać w
pewien sposób przestrzeń możliwych struktur w poszukiwaniu takiej,
która będzie najbardziej zgodna z danymi trenującymi. Dla każdej
rozważanej struktury można oszacować odpowiednie tablice
prawdopodobieństw warunkowych w podany wyżej prosty sposób i dla tak
uzyskanej sieci-hipotezy
obliczyć prawdopodobieństwo
następująco:
. |
(22) |
Ten wariant ponownie zakłada znajomość poprawnej struktury sieci, lecz
niepełną obserwowalność atrybutów dla przykładów trenujących. Jest to
zadanie bardziej interesujące z praktycznego punktu widzenia niż
poprzednie, gdyż o ile dość często jest dostępna wiedza o dziedzinie
wystarczająca do określenia struktury, o tyle pełna obserwowalność
jest spotykana raczej rzadko. Znane są skuteczne algorytmy wyznaczania
tablic prawdopodobieństw warunkowych dla sieci o znanej strukturze na
podstawie zbioru trenującego
z częściową obserwowalnością i jeden
z nich, polegający na modyfikowaniu wartości przechowywanych w tych
tablicach w kierunku rosnącego gradientu prawdopodobieństwa
, zostanie dalej omówiony.
Jest to z oczywistych względów najtrudniejszy wariant zadania uczenia się sieci bayesowskich. Przy częściowej obserwowalności danych znalezienie poprawnej struktury w sposób analogiczny do tego, jaki był proponowany dla przypadku pełnej obserwowalności, okazuje się trudne do realizacji. Poszukiwanie skutecznych i ogólnych algorytmów dla tego problemu jest przedmiotem aktualnych prac badawczych.
Rozważmy problem wyznaczenia tablic prawdopodobieństw warunkowych dla
sieci bayesowskiej o ustalonej poprawnej strukturze na podstawie
zbioru trenującego
, przy czym dla wszystkich lub
niektórych przykładów część atrybutów może nie być obserwowalna. Za
cel uczenia się przyjmiemy znalezienie hipotezy
, która jest w
maksymalnym stopniu zgodna z danymi trenującymi, czyli maksymalizuje
prawdopodobieństwo
. Hipoteza jest w tym
przypadku w pełni określana przez tablice prawdopodobieństw
warunkowych, które docelowo mają zawierać jak najlepsze przybliżenie
prawdziwych prawdopodobieństw warunkowych wartości atrybutów. Wartość
takiego prawdopodobieństwa dla hipotezy
zapiszemy jako
, |
(23) |
Jedną z metod (lokalnej) optymalizacji funkcji jest modyfikowanie jej
argumentów w kierunku wyznaczonym przez spadek, jeśli chodzi o
minimalizację, albo wzrost, jeśli chodzi o maksymalizację, jej
gradientu. Popularne algorytmy uczenia się dla wielowarstwowych sieci
neuronowych są oparte na metodach spadku gradientu. W naszym przypadku
interesować nas będzie wzrost gradientu prawdopodobieństwa
względem argumentów, jakie stanowią
prawdopodobieństwa warunkowe dla węzłów sieci. Weźmy pod uwagę jedno
z tych prawopodobieństw, dla pewnego węzła
i jego wartości
, przy pewnych ustalonych wartościach atrybutów
dla
, tak jak jest to zapisane w powyższym równaniu, i oznaczmy
je dla zaoszczędzenia miejsca przez
. Okazuje się, że ze względów
technicznych najwygodniej jest wyznaczać gradient logarytmu
prawdopodobieństwa
, które oznaczymy przez
, względem prawdopodobieństw
. Zajmiemy się
zatem pochodną cząstkową
, z zamiarem zastosowania do modyfikacji
reguły wzrostu
gradientu w następującej postaci:
. |
(24) |
Pozostaje przekształcić pochodną cząstkową do postaci, w której będzie
możliwe jej bezpośrednie obliczenie. Przedstawiając
jako iloczyn prawdopodobieństw dla poszczególnych przykładów
trenujących i różniczkując logarytm naturalny otrzymujemy:
![]() |
, |
(25) |
![]() |
(26) |
Występujące w uzyskanym wyrażeniu prawdopodobieństwo jest takiej samej
postaci jak prawdopodobieństwa wykorzystywane przy wnioskowaniu w
sieciach bayesowskich. Jest to prawdopodobieństwo warunkowe wartości
pewnych atrybutów przy danych wartościach innych atrybutów. Jego
wyznaczenie jest trywialne dla przykładów w pełni obserwowalnych,
kiedy
, lecz w ogólnym przypadku musi być
wyznaczone w taki sam sposób, w jaki odpowiada się na zapytania za
pomocą sieci bayesowskich. Często systemy uczące się sieci
bayesowskich łączą więc wnioskowanie i gradientową modyfikację wag.
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.48)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 -no_navigation mow-w12.tex
The translation was initiated by Pawel Cichosz on 2004-02-12