weka.classifiers.bayes.net.search.global
Class SimulatedAnnealing

java.lang.Object
  extended by weka.classifiers.bayes.net.search.SearchAlgorithm
      extended by weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
          extended by weka.classifiers.bayes.net.search.global.SimulatedAnnealing
All Implemented Interfaces:
java.io.Serializable, OptionHandler, TechnicalInformationHandler

public class SimulatedAnnealing
extends GlobalScoreSearchAlgorithm
implements TechnicalInformationHandler

This Bayes Network learning algorithm uses the general purpose search method of simulated annealing to find a well scoring network structure.

For more information see:

R.R. Bouckaert (1995). Bayesian Belief Networks: from Construction to Inference. Utrecht, Netherlands.

BibTeX:

 @phdthesis{Bouckaert1995,
    address = {Utrecht, Netherlands},
    author = {R.R. Bouckaert},
    institution = {University of Utrecht},
    title = {Bayesian Belief Networks: from Construction to Inference},
    year = {1995}
 }
 

Valid options are:

 -A <float>
  Start temperature
 -U <integer>
  Number of runs
 -D <float>
  Delta temperature
 -R <seed>
  Random number seed
 -mbc
  Applies a Markov Blanket correction to the network structure, 
  after a network structure is learned. This ensures that all 
  nodes in the network are part of the Markov blanket of the 
  classifier node.
 -S [LOO-CV|k-Fold-CV|Cumulative-CV]
  Score type (LOO-CV,k-Fold-CV,Cumulative-CV)
 -Q
  Use probabilistic or 0/1 scoring.
  (default probabilistic scoring)

Version:
$Revision: 1.5 $
Author:
Remco Bouckaert (rrb@xm.co.nz)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
TAGS_CV_TYPE
 
Constructor Summary
SimulatedAnnealing()
           
 
Method Summary
 java.lang.String deltaTipText()
           
 double getDelta()
           
 java.lang.String[] getOptions()
          Gets the current settings of the search algorithm.
 int getRuns()
           
 int getSeed()
           
 TechnicalInformation getTechnicalInformation()
          Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
 double getTStart()
           
 java.lang.String globalInfo()
          This will return a string describing the classifier.
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options.
 java.lang.String runsTipText()
           
 void search(BayesNet bayesNet, Instances instances)
           
 java.lang.String seedTipText()
           
 void setDelta(double fDelta)
          Sets the m_fDelta.
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 void setRuns(int nRuns)
          Sets the m_nRuns.
 void setSeed(int nSeed)
          Sets the random number seed
 void setTStart(double fTStart)
          Sets the m_fTStart.
 java.lang.String TStartTipText()
           
 
Methods inherited from class weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
calcScore, calcScoreWithExtraParent, calcScoreWithMissingParent, calcScoreWithReversedParent, cumulativeCV, CVTypeTipText, getCVType, getMarkovBlanketClassifier, getUseProb, kFoldCV, leaveOneOutCV, markovBlanketClassifierTipText, setCVType, setMarkovBlanketClassifier, setUseProb, useProbTipText
 
Methods inherited from class weka.classifiers.bayes.net.search.SearchAlgorithm
buildStructure, initAsNaiveBayesTipText, maxNrOfParentsTipText, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SimulatedAnnealing

public SimulatedAnnealing()
Method Detail

getTechnicalInformation

public TechnicalInformation getTechnicalInformation()
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.

Specified by:
getTechnicalInformation in interface TechnicalInformationHandler
Returns:
the technical information about this class

search

public void search(BayesNet bayesNet,
                   Instances instances)
            throws java.lang.Exception
Parameters:
bayesNet - the bayes net to use
instances - the data to use
Throws:
java.lang.Exception - if something goes wrong

getDelta

public double getDelta()
Returns:
double

getTStart

public double getTStart()
Returns:
double

getRuns

public int getRuns()
Returns:
int

setDelta

public void setDelta(double fDelta)
Sets the m_fDelta.

Parameters:
fDelta - The m_fDelta to set

setTStart

public void setTStart(double fTStart)
Sets the m_fTStart.

Parameters:
fTStart - The m_fTStart to set

setRuns

public void setRuns(int nRuns)
Sets the m_nRuns.

Parameters:
nRuns - The m_nRuns to set

getSeed

public int getSeed()
Returns:
random number seed

setSeed

public void setSeed(int nSeed)
Sets the random number seed

Parameters:
nSeed - The number of the seed to set

listOptions

public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.

Specified by:
listOptions in interface OptionHandler
Overrides:
listOptions in class GlobalScoreSearchAlgorithm
Returns:
an enumeration of all the available options.

setOptions

public void setOptions(java.lang.String[] options)
                throws java.lang.Exception
Parses a given list of options.

Valid options are:

 -A <float>
  Start temperature
 -U <integer>
  Number of runs
 -D <float>
  Delta temperature
 -R <seed>
  Random number seed
 -mbc
  Applies a Markov Blanket correction to the network structure, 
  after a network structure is learned. This ensures that all 
  nodes in the network are part of the Markov blanket of the 
  classifier node.
 -S [LOO-CV|k-Fold-CV|Cumulative-CV]
  Score type (LOO-CV,k-Fold-CV,Cumulative-CV)
 -Q
  Use probabilistic or 0/1 scoring.
  (default probabilistic scoring)

Specified by:
setOptions in interface OptionHandler
Overrides:
setOptions in class GlobalScoreSearchAlgorithm
Parameters:
options - the list of options as an array of strings
Throws:
java.lang.Exception - if an option is not supported

getOptions

public java.lang.String[] getOptions()
Gets the current settings of the search algorithm.

Specified by:
getOptions in interface OptionHandler
Overrides:
getOptions in class GlobalScoreSearchAlgorithm
Returns:
an array of strings suitable for passing to setOptions

globalInfo

public java.lang.String globalInfo()
This will return a string describing the classifier.

Overrides:
globalInfo in class GlobalScoreSearchAlgorithm
Returns:
The string.

TStartTipText

public java.lang.String TStartTipText()
Returns:
a string to describe the TStart option.

runsTipText

public java.lang.String runsTipText()
Returns:
a string to describe the Runs option.

deltaTipText

public java.lang.String deltaTipText()
Returns:
a string to describe the Delta option.

seedTipText

public java.lang.String seedTipText()
Returns:
a string to describe the Seed option.