.. index:: Adaptation

.. _Adaptation:

Adaptation
==========

The adaptation algorithm (*sequential updating*) will update the conditional probability distribution of a Bayesian network in the light of inserted and propagated evidence (i.e., experience). The adaptation algorithm only applies to the discrete chance nodes. The algorithm is useful when the graphical structure and an initial specification of the conditional probability distributions are present but the modeled domain changes over time, the model is incomplete, or the model simply does not reflect the modeled domain properly.

In this section we give a quick overview of sequential updating of the conditional probability tables. It is assumed that the reader is familiar with the methodology of Bayesian networks and influence diagrams as well as usage of the HUGIN Graphical User Interface (the graphical user interface).  The basic concepts of Bayesian networks are described in :ref:`Introduction to Bayesian Networks<introduction_to_bayesian_networks>`. You can also learn more about influence diagrams in the same section. To get an introduction to the HUGIN Graphical User Interface refer to the tutorial :ref:`A Small Bayesian Network<HowToBuildABayesianNetwork>`.

Sequential updating, also known as *adaptation* or *sequential learning*, makes it possible to update and improve the conditional probability distribution for a domain as observations are made. Adaptation is especially useful if the model is incomplete, the modeled domain is drifting over time, or the model quite simple does not reflect the modeled domain properly. Note that the graphical structure and initial specifications of conditional probability distributions must be present prior to adaptation.

The *adaptation algorithm* implemented in HUGIN is developed by :ref:`Spiegelhalter & Lauritzen (1990)<references>`. See also the papers by :ref:`Cowel & Dawid (1992)<references>` and :ref:`Olesen et al. (1992)<references>` for a more detailed mathematical description of the algorithm.

Spiegelhalter and Lauritzen introduced the notion of experience. The experience is quantitative memory which can be based both on quantitative expert judgment and past cases. *Dissemination* of *experience* refers to the process of computing prior conditional distributions for the variables in the network. *Retrieval of experience* refers to the process of computing updated distributions for the parameters that determine the conditional distributions for the variables in the network.

In short, the adaptation algorithm will update the conditional probability distributions of a Bayesian network in light of inserted and propagated evidence (i.e., experience). *Note that adaptation can only be applied to discrete chance variables*.  

The experience for a given discrete chance node is represented as a set of experience counts Alpha\ :sub:`0`,...,Alpha\ :sub:`n-1`, where *n* is the number of configurations of the parents of the node and  Alpha\ :sub:`i` > 0 for all i; Alpha\ :sub:`i` corresponds to the number of times the parents have been observed to be in the ith configuration. However, note that the “counts” do not have to be integers – they can be arbitrary (positive) real number, thus the counts are only conceptual. The experience counts are stored in a table, known as the *experience table*. 

When an experience table is created, it is filled with zeros. Since zero is an invalid experience count, positive values must be stored in the tables before adaptation can take place.  The adaptation algorithm will only adapt conditional distributions corresponding to parent configurations having a positive experience count. All other configurations (including all configurations for nodes without experience tables) are ignored. This convention can be used to turn on/off adaptation at the level of individual parent configurations: setting an experience count to a positive number will turn on adaptation for the associated parent configuration; setting the experience count to zero or a negative number will turn it off. 

Experience tables can be deleted. Note that this will turn off adaptation for the node associated with the experience table and the initial conditional distribution will be equal to conditional distribution of the node at deletion time.    

The adaptation algorithm also provides an optional *fading* feature. This feature reduces the influence of past (and possibly outdated) experience in order to let the domain model adapt to changing environments. This is achieved by discounting the experience count Alpha\ :sub:`i` by a fading factor Delta\ :sub:`i`, which is a positive real number less than but typically close to 1. The true fading amount is made proportional to the probability of the parent configuration in question. 

To be precise: if the *i*\th parent given the propagated evidence is p\ :sub:`i`, then Alpha\ :sub:`i` is multiplied by (1-p\ :sub:`i`)+p\ :sub:`i` Delta\ :sub:`i` before adaptation takes place. Note that the experience counts corresponding to parent configurations that are inconsistent with the propagated evidence (i.e., configurations with p\ :sub:`i` = 0) remain unchanged. The fading for a given discrete chance node is stored in a fading table, where each value in the table corresponds to a parent configuration. The fading factor Delta\ :sub:`i` can be set to 1: this implies that cases are accumulated (that is, no fading takes place). Setting Delta\ :sub:`i` to a value greater than 1 or less than or equal to 0 will disable adaptation for the ith parent configuration (just as setting Alpha\ :sub:`i` to an invalid value will do).

To activate adaptation, the :ref:`Adaptation Button <Adaptation_button_tool>` may be used.

Adaptation is not supported for continuous nodes.