TUTORIAL:
BAYES'SCHE NETZE
PROBABILISTISCHE NETZE
(Bayesian Networks / Probabilistic Networks / Causal Belief Networks)
Modulare Bayes'sche Netze
Zum einfachen Austausch einzelner Teile eines Netzes bzw. zur Wiederverwendung derselben in anderen Netzen ist es hilfreich ein Netz in Module aufzuteilen. Das sollte einerseits natürlich anhand bestimmter logischer Überlegungen erfolgen, muss aber andererseits auch bestimmten Kriterien genügen, um mit den zusammengesetzten Modulen schließlich wie mit einem "normalen" Netz rechnen zu können. Welche Kriterien das sind hängt vom konkret eingesetzten Verfahren ab.

Zunächst einmal sollte jedes Modul (Teilnetz) selbst ein korrektes und formal vollständiges Bayes'sches Netz darstellen. Kommt in zwei Modulen derselbe Knoten A 1) vor und hat dieser Knoten nur in höchstens einem Teilnetz Elternknoten, so kann man die Teilnetze zusammenbauen, indem die "elternlose" Definition des Knotens A durch die des anderen Teilnetzes ersetzt wird. Die elternlose Version (insbesondere die bedingte Wahrscheinlichkeitstafel) von A wäre hier also lediglich ein Dummy. Danach kann mit dem so zusammengebauten Gesamtnetz ganz normal weitergearbeitet werden. Dieser Ansatz funktioniert auch wenn sich Module mehrere Knoten teilen. Dabei muss auch nicht verlangt werden, dass alle gemeinsamen Knoten in demselben Modul elternlos sind, sondern es wäre z.B. möglich, dass Knoten A in Modul M1 elternlos ist, während dies für Knoten B im Modul M2 der Fall ist.



Ein Netz aus zwei Modulen, die ("dynamisch") über den Knoten B verbunden sind

Interessant ist auch das dynamische An- und Abhängen einzelner Module - insbesondere in Dynamischen Bayes'schen Netzen. Dabei werden die bereits fertig "compilierten" Junction-Trees der Module zusammengefügt. Nur dürfen in diesem Fall durch das Zusammenfügen der Module keine neuen ungerichteten Zyklen im Gesamtnetz entstehen (also solche die nicht bereits in einem der Teilmodule vollständig enthalten sind).2) Es sollte dafür gesorgt werden, dass alle Knoten die sowohl im Modul M1 als auch in M2 vorkommen jeweils gemeinsam in einer Clique der beiden Teil-Junction-Trees enthalten sind. Zwischen diesen beiden Cliquen kann dann ein zusätzlicher Separator eingefügt werden. Wobei die Information bezüglich der gemeinsamen Knoten (z.B. A und B) in einem der beiden Teil-Netze (z.B. M1) fallen gelassen wird und durch die Information aus dem anderen Teil-Netz ersetzt wird:

P'M1(A,B,...) = PM1(A,B,...) / PM1(A,B) * PM2(A,B)

Das entspricht der normalen Informationsweiterleitung über einen Separator.


1) Dabei kommt es nicht darauf an, dass der Knoten tatsächlich in beiden Netzen "A" heißt, sondern darauf, dass inhaltlich derselbe Knoten gemeint ist.
2) Das bedeutet insbesondere, dass jeweils nur ein Modul dynamische Kanten haben darf - jedenfalls wenn alle Module innerhalb einer Zeitscheibe verbunden sind.
Referenzen

 


Patrick Rammelt, 11/2005