80 likes | 180 Views
CSCI 121 Special Topics: Bayesian Networks Lecture #5: Dynamic Bayes Nets. Modeling Dynamic Processes. Not all interesting relationships are static. E.g., drop in temperature today may increase likelihood of snow tomorrow.
E N D
CSCI 121 Special Topics: Bayesian Networks Lecture #5: Dynamic Bayes Nets
Modeling Dynamic Processes • Not all interesting relationships are static. • E.g., drop in temperature today may increase likelihood of snow tomorrow. • Markov Assumption: The number of steps T (days, seconds, years) of influence is finite – don't have to consider weather from two weeks ago. • Markov Process – A process (weather?) that obeys the Markov Assumption • Markov Chain – a model of a Markov process
big .40 .15 dog barks .35 The little .35 .01 .35 .02 .60 .15 meows cat .98 Markov Processes • What is the smallest (non-zero) T ? • Construct a Markov Chain for process; e.g., text (step = word): .99 .65
B E B E A A today tomorrow J M J M Dynamic Bayes Nets • Can describe them in several ways: • A Markov chain with T=0, T=1 • A Bayes net with temporal CP's added • Duplicated Bayes net, with temporal links from first “time slice” t to second slice t+1: aftershocks cleaned out! annoyance
DBN: Details • Can have any number of time slices • Static probabilities need not be the same in all time slices, but typically are. • Evidence can be presented on any slice (prediction or “smoothing”)
DBN: Details • Viterbi algorithm: find most likely sequence of hidden states • For iterated processes (e.g., tracking), typically present evidence on first slice iteratively. • If evidence is missing, use marginals from second slice.
DBN: Inference • Recall node clustering (cliques) from Junction-Tree algorithm. • As size of DBN increases (multi-slice models, multiple parents), size of clusters can get prohibitively large. • Boyen-Koller algorithm addresses this issue:
Boyen-Koller Algorithm • Inference is approximate. • Each slice treated as a static BN. • Size of clusters in BN determines degree of approximation: • one big cluster → exact (full joint) • one node per cluster → most approximate • Set evidence in a node, then pass messages within/between time-slices.