230 likes | 319 Views
Learn about factor graphs, a powerful tool in probabilistic modeling, and the sum-product algorithm for computing marginal functions efficiently. Explore how factor graphs streamline complex problems and enable the application of efficient algorithms. Dive into examples and the message passing algorithm for computing all marginal functions. Discover the practical applications and benefits of factor graphs in computer vision and beyond.
E N D
Factor Graphs 2005. 5. 20 Young Ki Baik Computer Vision Lab. Seoul National University
Contents • Introduction • Sum product algorithm • Computing a single marginal function • Computing all marginal function • Probabilistic modeling • Conclusion
Introduction • What is a Factor Graph? • A factor graph shows how a function of several variables can be factored into a product of “smaller” function.
Introduction • What is a Factor Graph?
Introduction • Why are factor graphs useful? • Factor graphs simplify problems. • Many efficient algorithms can be applied to factor graphs. • Special Feature • Factor graph represent not only variables or constant, but also functions.
Sum product algorithm • Marginal function • “~{x}” notation • Marginal function Object : Get marginal function g(x) using factor graph
Sum product algorithm • Example (Simple Factor Graph) • Let be a function of four variables.
Computing a single marginal function • Example (Simple Factor Graph) • Marginal function for
Computing a single marginal function • Example (Simple Factor Graph) • Marginal function for
Computing a single marginal function • Example (Simple Factor Graph) • Marginal function for and Bottom-up procedure
Computing all marginal functions • Computing all marginal functions problem • In order to compute all marginal functions , we need to calculate single marginal function as much as n times. • Message passing algorithm • Solution for redundancy problem
Computing all marginal functions • Message passing algorithm • Let denote the message sent from node x to node f in the operation. • Let denote the message sent from node f to node x.
Computing all marginal functions • Message passing algorithm • Variable to local function • Local function to variable
Computing all marginal functions • A Detail Example (Message passing algorithm) • The message may be generated in 4 steps. • ➀ ~ ➃ are step of message passing algorithm • Algorithms start from each leaves. ➃ ➂ ➀ ➁ ➀ ➁ ➂ ➃ ➂ ➃ ➁ ➀
Computing all marginal functions • A Detail Example (Message passing algorithm) • Step 1: Variable to local function ➀ ➀ ➀
Computing all marginal functions • A Detail Example (Message passing algorithm) • Step 2: Local function to variable ➁ ➁ ➁
Computing all marginal functions • A Detail Example (Message passing algorithm) • Step 3: Variable to local function ➂ ➂ ➂
Computing all marginal functions • A Detail Example (Message passing algorithm) • Step 4: Local function to variable ➃ ➃ ➃
Computing all marginal functions • A Detail Example (Message passing algorithm) • Termination ➃ ➂ ➀ ➁ ➀ ➁ ➂ ➃ ➂ ➃ ➁ ➀
Probabilistic Modeling • Markov chain
Probabilistic Modeling • Hidden markov model
Conclusion • More information • The closed factor graph • It can be computed by iterative method. • Conclusion • Factor graph can apply to many efficient algorithms. • Factor graph is only a simplifying tool to solve the problems.