Noisy nodes

Each node in a Bayesian network requires a distribution which is conditioned on its parents. For example, if a node C has 3 parents P1, P2 and P3, the distribution required for C is P(C|P1,P2,P3), which can be read 'the probability of C given P1, P2 and P3'.

When the nodes involved are discrete, the number of parameters required for the child node increases exponentially with the number of parents. For example, consider binary nodes (nodes with 2 states). A binary node with 10 binary parents would require a distribution with 1024 parameters.

NOTE

In the network below, a node has 100 parents, yet inference can still be performed efficiently using noisy nodes.

Noisy nodes

Without noisy nodes, when the number of parents increases it can be difficult to justify each of these parameters. If you were specifying the parameters manually by asking experts, they would need to be able to estimate the probability of the child given all the parents. For example if the child node is a symptom which has 3 parent diseases, the expert would need to be able to answer questions such as 'What is the chance of a patient experiencing a 'fever' given that they have a flu and they have an infection but do not have rheumatoid arthritis. As the number of parents (diseases) increases this becomes more and more difficult and unreliable. The same problem exists when learning the parameters from data. In order to justify each parameter in the model, there needs to be sufficient data 'coverage' for each combination. What's more, inference can become inefficient, perhaps prohibitively so.

There are a number of modeling techniques that can be used to avoid this unwanted explosion of parameters.

Features

Bayes Server supports:

Creating noisy nodes

A noisy node can be specified in Bayes Server when creating a node, by changing the Noisy type in the New node window. Alternatively the Noisy type of a node can be changed from the Properties pane.

Noisy states

The states of a noisy node in Bayes Server should be ordered as follows: { None, Low, ... , High }, for example:

Parameterization

Once a noisy node has been created, a number of distributions need to be specified for it. One for each parent and a leak distribution. The distribution for each parent defines the effect that parent has on the child, whilst the leak distribution allows you to model all other effects.

When parents are linked to a noisy node, the link between them has a Noisy order which determines the order in which parent states affect the child states.

Consider the following network:

Noisy parameterization

Noisy order - Ascending

The first state of Pa is the 'no influence' (designated) state for Noisy, as shown in the image below.

NOTE

The highlighted cells are constrained values, and hence cannot be changed.

Noisy order ascending

Noisy order - Descending

The last state of Pa is the 'no influence' (designated) state for Noisy, as shown in the image below.

NOTE

The highlighted cells are constrained values, and hence cannot be changed.

Noisy order descending

NOTE

The reason both Ascending and Descending are supported, rather than simply imposing an order, is that a parent Pa may be parent of multiple noisy nodes, and influence them in different orders.

The Noisy order can be changed by clicking on a link, and setting the order in the Properties pane.

Leak

An example of the leak distribution is shown below:

Leak distribution

NOTE

If there are no other factors to consider other than the existing parents of the noisy node, this distribution can be set to {1, 0, 0, ..., 0}.

Example

Consider the two Bayesian networks in the image below (see the NoisyOr network installed with Bayes Server, available from the Start page). The bottom network contains Noisy nodes whereas the top one does not. The top network has 27 parameters but requires all disease combinations to be defined for each symptom, whereas the noisy network has only 15 parameters which makes it less expressive but a more scalable architecture when the assumptions of causal independence are valid or 'good enough'.

Noisy nodes