What are “Factor Graphs” and what are they useful for?

后端 未结 3 893
时光说笑
时光说笑 2021-02-02 00:38

A friend is using Factor Graphs to do text mining (identifying references to people in text), and it got me interested in this tool, but I\'m having a hard time finding an intui

3条回答
  •  臣服心动
    2021-02-02 01:27

    A factor graph is the graphical representation of the dependencies between variables and factors (parts of a formula) that are present in a particular kind of formula.

    Suppose you have a function f(x_1,x_2,...,x_n) and you want to compute the marginalization of this function for some argument x_i, thus summing over all assignments to the remaining formula. Further f can be broken into factors, e.g.

    f(x_1,x_2,...,x_n)=f_1(x_1,x_2)f_2(x_5,x_8,x_9)...f_k(x_1,x_10,x_11)

    Then in order to compute the marginalization of f for some of the variables you can use a special algorithm called sum product (or message passing), that breaks the problem into smaller computations. For this algortithm, it is very important which variables appear as arguments to which factor. This information is captured by the factor graph.

    A factor graph is a bipartite graph with both factor nodes and variable nodes. And there is an edge between a factor and a variable node if the variable appears as an argument of the factor. In our example there would be an edge between the factor f_2 and the variable x_5 but not between f_2 and x_1.

    There is a great article: Factor graphs and the sum-product algorithm.

提交回复
热议问题