DBN, inference algorithms and unrolling

The front end.
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: DBN, inference algorithms and unrolling

Post by shooltz[BayesFusion] »

saifjamal wrote:just want to understand how the network will take into account the hypothesis node at the previous time slice during infering the hypothesis node at current time slice
Try using the "Unroll" command (from Network|Dynamic Models menu or from the popup menu displayed after right-clicking the temporal plate header). You'll see the structure of the unrolled network. If there's any evidence, it'll be placed in the correct segment of the unrolled network.
Martijn
Posts: 76
Joined: Sun May 29, 2011 12:23 am

Re: DBN, inference algorithms and unrolling

Post by Martijn »

is the first order temporal arc means that the relationship between two time slices modeled by first order hidden markov model. thats what made me confused
A Hidden Markov Model is a special case of a Dynamic Bayesian network.
It only has temporal arcs of order 1, meaning that nodes with temporal arcs only rely on the previous node.
just want to understand how the network will take into account the hypothesis node at the previous time slice during infering the hypothesis node at current time slice
A hidden node at timestep t is influenced by another hidden node at timestep t-1 in the same way as a hidden node influences its evidence nodes.
It's just a matter of conditional probabilities and proper belief updating.

In the end, as shooltz has mentioned, Dynamic Bayesian network are a special case of Bayesian networks. By unrolling the DBN you will get a BN that represents the exact same model.
Any valid BN algorithm will give you correct results

Martijn
saifjamal
Posts: 20
Joined: Fri Mar 22, 2013 6:41 pm

Re: DBN, inference algorithms and unrolling

Post by saifjamal »

Hi
thanks alot for your help

i have unrolled the network and i have understand that at time 0 the hypothesis node will affect by contextual and variavle information only while in time slice 1 it will affect by the contextual and observable variable as well as the hypothesis node at the previous time slice. that's why the belief of the nodes changed depending on the number of time slices, where in the backward pass of polytree algorithm at time t will update the belief of the hypothesis node in the previous time slice. which is the cause they call it special case of HMM.

Am i correct?

regards
saifjamal
Posts: 20
Joined: Fri Mar 22, 2013 6:41 pm

Re: DBN, inference algorithms and unrolling

Post by saifjamal »

and in this case my DBN is cosidered as a pair of (B,B1):

where B is the static bayesian network that defines P(Z1)
and B1 is a two slices TBN that defines P(Zt|Zt-1)

Is that correct?

thank you for your support.

Regards
Martijn
Posts: 76
Joined: Sun May 29, 2011 12:23 am

Re: DBN, inference algorithms and unrolling

Post by Martijn »

...where in the backward pass of polytree algorithm at time t will update the belief of the hypothesis node in the previous time slice. which is the cause they call it special case of HMM.
You have to understand that you have to drop the references to HMM and it's algorithm. It's irrelevant. We unroll the network and then treat it as a normal BN.
Most algorithm are two stage in a way though, and pass messages first in one direction and then in the other to update the beliefs.
and in this case my DBN is cosidered as a pair of (B,B1):

where B is the static bayesian network that defines P(Z1)
and B1 is a two slices TBN that defines P(Zt|Zt-1)

Is that correct?
No, after unrolling there is just one static network which has nodes that have a temporal meaning.
I think you are confused with another algorithm, which was described in Kevin Murphy's thesis, which is called the Interface Algorithm (A quick google should get you his thesis)
saifjamal
Posts: 20
Joined: Fri Mar 22, 2013 6:41 pm

Re: DBN, inference algorithms and unrolling

Post by saifjamal »

yes i have read this thesis. so you mean in the case i have mentioned (murphy), the network will work in the way i described but in your case is totally different?
Martijn
Posts: 76
Joined: Sun May 29, 2011 12:23 am

Re: DBN, inference algorithms and unrolling

Post by Martijn »

The inference results will be the same.

The difference is in the amount of necessary space needed for doing the inference.
We unroll the network, which means we need space for the whole network.

Murphy's algorithm just needs space for both time slices (the junction trees for the two slices, to be exact)
In this case more bookkeeping is necessary to transfer the information between the slices.

Martijn
saifjamal
Posts: 20
Joined: Fri Mar 22, 2013 6:41 pm

Re: DBN, inference algorithms and unrolling

Post by saifjamal »

the most important thing that the results is the same. i will keep my work as it is instead remove that " we consider our DBN as a pair of (B,B1) from the discription and say we unroll the network and perform the polytree algorithm.
saifjamal
Posts: 20
Joined: Fri Mar 22, 2013 6:41 pm

Re: DBN, inference algorithms and unrolling

Post by saifjamal »

Thank you for all help, i have understood now the differences between the algorithms and can justify my work correctly.

Regards
saifjamal
Posts: 20
Joined: Fri Mar 22, 2013 6:41 pm

Re: DBN, inference algorithms and unrolling

Post by saifjamal »

hi
can i have any documentation on how the polytree working with the rolled up network?

Regards
saifjamal
Posts: 20
Joined: Fri Mar 22, 2013 6:41 pm

Re: DBN, inference algorithms and unrolling

Post by saifjamal »

Hi
Sorry for asking too much but really reading around made me confused.

I just found the master thesis "Modelling Physiological processes with DBN" by J. Hulst, I have read it and understood that in GeNIe, the DBN is defined as follows:

P(Zt|Zt-1....Zt-k)= *i=1-n P(Zit|Pa(Zit)). this in page 54, and the initial B1 of murphy is defined implicitly by unrolling the network. then any inference algorithm for static bayesian network will work for exact inference and that's the way how it is different from murphy def.

Am i understood it in the right way?

Regards
Martijn
Posts: 76
Joined: Sun May 29, 2011 12:23 am

Re: DBN, inference algorithms and unrolling

Post by Martijn »

saifjamal wrote:can i have any documentation on how the polytree working with the rolled up network?
No inference is ever performed on a rolled up DBN.

We always unroll first

Martijn
Martijn
Posts: 76
Joined: Sun May 29, 2011 12:23 am

Re: DBN, inference algorithms and unrolling

Post by Martijn »

saifjamal wrote:P(Zt|Zt-1....Zt-k)= *i=1-n P(Zit|Pa(Zit))
Murphy's algorithm works with DBNs that adhere to the first order Markov assumption, in GeNIe we allow for higher order networks, meaning that we allow temporal arcs to go further than just the next timestep.
That's what this equation means.
and the initial B1 of murphy is defined implicitly by unrolling the network.
This doesn't make any sense.
then any inference algorithm for static bayesian network will work
The reason that these algorithms work is that DBNs are BNs, there is no difference between the two, it just depends on how we interpret them.

Best,

Martijn
saifjamal
Posts: 20
Joined: Fri Mar 22, 2013 6:41 pm

Re: DBN, inference algorithms and unrolling

Post by saifjamal »

Thanks Martijn

regarding my question "does the B1 of murphy defined implicitly when unrolling the network". I mean murphy has defined the DBN as a pair of (B,B'), where B represent the initial network (static bayesian network at time t=1). while B' is a two time slice temporal bayesin network. I have read in GeNIe, when unrolling the network for inference the network will be static bayesian network and it has no temporal meaning. The initial network will be defined implicitly or when can define different initial using the anchor nodes. Is that correct how i understood it?

Regards
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: DBN, inference algorithms and unrolling

Post by shooltz[BayesFusion] »

saifjamal wrote:when can define different initial using the anchor nodes.
You can use anchor nodes (they will be parents of the temporal plate nodes in the 0th slice in the unrolled network). You can also specify different CPTs for initial time steps for the plate nodes - while in the 'Definition' page of the node, select the time step from the dropdown list on the right side of the toolbar.
Post Reply