Faktordiagramm - Factor graph

Ein Faktorgraph ist ein zweiteiliger Graph, der die Faktorisierung einer Funktion darstellt. In der Wahrscheinlichkeitstheorie und ihren Anwendungen werden Faktorgraphen verwendet, um die Faktorisierung einer Wahrscheinlichkeitsverteilungsfunktion darzustellen, was effiziente Berechnungen ermöglicht, z. B. die Berechnung von Randverteilungen durch den Summenprodukt-Algorithmus . Eine der wichtigsten Erfolgsgeschichten von Faktorgraphen und dem Summenproduktalgorithmus ist die Dekodierung von kapazitätsnähenden fehlerkorrigierenden Codes wie LDPC- und Turbo-Codes .

Faktorgraphen verallgemeinern Beschränkungsgraphen . Ein Faktor, dessen Wert entweder 0 oder 1 ist, wird als Einschränkung bezeichnet. Ein Beschränkungsgraph ist ein Faktorgraph, bei dem alle Faktoren Beschränkungen sind. Der Max-Product-Algorithmus für Faktorgraphen kann als eine Verallgemeinerung des Arc-Consistency-Algorithmus für die Constraint-Verarbeitung angesehen werden.

Definition

Ein Faktorgraph ist ein zweiteiliger Graph, der die Faktorisierung einer Funktion darstellt. Gegeben eine Faktorisierung einer Funktion ,

wobei der entsprechende Faktorgraph aus variablen Scheitelpunkten , Faktorscheitelpunkten und Kanten besteht . Die Kanten hängen wie folgt von der Faktorisierung ab: es gibt eine ungerichtete Kante zwischen Faktorscheitelpunkt und variablem Scheitelpunkt if . Die Funktion wird stillschweigend als reellwertig angenommen : .

Faktorgraphen können mit Message-Passing-Algorithmen kombiniert werden, um bestimmte Merkmale der Funktion , wie zB die Randverteilungen , effizient zu berechnen .

Beispiele

Ein Beispiel für ein Faktordiagramm

Betrachten Sie eine Funktion, die wie folgt faktorisiert:

,

mit einem entsprechenden Faktordiagramm auf der rechten Seite. Beachten Sie, dass der Faktorgraph einen Zyklus hat . Wenn wir zu einem einzelnen Faktor verschmelzen , ist der resultierende Faktorgraph ein Baum . Dies ist ein wichtiger Unterschied, da Nachrichtenübermittlungsalgorithmen normalerweise für Bäume exakt sind, aber nur annähernd für Graphen mit Zyklen.

Nachrichtenweitergabe von Faktordiagrammen

Ein beliebter Message-Passing-Algorithmus für Faktorgraphen ist der Summenprodukt-Algorithmus , der alle Randbereiche der einzelnen Variablen der Funktion effizient berechnet. Insbesondere ist der Rand der Variablen definiert als

wobei die Notation bedeutet, dass die Summation alle Variablen außer . Die Nachrichten des Summenprodukt-Algorithmus werden konzeptionell in den Ecken berechnet und entlang der Kanten weitergegeben. Eine Nachricht von oder an einen variablen Scheitelpunkt ist immer eine Funktion dieser bestimmten Variablen. Wenn beispielsweise eine Variable binär ist, können die Nachrichten über die Kanten, die auf den entsprechenden Scheitelpunkt fallen, als Vektoren der Länge 2 dargestellt werden: der erste Eintrag ist die in 0 bewertete Nachricht, der zweite Eintrag ist die in 1 bewertete Nachricht Variable gehört zum Bereich der reellen Zahlen , Nachrichten können beliebige Funktionen sein, und deren Darstellung erfordert besondere Sorgfalt.

In der Praxis wird der Summenproduktalgorithmus für statistische Inferenz verwendet , wobei es sich um eine gemeinsame Verteilung oder eine gemeinsame Likelihood-Funktion handelt , und die Faktorisierung hängt von den bedingten Unabhängigkeiten zwischen den Variablen ab.

Das Hammersley-Clifford-Theorem zeigt, dass andere Wahrscheinlichkeitsmodelle wie Bayes-Netzwerke und Markov-Netzwerke als Faktorgraphen dargestellt werden können; die letztere Darstellung wird häufig verwendet, wenn eine Inferenz über solche Netzwerke unter Verwendung von Glaubensausbreitung durchgeführt wird . Andererseits sind Bayessche Netze natürlicher für generative Modelle geeignet , da sie die Kausalitäten des Modells direkt darstellen können.

Siehe auch

Externe Links

  • Loeliger, Hans-Andrea (Januar 2004), "An Introduction to Factor Graphs]" (PDF) , IEEE Signal Processing Magazine , 21 (1): 28–41, Bibcode : 2004ISPM...21...28L , doi : 10.1109/MSP.2004.1267047
  • dimple ein Open-Source-Tool zum Erstellen und Lösen von Faktorgraphen in MATLAB.
  • Loeliger, Hans-Andrea (2008), Eine Einführung in Faktorgraphen (PDF)

Verweise