Bayessches Netz
Ein bayessches Netz oder Bayes’sches Netz (benannt nach Thomas Bayes) ist ein gerichteter azyklischer Graph (DAG), in dem die Knoten Zufallsvariablen und die Kanten bedingte Abhängigkeiten zwischen den Variablen beschreiben. Jedem Knoten des Netzes ist eine bedingte Wahrscheinlichkeitsverteilung der durch ihn repräsentierten Zufallsvariable, gegeben die Zufallsvariablen an den Elternknoten, zugeordnet. Sie werden durch Wahrscheinlichkeitstabellen beschrieben. Diese Verteilung kann beliebig sein, jedoch wird häufig mit diskreten oder Normalverteilungen gearbeitet. Eltern eines Knotens v sind diejenigen Knoten, von denen eine Kante zu v führt.
Ein bayessches Netz dient dazu, die gemeinsame Wahrscheinlichkeitsverteilung aller beteiligten Variablen unter Ausnutzung bekannter bedingter Unabhängigkeiten möglichst kompakt zu repräsentieren. Dabei wird die bedingte (Un)abhängigkeit von Untermengen der Variablen mit dem A-priori-Wissen kombiniert.
Sind X1, …, Xn einige der im Graphen vorkommenden Zufallsvariablen (die abgeschlossen sind unter Hinzufügen von Elternvariablen), so berechnet sich deren gemeinsame Verteilung als
Dabei ist eine symbolische Schreibweise für die gemeinsame Wahrscheinlichkeitsverteilung der Zufallsvariablen . Hat ein Knoten keine Eltern, so handelt es sich bei der assoziierten Wahrscheinlichkeitsverteilung um eine unbedingte Verteilung.
Wie im Beispiel unten, interessiert man sich häufig für eine Randwahrscheinlichkeit, die man durch Marginalisierung über alle möglichen Realisierungen im Zustandsraum der Zufallsvariable erhält:
Beispiel
Im Beispiel bilden die drei Zufallsvariablen = Wetter, = Mensaessen und = Stimmung die Knoten eines bayesschen Netzes. Neben den Knoten für die Zufallsvariablen und sind tabellarisch deren unbedingte Wahrscheinlichkeitsverteilungen angegeben. Neben dem Knoten für die Zufallsvariable sind vier bedingte Wahrscheinlichkeitsverteilungen für die Zufallsvariable , gegeben die vier möglichen Kombinationen von und , angegeben. Die beiden Zufallsvariablen und sind die Eltern von und haben keine Eltern. Die beiden Pfeile (Kanten) werden kausal interpretiert.
Die gemeinsame Wahrscheinlichkeitsverteilung berechnet sich wegen der Stochastische Unabhängigkeit von M und W wie folgt:
Daher folgt die mit Hilfe des Gesetzes der totalen Wahrscheinlichkeit die Randverteilung
Mit den angegebenen Wahrscheinlichkeitsverteilungen lässt sich die Randverteilung von bestimmen. Beispielsweise gilt
wobei alle benötigten Wahrscheinlichkeiten den drei Tabellen entnommen werden können.
Außerdem lässt sich über
für , und die gemeinsame Wahrscheinlichkeitsverteilung von , und bestimmen. Das erste Gleichheitszeichen ergibt sich aus der Definition einer bedingten Wahrscheinlichkeit und das zweite Gleichheitszeichen verwendet die stochastische Unabhängigkeit der Zufallsvariablen und . Z. B. gilt
- .
Analog lassen sich sieben weitere Wahrscheinlichkeiten für alle weiteren Kombinationen von Werten der Zufallsvariablen , und berechnen.
Die gemeinsame Wahrscheinlichkeitsverteilung von und erhält man aus der gemeinsamen Wahrscheinlichkeitsverteilung von , und als
für und .
Ist bekannt, dass die Stimmung gut ist, so lässt sich auf die Wahrscheinlichkeit sonnigen Wetters rückschließen:
wobei sich alle benötigten Wahrscheinlichkeiten aus der gemeinsamen Wahrscheinlichkeitsverteilung von und ergeben.
Schließen in bayesschen Netzen
Ist von manchen der Variablen, etwa E1, ..., Em, der Wert bekannt, d. h. es liegt Evidenz vor, so kann mit Hilfe verschiedener Algorithmen auch die bedingte Wahrscheinlichkeitsverteilung von X1, ..., Xn mit gegebenen E1, ..., Em berechnet und damit Inferenz betrieben werden.
Das Inferenzproblem, sowohl das exakte wie auch das approximative, in Bayes’schen Netzen ist NP-schwer. In größeren Netzen bieten sich jedoch approximative Verfahren an. Exakte Verfahren sind zwar etwas genauer als approximative, dies spielt aber in der Praxis oft nur eine unwesentliche Rolle, da bayessche Netze zur Entscheidungsfindung eingesetzt werden, wo die genauen Wahrscheinlichkeiten nicht benötigt werden.
Zu beachten ist, dass bei Softwareumsetzungen exakter Inferenzverfahren oft nur doppelt genaue Gleitkommazahlen eingesetzt werden. Dadurch ist die Genauigkeit dieser Berechnungen eingeschränkt.
Exakte Inferenz
Zur exakten Inferenz in bayesschen Netzen eignen sich u. a. folgende Algorithmen:
- Variablenelimination
- Clustering-Algorithmen
Approximative Inferenz
- Rejection Sampling
- Likelihood weighting
- Self-Importance
- Adaptive Importance
- Markow-Ketten
- Monte-Carlo-Algorithmus, z. B. Gibbs-Sampling
Inferenztypen
- Diagnostisch: Von Effekten zu Ursachen
- Kausal: Von Ursachen zu Effekten
- Interkausal: Zwischen Ursachen eines gemeinsamen Effekts
- Gemischt: Kombination der Vorangegangenen
Lernen bayesscher Netze
Soll aus vorliegenden Daten automatisch ein bayessches Netz generiert werden, das die Daten möglichst gut beschreibt, so stellen sich zwei mögliche Probleme: Entweder ist die Graphenstruktur des Netzes bereits gegeben und man muss sich nicht mehr um die Ermittlung bedingter Unabhängigkeiten, sondern nur noch um die Berechnung der bedingten Wahrscheinlichkeitsverteilungen an den Knoten des Netzes kümmern, oder man muss neben den Parametern auch eine Struktur eines geeigneten Netzes lernen.
Parameterlernen
Geht man nicht von einem vollen (bayesschen) Wahrscheinlichkeitsmodell aus, wählt man im Allgemeinen
als Schätzmethode. Für den Fall eines vollständigen (bayesschen) Wahrscheinlichkeitsmodells bietet sich zur Punktschätzung die
an. Lokale Maxima der Likelihood- bzw. A-Posteriorifunktionen können im Fall von vollständigen Daten und vollständig beobachteten Variablen üblicherweise mit gängigen Optimierungsalgorithmen wie
gefunden werden. Für den (als die Regel anzusehenden) Fall fehlender Beobachtungen wird üblicherweise der mächtige und weit verbreitete
- Expectation-Maximization-Algorithmus (EM), bzw. der
- Generalisierte Expectation-Maximization-Algorithmus (GEM)
verwendet.
Strukturlernen
Strukturlernen kann u. a. mit dem K2-Algorithmus (approximativ, unter Verwendung einer geeigneten Zielfunktion) oder dem PC-Algorithmus erfolgen.
Bedingte Unabhängigkeit
Zur Ermittlung bedingter Unabhängigkeiten zweier Variablenmengen gegeben eine dritte solche Menge genügt es, die Graphenstruktur des Netzes zu untersuchen. Man kann zeigen, dass der (graphentheoretische) Begriff der d-Separation mit dem Begriff der bedingten Unabhängigkeit zusammenfällt.
Anwendung
Bayessche Netze werden als Form probabilistischer Expertensysteme eingesetzt, wobei die Anwendungsgebiete unter anderem in Bioinformatik, Musteranalyse, Medizin und Ingenieurswissenschaften liegen. In der Tradition der Künstlichen Intelligenz liegt der Fokus bayesscher Netze auf der Ausnutzung derer graphischen Strukturen zur Ermöglichung abduktiver und deduktiver Schlüsse, die in einem unfaktorisierten Wahrscheinlichkeitsmodell undurchführbar wären. Realisiert wird dies durch die verschiedenen Inferenzalgorithmen.
Die Grundidee bayesscher Netze, nämlich die graphische Faktorisierung eines Wahrscheinlichkeitsmodells, wird auch in anderen Traditionen eingesetzt, wie in der Bayesschen Statistik und in der Tradition der sogenannten Graphischen Modelle zu Zwecken der Datenmodellierung. Anwendungsgebiete sind hier vor allem Epidemiologie, Medizin und Sozialwissenschaften.
Software
Literatur
- Enrique Castillo, Jose Manuel Gutierrez, Ali S. Hadi: Expert Systems and Probabilistic Network Models. Springer-Verlag, New York 1997, ISBN 0-387-94858-9.
- Finn V. Jensen: Bayesian Networks and Decision Graphs. Springer-Verlag, New York 2001, ISBN 0-387-95259-4.
- Richard E. Neapolitan: Learning Bayesian Networks. Prentice Hall, 2003, ISBN 0-13-012534-2.
- Judea Pearl: Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kauffmann Publishers, San Francisco 1988, ISBN 0-934613-73-7.
- Judea Pearl: Causality. Cambridge University Press, Cambridge 2000, ISBN 0-521-77362-8.
- Stuart Russell, Peter Norvig: Künstliche Intelligenz – Ein moderner Ansatz. Pearson Education Deutschland, Deutschland 2004, ISBN 3-8273-7089-2.