Bayesovská síť je druh grafu, který se používá k modelování událostí, které nelze pozorovat. Ten pak může být použit k odvozování. Použitý graf je směrovaný a neobsahuje žádné cykly. Uzly grafu představují náhodné veličiny. Pokud jsou dva uzly spojeny hranou, je jí přiřazena pravděpodobnost, že se bude přenášet z jednoho uzlu do druhého.
Bayesovské sítě se používají především v oblasti (neasistovaného) strojového učení. Používají se tam, kde je třeba klasifikovat informace. Příkladem je rozpoznávání obrázků, dokumentů nebo řeči a vyhledávání informací.
Vychází z objevu reverenda Thomase Bayese ze 40. let 17. století, který se nazývá Bayesova věta.
Co je to Bayesovská síť (rozšířeně)
Jednoduše řečeno, Bayesovská síť je pravděpodobnostní model ve formě acyklického orientovaného grafu (DAG). Každý uzel reprezentuje náhodnou veličinu (diskrétní nebo spojitou) a každá orientovaná hrana zachycuje přímý závislostní vztah mezi veličinami. Síť kompaktně vyjadřuje společné rozdělení pravděpodobnosti pomocí lokálních podmíněných rozdělení.
Principy a matematická struktura
- Faktorizace společného rozdělení: Pokud má uzel X rodiče Pa(X), pak se celkové rozdělení faktorizuje jako P(X1,...,Xn) = ∏_i P(Xi | Pa(Xi)). Díky tomu je možné pracovat s vysokodimenzionálními rozděleními efektivněji.
- Podmíněná nezávislost: Graf ukazuje, které proměnné jsou podmíněně nezávislé. To umožňuje redukci počtu parametrů (není potřeba určovat plné společné rozdělení).
- Kondiční pravděpodobnostní tabulky (CPT): Pro diskrétní uzly se obvykle zadávají CPT, které přiřazují pravděpodobnosti hodnot uzlu pro každou kombinaci hodnot jeho rodičů. Pro spojité uzly se používají např. Gaussova podmíněná rozdělení nebo regresní modely.
- Vztah k Bayesově větě: Lokální podmíněná rozdělení využívají Bayesovu větu při aktualizaci pravděpodobností na základě nových důkazů (pozorování).
Inference (odvozování)
Hlavním účelem Bayesovských sítí je provádět inference — tzn. vypočítat pravděpodobnost některých proměnných danými pozorováními jiných. Metody lze rozdělit na přesné a aproximativní:
- Přesné metody: varianta variable elimination, zadní průchod (belief propagation) v polytree strukturách, algoritmus Junction Tree (clique tree) pro obecné sítě. Tyto metody dají přesné výsledky, ale mohou být výpočetně náročné (exponenciální v treewidthu grafu).
- Aproximativní metody: Monte Carlo simulace (např. Gibbsův sampler, Metropolis-Hastings), importance sampling, variace Bayesovských aproximací. Tyto metody jsou použitelné pro velké nebo složité sítě, kde jsou přesné metody nepraktické.
Učení sítí ze dat
- Učení parametrů: Pokud je struktura známa, lze odhadnout parametry (CPT) z dat pomocí maximální věrohodnosti nebo Bayesovských odhadů (konjugované apriorní rozdělení, Laplaceova korekce apod.).
- Učení struktury: Pokud struktura není známa, hledá se graf, který nejlépe vysvětluje data. Používají se metody založené na skóre (BIC, BDeu) v kombinaci s hledáním (greedy search, tabu search, MCMC přes struktury) nebo testy nezávislosti.
- Skrývané proměnné: Model může obsahovat latentní proměnné; v takových případech se k učení parametrů často používá EM algoritmus (Expectation–Maximization).
Aplikace ve strojovém učení a praxi
Bayesovské sítě se používají v mnoha oblastech:
- Diagnostika (lékařství, strojní poruchy) — modelování příznaků a příčin a výpočet posteriorních pravděpodobností diagnóz.
- Rozpoznávání řeči a zpracování přirozeného jazyka — modelování závislostí mezi skrytými stavy a pozorováními.
- Rozpoznávání obrazu — kombinování informací z více zdrojů (vlastnosti pixelů, kontext) a odhad strukturálních vztahů.
- Vyhledávání informací a filtrování — modelování relevance dokumentu vzhledem k dotazu a kontextu.
- Rozhodovací systémy a podpůrná rozhodnutí — v kombinaci s rozhodovacími diagramy (influence diagrams) pro volbu optimální akce.
- Časové modely — dynamické Bayesovské sítě (DBN) zobecňují HMM (Hidden Markov Models) pro vícerozměrné časové řady.
Příklad (ilustrační)
Představme si jednoduchou lékařskou síť s uzly: Chřipka → Kašel a Chřipka → Horečka. Uzly Kašel a Horečka jsou podmíněně nezávislé vzhledem k uzlu Chřipka. Pozorujeme-li horečku, můžeme pomocí Bayesovské sítě aktualizovat pravděpodobnost, že pacient má chřipku, a tím i upravit předpověď pravděpodobnosti kašle.
Výhody a omezení
- Výhody: transparentní reprezentace znalostí a závislostí, principielně koherentní práce s nejistotou, možnost kombinovat doménové znalosti a data, flexibilita (diskrétní i spojité proměnné).
- Omezení: učení struktury a přesná inference mohou být výpočetně náročné, vyžaduje kvalitní data; pro velmi husté grafy může nastat problém s pamětí a časem (velký treewidth).
Nástroje a implementace
Existují knihovny a nástroje pro stavbu a inferenci Bayesovských sítí: např. bnlearn (R), pgmpy (Python), Bayes Net Toolbox (MATLAB), Hugin, Netica a další. Volba nástroje záleží na požadavcích (velikost sítě, typ inference, potřeba grafického rozhraní).
Závěr
Bayesovské sítě představují silný přístup pro modelování a odvozování v nejistých prostředích. Kombinují teorii pravděpodobnosti, grafické modelování a algoritmy pro inference a učení. Díky své interpretovatelnosti a flexibilitě jsou užitečné v mnoha oblastech strojového učení a rozhodovacích systémů.