learn {deal}  R Documentation 
Updates the distributions of the parameters in the network, based on a prior network and data. Also, the network score is calculated.
learn (nw, df, prior=jointprior(nw), nodelist=1:size(nw), trylist=vector("list",size(nw)), timetrace=FALSE)
nw 
an object of class 
df 
a data frame used for learning the network, see

prior 
a list containing parameter priors, generated by

nodelist 
a numeric vector of indices of nodes to be learned. 
trylist 
a list used internally for reusing learning of nodes,
see 
timetrace 
a logical. If 
The procedure learn
determines the master prior, local parameter
priors and local parameter posteriors, see Bottcher (2001). It may be called on all nodes
(default) or just a single node.
From the joint prior distribution, the marginal distribution of
all parameters in the family consisting of the node and its parents
can be determined. This is the master prior, see
localmaster
.
The local parameter priors are now determined by conditioning in
the master prior distribution, see
conditional
. The hyperparameters associated with the
local parameter prior distribution is attached to each node in the
property condprior
.
Finally, the local parameter posterior distributions are calculated (see
post
) and attached to each node in the property
condposterior
.
A socalled trylist is maintained to speedup the learning process. The trylist consists of a list of matrices for each node. The matrix for a given node holds previously evaluated parent configurations and the corresponding loglikelihood contribution. If a node with a certain parent configuration needs to be learned, it is checked, whether the node has already been learned. The previously learned nodes are given as input in the trylist parameter and is updated in the learning procedure.
When one or more nodes in a network have been learned, the network
score is updated and attached to the network in the property
score
.
The learning procedure is called from various functions using the
principle, that networks should always be updated with their
score. Thus, e.g.\ drawnetwork
keeps the network updated
when the graph is altered.
A list with two elements that may be accessed using
getnetwork
and gettrylist
. The elements are
nw 
an object of class 
trylist 
an updated list used internally for reusing learning
of nodes, see 
Susanne Gammelgaard Bottcher,
Claus Dethlefsen rpackage.deal@gmail.com.
Bottcher, S.G. (2001). Learning Bayesian Networks with Mixed Variables, Artificial Intelligence and Statistics 2001, Morgan Kaufmann, San Francisco, CA, USA, 149156.
networkfamily
,
jointprior
,
maketrylist
,
network
data(rats) fit < network(rats) fit.prior < jointprior(fit,12) fit.learn < learn(fit,rats,fit.prior,timetrace=TRUE) fit.nw < getnetwork(fit.learn) fit.learn2< learn(fit,rats,fit.prior,trylist=gettrylist(fit.learn),timetrace=TRUE)