Sieć bayesowska — definicja, działanie i zastosowania w uczeniu maszynowym

Sieć bayesowska — przejrzyste wyjaśnienie definicji, działania i zastosowań w uczeniu maszynowym: wnioskowanie, klasyfikacja, rozpoznawanie obrazów, dokumentów i mowy.

Autor: Leandro Alegsa

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.

Historia

Termin "sieci bayesowskie" został stworzony przez Judea Pearl w 1985 roku, aby podkreślić trzy aspekty:

  1. Często subiektywny charakter informacji wejściowych.
  2. Poleganie na warunkowaniu Bayesa jako podstawie aktualizacji informacji.
  3. Rozróżnienie pomiędzy przyczynowym i dowodowym sposobem rozumowania, które podkreśla pośmiertnie opublikowana praca Thomasa Bayesa z 1763 roku.

Pod koniec lat osiemdziesiątych ubiegłego wieku, przełomowe teksty Probabilistic Reasoning in Intelligent Systems i Probabilistic Reasoning in Expert Systems podsumowały właściwości sieci bayesowskich i pomogły ustanowić sieci bayesowskie jako dziedzinę nauki.

Nieformalne warianty takich sieci zostały po raz pierwszy użyte przez prawnika Johna Henry'ego Wigmore'a, w formie wykresów Wigmore'a, do analizy dowodów procesowych w 1913 roku. Inny wariant, zwany diagramami ścieżkowymi, został opracowany przez genetyka Sewalla Wrighta i stosowany jest w naukach społecznych i behawioralnych (głównie w liniowych modelach parametrycznych).

Pytania i odpowiedzi

P: Co to jest sieć bayesowska?


O: Sieć bayesowska to rodzaj grafu używanego do modelowania nieobserwowalnych zdarzeń, który może być wykorzystywany do wnioskowania.

P: Jaki typ grafu jest używany w sieci bayesowskiej?


A: Graf skierowany, który nie zawiera żadnych cykli.

P: Co reprezentują węzły grafu w sieci bayesowskiej?


O: Węzły reprezentują zmienne losowe.

P: W jaki sposób połączone są dwa węzły w sieci bayesowskiej?


O: Dwa węzły mogą być połączone krawędzią, a krawędź ma powiązane prawdopodobieństwo transmisji z jednego węzła do drugiego.

P: W jakiej dziedzinie wykorzystywane są głównie sieci bayesowskie?


O: Sieci bayesowskie są wykorzystywane głównie w dziedzinie (niewspomaganego) uczenia maszynowego.

P: Czy sieci bayesowskie mogą być wykorzystywane do klasyfikacji informacji?


O: Tak, sieci bayesowskie mogą być wykorzystywane do klasyfikacji informacji w takich dziedzinach jak rozpoznawanie obrazów, dokumentów lub mowy oraz wyszukiwanie informacji.

P: Na czym opiera się sieć bayesowska?


O: Sieć bayesowska opiera się na odkryciu wielebnego Thomasa Bayesa w latach czterdziestych XVII wieku, zwanym twierdzeniem Bayesa.


Przeszukaj encyklopedię
AlegsaOnline.com - 2020 / 2025 - License CC3