Class SimulatedAnnealing

  • All Implemented Interfaces:
    java.io.Serializable, OptionHandler, RevisionHandler, TechnicalInformationHandler

    public class SimulatedAnnealing
    extends LocalScoreSearchAlgorithm
    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 [BAYES|MDL|ENTROPY|AIC|CROSS_CLASSIC|CROSS_BAYES]
      Score type (BAYES, BDeu, MDL, ENTROPY and AIC)
    Version:
    $Revision: 1.6 $
    Author:
    Remco Bouckaert (rrb@xm.co.nz)
    See Also:
    Serialized Form
    • 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 network
        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
      • 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 [BAYES|MDL|ENTROPY|AIC|CROSS_CLASSIC|CROSS_BAYES]
          Score type (BAYES, BDeu, MDL, ENTROPY and AIC)
        Specified by:
        setOptions in interface OptionHandler
        Overrides:
        setOptions in class LocalScoreSearchAlgorithm
        Parameters:
        options - the list of options as an array of strings
        Throws:
        java.lang.Exception - if an option is not supported
      • globalInfo

        public java.lang.String globalInfo()
        This will return a string describing the classifier.
        Overrides:
        globalInfo in class LocalScoreSearchAlgorithm
        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.