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
Markov Processes What is the smallest (non-zero) T ? Construct a Markov Chain for process; e.g., text (step = word): cat meows The big little dog barks
Dynamic Bayes Nets Can describe them in several ways: 1) A Markov chain with T=0, T=1 2) A Bayes net with temporal CP's added 3) Duplicated Bayes net, with temporal links from first “time slice” t to second slice t+1: aftershocks cleaned out! annoyance BE A JM today B E A JM tomorrow
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.