public final class ParameterLearning extends Object
learn(com.bayesserver.data.EvidenceReaderCommand, com.bayesserver.learning.parameters.ParameterLearningOptions) for sample code.| Constructor and Description | 
|---|
ParameterLearning(Network network,
                 InferenceFactory factory)
Initializes a new instance of the  
ParameterLearning class. | 
| Modifier and Type | Method and Description | 
|---|---|
Network | 
getNetwork()
Returns the relevant network. 
 | 
ParameterLearningOutput | 
learn(EvidenceReaderCommand readerCommand,
     List<DistributionSpecification> distributionSpecifications,
     ParameterLearningOptions options)
Learns the parameters of a Bayesian network or Dynamic Bayesian network, from data. 
 | 
ParameterLearningOutput | 
learn(EvidenceReaderCommand readerCommand,
     ParameterLearningOptions options)
Learns the parameters of a Bayesian network or Dynamic Bayesian network, from data. 
 | 
static ParameterLearningOutput | 
learnDistributed(Network network,
                List<DistributionSpecification> distributionSpecifications,
                ParameterLearningOptions options,
                Distributer<DistributerContext> distributer)
Learns the parameters of a Bayesian network or Dynamic Bayesian network from data, on a distributed platform. 
 | 
static ParameterLearningOutput | 
learnDistributed(Network network,
                ParameterLearningOptions options,
                Distributer<DistributerContext> distributer)
Learns the parameters of a Bayesian network or Dynamic Bayesian network from data, on a distributed platform. 
 | 
static void | 
learnDistributedMapper(EvidencePartition<DistributedMapperContext> partition,
                      NameValuesReader configuration,
                      NameValuesWriter output,
                      InferenceFactory factory)
This method should be called during distributed parameter learning on a distributed partition. 
 | 
static void | 
learnDistributedReducer(Iterable<NameValuesReader> inputs,
                       NameValuesReader configuration,
                       NameValuesWriter output)
Aggregates (reduces) the results obtained from the distributed calls to  
learnDistributedMapper(com.bayesserver.data.distributed.EvidencePartition<com.bayesserver.learning.parameters.DistributedMapperContext>, com.bayesserver.NameValuesReader, com.bayesserver.NameValuesWriter, com.bayesserver.inference.InferenceFactory). | 
public ParameterLearning(Network network, InferenceFactory factory)
ParameterLearning class.
 
  Learning uses inference as a subroutine, and creates one or more inference engines via the [factory] parameter.network - The network whose parameters are being learnt.factory - The inference factory used to create inference engines in cases when learning requires inference.public Network getNetwork()
public ParameterLearningOutput learn(EvidenceReaderCommand readerCommand, ParameterLearningOptions options)
readerCommand - Can create a reader containing the data to learn from.options - Learning options.public static void learnDistributedReducer(Iterable<NameValuesReader> inputs, NameValuesReader configuration, NameValuesWriter output)
learnDistributedMapper(com.bayesserver.data.distributed.EvidencePartition<com.bayesserver.learning.parameters.DistributedMapperContext>, com.bayesserver.NameValuesReader, com.bayesserver.NameValuesWriter, com.bayesserver.inference.InferenceFactory).inputs - The results from each distributed mapper.configuration - Configuration data that was distributed during the call to learnDistributed(com.bayesserver.Network, com.bayesserver.learning.parameters.ParameterLearningOptions, com.bayesserver.Distributer<com.bayesserver.learning.parameters.DistributerContext>).output - The aggregated results which will be used by the driver program which called learnDistributed(com.bayesserver.Network, com.bayesserver.learning.parameters.ParameterLearningOptions, com.bayesserver.Distributer<com.bayesserver.learning.parameters.DistributerContext>).public static void learnDistributedMapper(EvidencePartition<DistributedMapperContext> partition, NameValuesReader configuration, NameValuesWriter output, InferenceFactory factory)
partition - The distributed data to be learnt from.configuration - Configuration data that was distributed during the call to learnDistributed(com.bayesserver.Network, com.bayesserver.learning.parameters.ParameterLearningOptions, com.bayesserver.Distributer<com.bayesserver.learning.parameters.DistributerContext>).output - Stores the result of the distributed process.  These results will later be passed to an aggregator (reducer).factory - The inference factory used to create inference engines in cases when learning requires inference.public static ParameterLearningOutput learnDistributed(Network network, ParameterLearningOptions options, Distributer<DistributerContext> distributer)
network - The network whose parameters are being learnt.options - Learning options.distributer - The caller must implement this interface, which allows processing to be distributed.
 
 learnDistributedMapper(com.bayesserver.data.distributed.EvidencePartition<com.bayesserver.learning.parameters.DistributedMapperContext>, com.bayesserver.NameValuesReader, com.bayesserver.NameValuesWriter, com.bayesserver.inference.InferenceFactory) should be called in the map phase, andlearnDistributedReducer(java.lang.Iterable<com.bayesserver.NameValuesReader>, com.bayesserver.NameValuesReader, com.bayesserver.NameValuesWriter) should be called to reduce the results.public static ParameterLearningOutput learnDistributed(Network network, List<DistributionSpecification> distributionSpecifications, ParameterLearningOptions options, Distributer<DistributerContext> distributer)
com.bayesserver.learning.parameters.ParameterLearning#learn(IEvidenceReader, ParameterLearningOptions) for sample code.network - The network whose parameters are being learnt.distributionSpecifications - The distributions to learn and options.options - Learning options.distributer - The caller must implement this interface, which allows processing to be distributed.
 
 learnDistributedMapper(com.bayesserver.data.distributed.EvidencePartition<com.bayesserver.learning.parameters.DistributedMapperContext>, com.bayesserver.NameValuesReader, com.bayesserver.NameValuesWriter, com.bayesserver.inference.InferenceFactory) should be called in the map phase, andlearnDistributedReducer(java.lang.Iterable<com.bayesserver.NameValuesReader>, com.bayesserver.NameValuesReader, com.bayesserver.NameValuesWriter) should be called to reduce the results.public ParameterLearningOutput learn(EvidenceReaderCommand readerCommand, List<DistributionSpecification> distributionSpecifications, ParameterLearningOptions options)
Network are replaced during learning. If necessary, a copy of the original network can be made prior to learning, to keep the original values.readerCommand - Can create a reader containing the data to learn from.distributionSpecifications - The distributions to learn and options.options - Learning options.Copyright © 2021. All rights reserved.