The present disclosure relates to Bayesian belief networks.
A Bayesian belief network includes nodes that are connected by directed edges or links. Each node represents a particular random variable having a certain number of states or values. Each link is directed from a parent node to a child node and shows the causal influence of the parent node on the child node. In particular, the link from a parent node to a child node represents a causal relationship between an event that occurred earlier, as indicated by the state of the parent node, and an event that occurred later, as indicated by the state of the child node.
Every child node in a belief network has an associated conditional probability distribution that describes the causal influence of its parents. The conditional probability distribution of a child node specifies one probability distribution for each combination of values of the parents of the child node. When all the nodes of a belief network are discrete, a conditional probability table (CPT) can represent the conditional probability distribution of each node. In a CPT, each row specifies the probability distribution of the child node, given a combination of states of the parent nodes. In addition to information stored in CPTs, which is based on prior knowledge, information regarding present or future events may be stored in the belief network in the form of evidence.
Using CPTs, and possibly evidence, beliefs can be computed for the nodes of the belief network. Beliefs represent conclusions that can be drawn about the present, using information about the past stored in the CPTs, and using information about the present stored in evidence, if any. A belief for a node X represents a conditional probability distribution of the node X, given all available evidence for that node.
To compute beliefs using a belief network, users of the belief network typically enter the CPT values for each node, based on the number of states of that node and on the number of parents that the node has. Such a process can become unwieldy, because the number of CPT values that must be specified for a node increases exponentially with the number of states and parents of the node.
There is a need for methods and systems that allow users of a belief network to generate CPTs more efficiently.
An apparatus is described for creating a CPT using a simplified, more intuitive, and smaller set of parameters. The belief network has a child node Y and one or more parent nodes Xi (i=1, . . . , n) for the child node Y. The apparatus includes a processing system configured to receive as input one or more parameters of a causal influence model that describes the influence of the parent nodes Xi on the possible states of the child node Y. The processing system is further configured to convert the parameters of the causal influence model into entries of a conditional probability table, using a creation function. The conditional probability table provides a probability distribution for all the possible states of the child node Y, for each combination of possible states of the parent nodes Xi.
Methods and systems are described that allow users of a belief network to compute beliefs without having to input all the CPT entries, whose number increases exponentially with the number of parents of the node. In this way, the speed of creating a belief network can be increased. A user interface is described that can provide visual and graphical presentation of a priori relationships among the nodes of the belief network, in near real time.
In general, a child node Y in a belief network has n parents X1, X2, . . . ,Xn, which may be denoted as X=(X1, X2, . . . ,Xn) using a vectorial notation. The child Y has m states y1,y2, . . . ,ym. Each one of the parents Xl has mi states
The CPT of a child node Y can be represented mathematically as P(Y|X), and is made up of individual probabilities P(yk|xl). Here, yk denotes the k-th state of child Y, and xl denotes the l-th configuration of the n parents X. The notation xij˜xl indicates that the parent Xi takes on a state xij in xl. P(yk|xl) denotes the probability that the child Y be in the state yk given that Y's parents are in the configuration xl. The probability P(yk|xl) must be between 0 and 1: P(yk|xl)ε[0,1]. The sum over all possible m states of the probabilities P(yk|xl) must be 1:
A summary of the variables and indices used to describe the CPT of the child node Y is provided below:
Y is the child node whose CPT is being generate;
yk is the k-th state of Y;
Xi is the i-th parent of Y;
xij is the j-th state of parent Xi;
n is the number of parents of Y;
m is the number of states of Y;
mi is the number of states of Xi;|
r is the number of rows in the child Y's CPT;
plk is the CPT entry in row I for child state k;
i is the parent index, 1<i<n;
j is the parent state index, 1<j<mi;
k is the child state index, 1<k<m;
l is the CPT row index, 1<l<r.
The CPT contains a total of
individual probabilities P(yk|xl). In other words, the number of entries of the CPT increases exponentially with the number of parents. Generating a CPT thus requires a large number of parameters that may be time consuming for a human user to specify and for the processing system to handle.
In the present disclosure, methods and systems are provided that allow a user to specify a smaller number of intuitive parameters and then convert these parameters into a full CPT for desired child nodes.
The storage system 220 is a data storage medium, including but not limited to electromagnetic and optical data storage mediums, which stores data structures that include the belief network 110. As described in conjunction with
The baseline probabilities bk (k=1, . . . m) may thus be represented as a vector of size 1×m. In other words, the number of baseline probabilities is m, independent of the number of parents of the child node Y.
The causal influences hijk describe the change in the probability that child Y is in state yk, when the i-th parent Xi is in the state xij. The causal influences hijk are greater than or equal to −1, and less than or equal to 1, since the most a causal influence hijk can change a probability is to change a probability of 1 to 0, or change a probability of 0 to 1. In other words, hijkε[−1,1].
When hijk>0, an increase occurs in the probability of yk, because of the influence of the parents Xi. When hijk<0, a decrease occurs in the probability of yk, because of the influence of the parents Xi. When hijk=0, no change occurs in the probability of yk. The larger the magnitude of hijk, the larger the increase/decrease in the probability of yk. Also, the sum of the causal influences hijk over all possible states m of the child node Y is zero:
The causal influences hijk may be represented by n matrices of size mi×m, one for each parent Xi. The total number of causal influences is linear in the number of parents, and is given by
causal influences.
In the present disclosure, the CPT creation function 214 uses an overall parent influence function Vlk, which describes an overall influence of all the parents on the probability of the child node Y being in a state yk, when the parents are in a configuration xl. The overall parent influence function Vlk is a function of the causal influences hijk:
V
lk
=f(h1jk,h2jk, . . . ,hnjk)x
The overall parent influence function Vlk is between −1 and 1, Vlkε(−1,1). The sum of Vlk over all possible states k=1, . . . , m of the child Y is zero:
One simple example of the overall parent influence function Vlk is given by a mean of all causal influences:
An abstract form of a CPT creation function may be described conceptually as follows:
The above means that for a state yk, if Vlk is positive then the baseline bk is increased by some function of Vlk, whereas if Vlk is negative then the baseline bk is decreased by some function of Vlk.
In one embodiment of the present disclosure, an actual CPT creation function may be given as follows:
In the equation above, b+ denotes the maximum amount that the baseline probabilities can be increased, and is given by the following equation:
b− denotes the maximum amount that the baseline probabilities can be decreased, and is given by the following equation:
sk denotes a scale factor, and is given by the following equation:
The scale factor sk is used to keep each individual probability P(yk|xl)ε[0,1].
The scale factor s is a scale factor to keep all the probabilities P(yk|xl) less than or equal to one and greater than or equal to zero, and is given by:
Using the scale factor s ensures that all probabilities satisfy the following equation:
P(yk|xl)ε[0,1] 1≦k≦m (12)
Using the actual CPT creation function provided in equation (7) above, the following is guaranteed:
An exemplary algorithm for the CPT creation function is provided below. As a preliminary matter, the indices l and k for the rows of the CPT creation function and for each child state k satisfy the following relationships:
1≦l≦r, for each row l in the CPT creation function; and
1≦k≦m, for each child state k.
With the above constraints, the overall parent function Vlk is calculated using equation (3). The baseline probabilities b+ and b− is be calculated, using equations (8) and (9). The scale factor s is calculated using equation (11).
The CPT entry for each row l and child state k can then be calculated, using equation (7).
as expected. Also as seen from the CPT table, the sum over all child states k of the causal influences hijk is zero
for each row of the CPT.
Using equation (8), b+ is given as follows:
b+=1−(0.5)=0.5.
Using equation (9), b− is given as follows:
b
−=0.3+0.2=0.5
The scale factor s is calculated using equation (11), after first calculating sk from equation (10), where k=1, 2, and 3:
s1=1
s
2
=b
2
/|b−V
12|=0.2/|0.5−0.05|=12
s
3
=b
2
/|b−V
13|=0.2/|0.5−0.05|=8
s=min (1,12,8)=1
Finally, the CPT entries p11, p12, and p13 can be calculated using equation (7), as follows:
P(y1|x1)=p11=b1+sb+V11=0.5+1·0.5·0.1=0.55
As seen above, the baseline is increased for p11 from 0.5 to 0.55, because V11≧0.
P(y2|x1)=p12=b2+sb−V12=0.3+1·0.5·−0.05=0.275
As seen above, the baseline is decreased for p12 from 0.3 to 0.275, because V12≦0.
P(y3|x1)=p13=b3+sb−V13=0.2+1·0.5·−0.05=0.175
As seen above, the baseline is decreased for p13 from 0.2 to 0.175, because V13≦0.
Similar calculations are carried out for rows l=2, 3, 4, 5, and 6 to calculate the CPT entries show in
The CIM parameters may be input to the processing system using a number of methods. In one embodiment, the human user may specify the parameters. In another embodiment, the computer may learn the parameters from data. Once the CIM parameters have been input, the processing system 210 uses the CP creation function 214 (an example of which is provided by equation (7) above) to convert the inputted CIM parameters into a full CPT 250.
The CPT 250 can then be used to compute probabilities of interest (such as beliefs), using a belief network inference algorithm.
In the illustrated embodiment, each node contains two states, true and false. Users indicate the strength of a relationship between nodes by adjusting a value on the link between them. This value is used as a parameter to the CIM algorithm to fill in the CPT for the child node.
Bayesian belief networks typically require end-users to enter an exponential number of CPT values for each node based on the number of states and parents that node has. The interface shown in
The user interface 700 illustrated in
By allowing user operations as described above, the user interface 700 provides in substantial real time visual/graphical presentations of a priori relationships (inhibiting/promoting) among the nodes in the network.
In sum, methods and systems have been described for reducing the complexity of creating conditional probability tables for Bayesian belief networks. These methods and systems require fewer parameters than previously required for a full CPT, namely the number of parameters increase linearly with the number of parents, instead of exponentially. Also, the CIM parameters described in this disclosure are more intuitive, compared to a full CPT and other canonical models. More intuitive CPTs can therefore be generated. Visual/graphical presentation of a priori relationships among the nodes can be provided in near real time. The need for entry of CPT values by a user can be eliminated, since the user only needs to input CIM parameters. In this way, the complexity in creating a Bayesian belief network can be greatly decreased. Finally, the methods and systems described above allows users with little knowledge of belief networks to construct belief networks relatively easily and efficiently.
While certain embodiments have been described of a system and method for computing probabilities of variables in a belief network, it is to be understood that the concepts implicit in these embodiments may be used in other embodiments as well. For example, although an illustrative embodiment has been discussed for a belief network that includes one child node having three states, and two parent nodes having three states and two states respectively, it is to be understood that the methods and systems described above are applicable to belief networks having any number of child nodes and parent nodes, and any number of states for each of the child nodes and parent nodes. The protection of this application is limited solely to the claims that now follow.
In these claims, reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” All structural and functional equivalents to the elements of the various embodiments described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference, and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public, regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited in the phrase “step for.”