Sieć bayesowska to probabilistyczny model graficzny w postaci skierowanego grafu acyklicznego (DAG), służący do modelowania zależności i niepewności między zmiennymi. Węzły reprezentują zmienne losowe, a krawędzie kodują bezpośrednie zależności warunkowe między nimi. Dla każdej zmiennej definiuje się rozkład warunkowy względem jej rodziców (tzw. tablica prawdopodobieństw warunkowych, CPT), dzięki czemu rozkład wspólny całego zbioru zmiennych faktoryzuje się jako iloczyn rozkładów warunkowych:
P(X1, X2, ..., Xn) = ∏ P(Xi | Parents(Xi)). W praktyce sieć bayesowska łączy strukturę grafu (model zależności) z regułami prawdopodobieństwa, umożliwiając wnioskowanie o nieobserwowalnych lub brakujących zmiennych na podstawie obserwacji.

Struktura i reprezentacja

Graf używany w sieci bayesowskiej jest skierowany i nie zawiera cykli. Krawędzie nie zawsze muszą być interpretowane wyłącznie jako zależności przyczynowe, choć przy odpowiednich założeniach mogą odzwierciedlać relacje przyczynowo-skutkowe (użyteczne w modelach przyczynowych). Węzły mogą reprezentować zmienne dyskretne lub ciągłe; dla zmiennych ciągłych stosuje się np. warunkowe rozkłady Gaussian lub mieszanki, albo najpierw przeprowadza się dyskretyzację.

Wnioskowanie (inference)

Gdy część zmiennych jest obserwowana, sieć bayesowska pozwala obliczyć rozkłady posteriori dla zmiennych ukrytych. Typowe zadania wnioskowania to:

  • obliczenie prawdopodobieństwa warunkowego P(A | B = b),
  • znalezienie najbardziej prawdopodobnego wyjaśnienia (MAP),
  • szacowanie marginali dla pojedynczych zmiennych.
Algorytmy do wnioskowania dzieli się na dokładne i przybliżone. Do metod dokładnych należą eliminacja zmiennych, algorytm drzew skrzyżowań (junction tree) i propagacja wiary (belief propagation) w grafach o niskiej treewidth. W praktyce jednak wnioskowanie w ogólnych sieciach bayesowskich jest obliczeniowo trudne (NP-trudne), dlatego powszechnie stosuje się metody przybliżone: próbkowanie Monte Carlo (np. Gibbs sampling, likelihood weighting, MCMC), oraz techniki wariacyjne.

Uczenie sieci bayesowskiej

Istnieją dwa podstawowe problemy uczenia:

  • Uczenie parametrów — estymacja tablic CPT przy znanej strukturze (np. metodą największej wiarygodności lub podejściem bayesowskim z priorytetami), także przy brakujących danych (EM — algorytm oczekiwania-maksymalizacji).
  • Uczenie struktury — odkrycie topologii grafu na podstawie danych. Można stosować heurystyki score-and-search (np. BIC, BDeu) lub podejścia oparte na testach niezależności. Problem ten jest złożony obliczeniowo i często wymaga upraszczających założeń.
Ponadto istnieje uczenie hybrydowe i uczenie z wykorzystaniem wiedzy eksperckiej (inkorporowanie priorytetów lub ograniczeń strukturalnych).

Zastosowania

Sieci bayesowskie mają szerokie zastosowanie w uczeniu maszynowym i poza nim. Stosuje się je tam, gdzie trzeba modelować niepewność, łączyć dane z wiedzą ekspercką lub przeprowadzać wnioskowanie przy brakujących danych. Przykłady zastosowań:

  • diagnostyka medyczna (diagnoza chorób na podstawie objawów),
  • rozpoznawanie obrazów i mowy, klasyfikacja dokumentów, filtracja treści,
  • systemy ekspertowe i wsparcie decyzji (np. w inżynierii, finansach),
  • wyszukiwanie informacji i rankingi w systemach rekomendacyjnych,
  • modelowanie szeregów czasowych za pomocą dynamicznych sieci bayesowskich (DBN) — HMM (ukryte modele Markowa) można traktować jako szczególny przypadek DBN.
Sieci są wykorzystywane zarówno w zadaniach nadzorowanych (klasyfikacja), jak i do eksploracji związków między zmiennymi.

Zalety i ograniczenia

Zalety:

  • jawna reprezentacja zależności warunkowych i możliwość łączenia wiedzy eksperckiej z danymi,
  • dobrze radzą sobie z brakującymi danymi i mogą podawać rozkłady niepewności (posteriori),
  • interpretowalność modeli — graf ułatwia zrozumienie zależności między zmiennymi.
Ograniczenia:
  • problemy skalowalności — dokładne wnioskowanie jest kosztowne obliczeniowo w dużych, gęstych sieciach,
  • uczenie struktury z dużych zbiorów danych bywa trudne i podatne na przeuczenie bez regularizacji,
  • modele dla zmiennych ciągłych bywają bardziej złożone i wymagają dodatkowych założeń (np. liniowej zależności i warunkowej normalności) albo dyskretyzacji.

Krótki przykład praktyczny

W typowej aplikacji medycznej mamy zmienną "Choroba" i zmienne "Objaw1", "Objaw2". Sieć może mieć krawędzie z "Choroba" do każdego objawu. Po zaobserwowaniu objawów obliczamy P(Choroba | Objaw1, Objaw2) korzystając z twierdzenia Bayesa (twierdzeniem Bayesa) i struktury sieci, co pozwala na automatyczną diagnozę lub wsparcie decyzji klinicznej.

Sieci bayesowskie są więc uniwersalnym narzędziem do modelowania niepewności i zależności w wielu dziedzinach, łącząc formalizm probabilistyczny z reprezentacją graficzną, co ułatwia zarówno analizę jak i komunikację modeli.