strengths field in noisyMax node

The engine.
Post Reply
f_allen
Posts: 4
Joined: Fri May 04, 2012 10:32 pm

strengths field in noisyMax node

Post by f_allen »

Hi,

I'm trying to build a network in .xdsl format that contains Noisy Or nodes. I'm confused by the strengths field in the NoisyMax node.

I've read the explanation in the reference manual (http://genie.sis.pitt.edu/wiki/Referenc ... L_noisyMAX) and it doesn't make sense to me. Can someone provide or point me to a clearer explanation (preferably with an example) of how this is used and why it is necessary? What is meant by the 'order of parents' outcomes'? If I am just or-ing things together, why does it matter what order they are in? What is the format of the strengths field? i.e. how many numbers should it contain?

Thanks!
jonnie
Posts: 41
Joined: Mon Feb 06, 2012 12:49 pm

Re: strengths field in noisyMax node

Post by jonnie »

The explanation text in the wiki certainly needs some polishing! The English is incredibly bad! :P
But I think the diagram explains quite well how to use them. There's also an explanation for GeNIe that might be more understandable: http://genie.sis.pitt.edu/GeNIeHelp/Ele ... oisyOR.htm

In essence, for a noisy-Or gate, you need to assign some "boolean semantics" to the states of nodes: one of the states is the "1" or "true" state and the other state is the "0" or "false" state. Noisy-Max is a generalization of noisy-Or where nodes can have more than 2 states, so in addition to states "0" and "1" there'll be "2", "3" etc. In general BN, however, states don't have any ordering between them. Of course in GeNIe/Smile they're ordered for reasons of implementation and visual presentation, but that order doesn't have any meaning to the inference algorithm. Only to use noisy gates, you have to assign a particular order to states.
An earlier implementation of the noisy gate in GeNIe/Smile simply used the existing ordering of the states. This had two problems: first, a user might want to get states displayed in a certain order (i.e. alphabetical) that doesn't reflect thier noisy-gate semantics. Second, a node can have several noisy-gate children, and they might need different semantics of their common parent's states. Therefore, the "outcome strength" vectors in a DSL_noisyMAX object define for each noisy gate the order of states that this child uses.
I'd also say that the term "outcome strengths" is somewhat misleading, it would better be called "outcome orders", as "strength" can be confused with the "causal strength", the probabilistic influence the parent's state has on the child's states, as defined by the parameters in the actual DSL_Dmatrix.
f_allen
Posts: 4
Joined: Fri May 04, 2012 10:32 pm

Re: strengths field in noisyMax node

Post by f_allen »

Thanks for your response :) Turns out I was getting confused by the way Genie files get imported into Samiam, which seems to combine chained noisy-or nodes together, thereby increasing the number of values in the strengths field of the child nodes. The upshot being that I was confused about how many values there were supposed to be and therefore what the meaning of the field was.
jonnie
Posts: 41
Joined: Mon Feb 06, 2012 12:49 pm

Re: strengths field in noisyMax node

Post by jonnie »

Combining chained noisy-OR nodes?? Well, I'm not the programmer of SamIam, but that seems like a weird thing to do. Will it also "chain" them again when it saves them?
I've made some research about the effect of parent divorcing on inference time (complexity, stability), and I have to say, combining nodes that are already divorced is in general a very counter-productive thing to do...
Post Reply