Config:ModelBuilder

From SUMOwiki
(Redirected from Config:AdaptiveModelBuilder)
Jump to: navigation, search

The adaptive model builder component defines which model type (e.g. polynomial model, ANN, SVMs, etc...) is used to model your data as well as the algorithm used to optimize its hyperparameters (e.g. the order of a polynomial function, the number of hidden nodes of an ANN, the kernel parameters of an SVM, etc...).

This page lists all pre-defined <AdaptiveModelBuilder> configuration sections included in the default.xml. These configuration sections should be declared after the <Plan>...</Plan> section in your config.xml if you are using a custom configuration XML file.

In the default.xml each configuration section is also given an id, which can be referred to in the <Plan> section. These id's are not included in the configuration sections listed here. For example in the default.xml file, the following adaptive model builder configuration section can be referred to using <AdaptiveModelBuilder>rational</AdaptiveModelBuilder> in the <Plan> section.

<AdaptiveModelBuilder id="rational" type="SequentialModelBuilder" combineOutputs="true">
    ...
</AdaptiveModelBuilder>

Each configuration section consists of two parts. The first part is the <ModelFactory> tag, which defines all the settings and parameters for a particular model type as well as their boundaries if those parameters need to be optimized.

The second part, the <AdaptiveModelBuilder> itself defines settings specific to the optimization algorithm. You can find out more about the available modeling algorithms and how to add your own here.

By combining these two elements you can create your own <AdaptiveModelBuiler>. If you want to add your own model type, please refer to this page. To learn more about the optimization algorithms used or to add your own search algorithm, consult this page.


Generated for SUMO toolbox version 7.0. We are well aware that documentation is not always complete and possibly even out of date in some cases. We try to document everything as best we can but much is limited by available time and manpower. We are are a university research group after all. The most up to date documentation can always be found (if not here) in the default.xml configuration file and, of course, in the source files. If something is unclear please don't hesitate to ask.


Contents

Rational and polynomial models

rational

Build rational models using a custom stochastic hillclimber to select the model parameters

<AdaptiveModelBuilder type="SequentialModelBuilder" combineOutputs="true">
   <!-- Maximum number of models built before selecting new samples -->   
   <Option key="maximumRunLength" value="30"/>
   <!-- Degeneration of score if a model gets older -->
   <Option key="decay" value=".99"/>
   <!-- Size of the best model history -->
   <Option key="historySize" value="15"/>
   <!-- One of best, last. When set to best the best `historySize' models are kept,
    - - when set to last, the last `historySize' models are kept -->
   <Option key="strategy" value="best"/>
   <!-- <Option key="strategy" value="window"/>
 -->
 
   <ModelFactory type="RationalFactory">
      <!-- Bounds for the weights of the rational modeller -->
      <Option key="weightBounds" value="1,40"/>
      <!-- Bounds for the percentage of degrees of freedom wrt number of samples -->
      <Option key="percentBounds" value="1,100"/>
      <!-- Regardless of the percentage bounds, never use more than this many degrees of freedom -->
      <Option key="maxDegrees" value="80"/>
      <!-- When randomizing rational flags, what percentage should be set -->
      <Option key="percentRational" value="70"/>
      <!-- If a variable is named "f" of "frequency" it will be modelled differently, if this is set to auto,
       - - If this field is set to a variable name, that variable will be considered to be the frequency -->
      <Option key="frequencyVariable" value="auto"/>
      <!-- Base function for interpolation, one of chebyshev, power, legendre -->
      <Option key="basis" value="power"/>
   </ModelFactory>
</AdaptiveModelBuilder>

rationalgenetic

Build rational models using a genetic algorithm

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!--See that matlab gads toolbox documentation for more information on the options-->
   <Option key="restartStrategy" value="continue"/>
   <Option key="populationType" value="custom"/>
   <Option key="populationSize" value="30"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="maxGenerations" value="20"/>
   <Option key="eliteCount" value="1"/>
   <Option key="stallGenLimit" value="5"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
   <ModelFactory type="RationalFactory">
      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/>
      <Option key="creationFcn" value="createInitialPopulation"/>
      <!-- Use the next three functions instead of the previous three if you set the
            population type to doubleVector -->
      <!--<Option key="creationFcn" value="@gacreationuniform"/>

      <Option key="crossoverFcn" value="@crossoverheuristic"/>
      <Option key="mutationFcn" value="@mutationadaptfeasible"/>-->
 
          <!-- Bounds for the weights of the rational modeller -->
      <Option key="weightBounds" value="1,40"/>
      <!-- Bounds for the percentage of degrees of freedom wrt number of samples -->
      <Option key="percentBounds" value="1,100"/>
      <!-- Regardless of the percentage bounds, never use more than this many degrees of freedom -->
      <Option key="maxDegrees" value="80"/>
      <!-- When randomizing rational flags, what percentage should be set -->
      <Option key="percentRational" value="70"/>
      <!-- If a variable is named "f" of "frequency" 
         it will be modelled differently, if this is set to auto -->
      <!-- If this field is set to a variable name, that variable will be considered to be the frequency -->
      <Option key="frequencyVariable" value="auto"/>
      <!-- Base function for interpolation, one of chebyshev, power, legendre -->
      <Option key="basis" value="power"/>
   </ModelFactory>
</AdaptiveModelBuilder>

rationalpso

Generate Rational models using PSO

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="PSOtOptimizer">
      <Option key="typePSO" value="0"/>
      <Option key="seedPSO" value="1"/>
      <Option key="popSize" value="10"/>
      <Option key="maxiters" value="10"/>
      <Option key="epochInertia" value="8"/>
      <Option key="gradientTermination" value="8"/>
   </Optimizer>
 
   <ModelFactory type="RationalFactory">
      <!-- Bounds for the weights of the rational modeller -->
      <Option key="weightBounds" value="1,40"/>
      <!-- Bounds for the percentage of degrees of freedom wrt number of samples -->
      <Option key="percentBounds" value="1,100"/>
      <!-- Regardless of the percentage bounds, never use more than this many degrees of freedom -->
      <Option key="maxDegrees" value="80"/>
      <!-- When randomizing rational flags, what percentage should be set -->
      <Option key="percentRational" value="70"/>
      <!-- If a variable is named "f" of "frequency" 
         it will be modelled differently, if this is set to auto -->
      <!-- If this field is set to a variable name, that variable will be considered to be the frequency -->
      <Option key="frequencyVariable" value="auto"/>
      <!-- Base function for interpolation, one of chebyshev, power, legendre -->
      <Option key="basis" value="power"/>
   </ModelFactory>
</AdaptiveModelBuilder>

polynomialfixed

Build polynomial models with a fixed order

<AdaptiveModelBuilder type="AdaptiveModelBuilder" combineOutputs="false">
 
   <ModelFactory type="PolynomialFactory">
      <!-- Specifies the structure of the polynomial -->
      <!-- Expects matlab matrix: Element (i,j) is the exponent of variable i for term j.  -->
      <Option key="degrees" value="[0 0;1 0;0 1;1 1;2 0;0 2;2 2]"/> <!-- Equals to 1+x+y+xy+xx+yy+xxyy -->
      <!-- Base function for interpolation, one of chebyshev, power, legendre -->
      <Option key="basis" value="power"/>
   </ModelFactory>
</AdaptiveModelBuilder>

Gaussian processes

rbf

Build Radial Basis Function models

<AdaptiveModelBuilder type="SequentialModelBuilder" combineOutputs="false">
   <!-- Maximum number of models built before selecting new samples -->   
   <Option key="maximumRunLength" value="20"/>
   <!-- Degeneration of score if a model gets older -->
   <Option key="decay" value=".9"/>
   <!-- Size of the best model history -->
   <Option key="historySize" value="15"/>
   <!-- One of best, last. When set to best the best `historySize' models are kept,
   - - when set to last, the last `historySize' models are kept -->
   <Option key="strategy" value="best"/>
 
   <!-- <Option key="strategy" value="window"/>
 -->
 
   <ModelFactory type="BFFactory">
      <Option key="type" value="RBF"/>
 
      <BasisFunction name="gaussian" min=".1" max="5" scale="ln"/>
      <BasisFunction name="multiquadric" min=".1" max="5" scale="ln"/>
      <!--<BasisFunction name="biharmonic"   min=".1"    max="5"    scale="ln"/>
 -->
      <BasisFunction name="exponential" min=".1,.5" max="5,2" scale="ln,lin"/>
 
      <Option key="regression" value="-1,0,1,2"/>
      <Option key="backend" value="AP"/>
   </ModelFactory>
</AdaptiveModelBuilder>

rbfgenetic

Build Radial Basis Function models using a genetic algorithm

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <Option key="restartStrategy" value="continue"/>
   <!--See that matlab gads toolbox documentation for more information on the options-->
   <Option key="populationType" value="custom"/>
   <Option key="populationSize" value="15"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="eliteCount" value="1"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
   <ModelFactory type="BFFactory">
      <Option key="type" value="RBF"/>
 
      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/>
      <Option key="creationFcn" value="createInitialPopulation"/>
 
      <!-- Bounds for the shape parameter -->
      <BasisFunction name="gaussian" min=".1" max="5" scale="ln"/>
      <BasisFunction name="multiquadric" min=".1" max="5" scale="ln"/>
      <!-- <BasisFunction name="biharmonic"   min=".1"    max="5"    scale="ln"/>
 -->
      <BasisFunction name="exponential" min=".1,.5" max="5,2" scale="ln,lin"/>
 
      <Option key="regression" value="-1,0,1,2"/>
      <!-- Basisfunction, one of 'multiquadric', 'triharmonic', 'biharmonic' -->
      <!-- Specify which implementation to use, currently, 'Direct', 'AP', 'Greedy' and
      'FastRBF' are supported.
 
      'Direct' solves the direct problem by inverting the interpolation
      matrix
      'AP' uses an alternating projections method when the system gets
      too large. This is *MUCH* slower than 'Direct', and doesn't
      guarantee convergence, use with caution
      'Greedy' uses a one point greedy algorithm for selecting the 
      interpolation centers. Same remark applies as with 'AP'
      'FastRBF' interfaces the FastRBF library. When using FastRBF, 
      make sure your copy of the software is installed under 
      the src/matlab/contrib directory and that the software 
      is licensed properly.
      The FastRBF matlab toolbox can be found at
      http://www.farfieldtechnology.com
      -->
      <Option key="backend" value="AP"/>
   </ModelFactory>
</AdaptiveModelBuilder>

dace

Build DACE models (equivalent to Kriging but a custom implementation)

<AdaptiveModelBuilder type="SequentialModelBuilder" combineOutputs="false">
   <!-- Maximum number of models built before selecting new samples -->   
   <Option key="maximumRunLength" value="20"/>
   <!-- Degeneration of score if a model gets older -->
   <Option key="decay" value=".9"/>
   <!-- Size of the best model history -->
   <Option key="historySize" value="15"/>
   <!-- One of best, last. When set to best the best `historySize' models are kept,
        - - when set to last, the last `historySize' models are kept -->
   <Option key="strategy" value="best"/>
 
   <!-- <Option key="strategy" value="window"/>
 -->
 
   <ModelFactory type="BFFactory">
      <Option key="type" value="DACE"/>
 
      <BasisFunction name="gaussian" min=".1" max="5" scale="ln"/>
      <BasisFunction name="multiquadric" min=".1" max="5" scale="ln"/>
      <!--<BasisFunction name="biharmonic"   min=".1"    max="5"    scale="ln"/>
 -->
      <BasisFunction name="exponential" min=".1,.5" max="5,2" scale="ln,lin"/>
 
      <Option key="regression" value="-1,0,1,2"/>
      <Option key="backend" value="AP"/>
   </ModelFactory>
</AdaptiveModelBuilder>

dacegenetic

Build DACE models using a genetic algorithm

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!--See that matlab gads toolbox documentation for more information on the options-->
   <Option key="populationType" value="custom"/>
   <Option key="populationSize" value="15"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="eliteCount" value="1"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
   <ModelFactory type="BFFactory">
      <Option key="type" value="DACE"/>
 
      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/>
      <Option key="creationFcn" value="createInitialPopulation"/>
 
      <!-- Bounds for the shape parameter -->
      <BasisFunction name="gaussian" min=".1" max="5" scale="ln"/>
      <BasisFunction name="multiquadric" min=".1" max="5" scale="ln"/>
      <!-- <BasisFunction name="biharmonic"   min=".1"    max="5"    scale="ln"/>
 -->
      <BasisFunction name="exponential" min=".1,.5" max="5,2" scale="ln,lin"/>
 
      <Option key="regression" value="-1,0,1,2"/>
      <Option key="backend" value="AP"/>
   </ModelFactory>
</AdaptiveModelBuilder>

daceps

Build DACE using pattern search

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabPatternSearch">
      <Option key="maxIterations" value="500"/>
      <Option key="maxFunEvals" value="100"/>
      <Option key="searchMethod" value="GPSPositiveBasis2N"/>
      <Option key="pollMethod" value="MADSPositiveBasis2N"/>         
   </Optimizer>
 
 
   <ModelFactory type="BFFactory">
      <Option key="type" value="DACE"/>
 
      <!--Option key="multipleBasisFunctionsAllowed" value="false"/-->
 
      <BasisFunction name="gaussian" min=".1" max="5" scale="ln"/>
 
      <Option key="regression" value="-1,0,1,2"/>
      <Option key="backend" value="AP"/>
   </ModelFactory>
</AdaptiveModelBuilder>

dacepso

Build DACE models using PSO

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="PSOtOptimizer">
      <Option key="typePSO" value="0"/>
      <Option key="seedPSO" value="1"/>
      <Option key="popSize" value="10"/>
      <Option key="maxiters" value="10"/>
      <Option key="epochInertia" value="8"/>
      <Option key="gradientTermination" value="8"/>
   </Optimizer>
 
   <ModelFactory type="BFFactory">
      <Option key="type" value="DACE"/>
 
      <!--Option key="multipleBasisFunctionsAllowed" value="false"/-->
 
      <BasisFunction name="gaussian" min=".1" max="5" scale="ln"/>
 
      <Option key="regression" value="-1,0,1,2"/>
      <Option key="backend" value="AP"/>
   </ModelFactory>
</AdaptiveModelBuilder>

gpps

Build GP using pattern search

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabPatternSearch">
      <Option key="maxIterations" value="500"/>
      <Option key="maxFunEvals" value="100"/>
      <Option key="searchMethod" value="GPSPositiveBasis2N"/>
      <Option key="pollMethod" value="MADSPositiveBasis2N"/>         
   </Optimizer>
 
   <ModelFactory type="GaussianProcessFactory">
      <Option key="covFunction" value="covSEiso"/>      
 
      <Option key="lowerThetaBound" value="-5"/>
      <Option key="upperThetaBound" value="3"/>
   </ModelFactory>
</AdaptiveModelBuilder>

gpgenetic

Build Gaussian Process models using a GA

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!--See that matlab gads toolbox documentation for more information on the options-->
   <Option key="populationType" value="doubleVector"/>
   <Option key="populationSize" value="15"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="eliteCount" value="1"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
   <ModelFactory type="GaussianProcessFactory">
            <Option key="creationFcn" value="@gacreationuniform"/>
      <Option key="crossoverFcn" value="@crossoverheuristic"/>
      <Option key="mutationFcn" value="@mutationadaptfeasible"/>
            <!--
      <Option key="crossoverFcn" value="crossover"/>

      <Option key="mutationFcn" value="mutation"/>
      <Option key="creationFcn" value="createInitialPopulation"/>
            -->
 
      <Option key="covFunction" value="covSEiso"/>
      <Option key="lowerThetaBound" value="-5"/>
      <Option key="upperThetaBound" value="3"/>
   </ModelFactory>
</AdaptiveModelBuilder>

krigingsim

Build kriging models using Simulated Annealing

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabSimAnnealing">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
   </Optimizer>
 
   <!-- See the documentaion for possible regression and correlation functions -->
   <ModelFactory type="KrigingFactory">
      <Option key="regressionMetric" value=""/>
      <Option key="regressionFunction" value="regpoly1"/>
      <Option key="multipleBasisFunctionsAllowed" value="false"/>
      <BasisFunction>corrgauss</BasisFunction>
   </ModelFactory>
 
</AdaptiveModelBuilder>

krigingps

Build kriging models using pattern search

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabPatternSearch">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
      <Option key="searchMethod" value="GPSPositiveBasis2N"/>
      <Option key="pollMethod" value="MADSPositiveBasis2N"/>         
   </Optimizer>
 
   <ModelFactory type="KrigingFactory">
      <Option key="regressionMetric" value=""/>
      <Option key="regressionFunction" value="regpoly1"/>
      <Option key="multipleBasisFunctionsAllowed" value="true"/>
      <BasisFunction>corrgauss</BasisFunction>
      <BasisFunction>correxp</BasisFunction>
   </ModelFactory>
</AdaptiveModelBuilder>

krigingoptim

Build kriging models using the matlab optimization toolbox

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabOptimizer">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
   </Optimizer>
 
   <!-- See the documentaion for possible regression and correlation functions -->
   <ModelFactory type="KrigingFactory">
            <Option key="regressionMetric" value=""/>
      <Option key="regressionFunction" value="regpoly1"/>
      <Option key="multipleBasisFunctionsAllowed" value="false"/>
      <BasisFunction>corrgauss</BasisFunction>
   </ModelFactory>
</AdaptiveModelBuilder>

kriginggenetic

Build kriging models using a genetic algorithm

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- If you specify "custom" as the population type you will be evolving models
   and will use the genetic operators defined in the KrigingFactory class -->
   <Option key="populationType" value="doubleVector"/>
   <Option key="populationSize" value="10"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="eliteCount" value="1"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
        <!-- See the documentaion for possible regression and correlation functions -->
   <ModelFactory type="KrigingFactory">
      <Option key="creationFcn" value="@gacreationuniform"/>
      <Option key="crossoverFcn" value="@crossoverheuristic"/>
      <Option key="mutationFcn" value="@mutationadaptfeasible"/>
<!--          <Option key="creationFcn" value="createInitialPopulation"/>

      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/>          -->
            <!-- See the documentaion for possible regression and correlation functions -->                                                                                                                                                                                                                                                                        <Option key="regressionMetric" value=""/>
      <Option key="regressionFunction" value="regpoly1"/>
      <Option key="multipleBasisFunctionsAllowed" value="false"/>
      <BasisFunction>corrgauss</BasisFunction>
   </ModelFactory>
</AdaptiveModelBuilder>

krigingpso

Build kriging models using PSO

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="PSOtOptimizer">
      <Option key="typePSO" value="0"/>
      <Option key="seedPSO" value="1"/>
      <Option key="popSize" value="10"/>
      <Option key="maxiters" value="10"/>
      <Option key="epochInertia" value="8"/>
      <Option key="gradientTermination" value="8"/>
   </Optimizer>
 
   <!-- See the documentaion for possible regression and correlation functions -->
   <ModelFactory type="KrigingFactory">
            <Option key="regressionMetric" value=""/>
      <Option key="regressionFunction" value="regpoly1"/>
      <Option key="multipleBasisFunctionsAllowed" value="false"/>
      <BasisFunction>corrgauss</BasisFunction>
   </ModelFactory>
</AdaptiveModelBuilder>

krigingnsga

Build kriging models using NSGA-II, requires a multi-output or multi-measure setup

<AdaptiveModelBuilder type="ParetoModelBuilder" combineOutputs="true">
   <Option key="restartStrategy" value="model"/>
   <Option key="populationSize" value="30"/>
   <Option key="maxGenerations" value="30"/>
   <Option key="plotParetoFront" value="false"/>
   <Option key="paretoMode" value="true"/>
 
   <!-- See the documentaion for possible regression and correlation functions -->
   <ModelFactory type="KrigingFactory">
            <Option key="regressionMetric" value=""/>
      <Option key="regressionFunction" value="regpoly1"/>
      <Option key="multipleBasisFunctionsAllowed" value="false"/>
      <BasisFunction>corrgauss</BasisFunction>
   </ModelFactory>
</AdaptiveModelBuilder>

krigingrandom

Build kriging models randomly, useful as a baseline comparison

<AdaptiveModelBuilder type="RandomModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!-- Build 100 random models before restarting -->
   <Option key="runSize" value="100"/>
 
   <!-- See the documentaion for possible regression and correlation functions -->
   <ModelFactory type="KrigingFactory">
            <Option key="regressionMetric" value=""/>
      <Option key="regressionFunction" value="regpoly1"/>
      <Option key="multipleBasisFunctionsAllowed" value="false"/>
      <BasisFunction>corrgauss</BasisFunction>
   </ModelFactory>
</AdaptiveModelBuilder>

blindkriging

Build blind kriging models

<AdaptiveModelBuilder type="AdaptiveModelBuilder" combineOutputs="false">
   <Option key="nBestModels" value="1"/>
 
   <!-- See the documentation for possible regression and correlation functions -->
   <ModelFactory type="KrigingFactory">
            <Option key="regressionMetric" value="cvpe"/>
      <Option key="regressionFunction" value="regpoly0"/>
      <Option key="multipleBasisFunctionsAllowed" value="false"/>
 
      <Option key="initialHp" value="0.5"/>
      <BasisFunction>corrgauss</BasisFunction>
 
      <Optimizer>fminconWithDerivatives</Optimizer>
   </ModelFactory>
 
</AdaptiveModelBuilder>

kriging

Build kriging models using the maximum likelihood to set the thetas

<AdaptiveModelBuilder type="AdaptiveModelBuilder" combineOutputs="false">
   <Option key="nBestModels" value="1"/>
 
   <!-- See the documentation for possible regression and correlation functions -->
   <ModelFactory type="KrigingFactory">
            <Option key="regressionMetric" value=""/>
      <Option key="regressionFunction" value="regpoly0"/>
      <Option key="multipleBasisFunctionsAllowed" value="false"/>
 
      <Option key="initialHp" value="0.5"/>
      <BasisFunction>corrgauss</BasisFunction>
 
      <Optimizer>fminconWithDerivatives</Optimizer>
   </ModelFactory>
 
</AdaptiveModelBuilder>

Splines

splinesgenetic

Build spline models using a GA

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <Option key="populationType" value="doubleVector"/>
   <Option key="populationSize" value="10"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="eliteCount" value="1"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
   <ModelFactory type="SplineFactory">
      <Option key="creationFcn" value="@gacreationuniform"/>
      <Option key="crossoverFcn" value="@crossoverheuristic"/>
      <Option key="mutationFcn" value="@mutationadaptfeasible"/>
      <!-- <Option key="creationFcn" value="createInitialPopulation"/>

      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/> -->
 
      <Option key="smoothingBounds" value="0,1"/>   
   </ModelFactory>
</AdaptiveModelBuilder>

splinessim

Build spline models using the Simulated Annealing modelbuilder

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabSimAnnealing">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
   </Optimizer>
 
   <ModelFactory type="SplineFactory">
      <Option key="smoothingBounds" value="0,1"/>      
   </ModelFactory>
</AdaptiveModelBuilder>

splinesps

Build spline models using the Pattern Search modelbuilder

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabPatternSearch">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
      <Option key="searchMethod" value="GPSPositiveBasis2N"/>
      <Option key="pollMethod" value="MADSPositiveBasis2N"/>         
   </Optimizer>
 
   <ModelFactory type="SplineFactory">
      <Option key="smoothingBounds" value="0,1"/>            
   </ModelFactory>
</AdaptiveModelBuilder>

splinesoptim

Use the Matlab optimization toolbox to build spline models

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabOptimizer">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
   </Optimizer>
 
   <ModelFactory type="SplineFactory">
      <Option key="smoothingBounds" value="0,1"/>      
   </ModelFactory>
 
</AdaptiveModelBuilder>

Interpolation model

ipol

Simple linear/cubic/nearest neighbour interpolation models for scattered data. For one D uses interp1, for nD uses griddata(n)

<AdaptiveModelBuilder type="AdaptiveModelBuilder" combineOutputs="false">
        <ModelFactory type="InterpolationFactory">
      <!--  depending on the input dimension options are: linear, nearest, and cubic
      if you are using Matlab r2009 or later you can also use 'natural' -->
      <Option key="method" value="linear"/>   
        </ModelFactory>
    </AdaptiveModelBuilder>

Artificial neural networks

ann

Use a custom evolutionary-like strategy to generate ANN models, this is much faster than the GA approach but not necessarily better

<AdaptiveModelBuilder type="SequentialModelBuilder" combineOutputs="false">
   <Option key="maximumRunLength" value="15"/>
   <!-- Degeneration of score if a model gets older -->
   <Option key="decay" value=".99"/>
   <!-- Size of the best model history -->
   <Option key="historySize" value="6"/>
   <!-- One of best, last. When set to best the best `historySize' models are kept,
    - - when set to last, the last `historySize' models are kept -->
   <Option key="strategy" value="best"/>
 
   <ModelFactory type="ANNFactory">
      <!--initial hidden layer dimension-->
      <Option key="initialSize" value="3,3"/>
      <!--comma separated list of allowed learning rules-->
      <Option key="allowedLearningRules" value="trainbr"/>
      <!--performance function to use, empty means use the matlab default-->
      <Option key="performFcn" value=""/>
      <!--how many epochs to train for-->
      <Option key="epochs" value="300"/>
      <!--max time to train for-->
      <Option key="trainingTime" value="Inf"/>
      <!--range of initial random weights-->
      <Option key="initWeightRange" value="-0.8,0.8"/>
      <!--mutation changes x neurons at a time (in a random layer) with x in [lb ub]-->
      <Option key="hiddenUnitDelta" value="-2,3"/>
      <!--train until the error reaches this goal-->
      <Option key="trainingGoal" value="0"/>
      <!--show training progress every x epochs, set to NaN to disable-->
      <Option key="trainingProgress" value="NaN"/>
      <!--How to train the network, one of 'auto' or 'earlyStopping'
         auto: train with early stopping unless regularization is employed
         Set to any other value for simply training on all the data, doing nothing special -->
      <Option key="trainMethod" value="auto"/>
      <!--the training set - validation set - testset ratios-->
      <Option key="earlyStoppingRatios" value="0.80,0.20,0"/>
      <!-- Transfer function to use for all hidden layers and the output layer
      So should be a list of max 2 items -->
      <Option key="transferFunctionTemplate" value="tansig,purelin"/>
   </ModelFactory>
</AdaptiveModelBuilder>

anngenetic

Use the matlab gads toolbox to select ANN parameters using a GA

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="continue"/>
   <!--See that matlab gads toolbox documentation for more information on the options-->
   <Option key="populationType" value="custom"/>
   <Option key="populationSize" value="10"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="eliteCount" value="1"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
   <ModelFactory type="ANNFactory">
      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/>
      <Option key="creationFcn" value="createInitialPopulation"/>
 
      <!--initial hidden layer dimension-->
      <Option key="initialSize" value="3,3"/>
      <!--comma separated list of allowed learning rules-->
      <Option key="allowedLearningRules" value="trainbr"/>
      <!--performance function to use, empty means use the matlab default-->
      <Option key="performFcn" value=""/>
      <!--how many epochs to train for-->
      <Option key="epochs" value="300"/>
      <!--max time to train for-->
      <Option key="trainingTime" value="Inf"/>
      <!--range of initial random weights-->
      <Option key="initWeightRange" value="-0.8,0.8"/>
      <!--mutation changes x neurons at a time (in a random layer) with x in [lb ub]-->
      <Option key="hiddenUnitDelta" value="-2,3"/>
      <!--train until the error reaches this goal-->
      <Option key="trainingGoal" value="0"/>
      <!--show training progress every x epochs, set to NaN to disable-->
      <Option key="trainingProgress" value="NaN"/>
      <!--How to train the network, one of 'auto' or 'earlyStopping'
         auto: train with early stopping unless regularization is employed
         Set to any other value for simply training on all the data, doing nothing special -->
      <Option key="trainMethod" value="auto"/>
      <!--the training set - validation set - testset ratios-->
      <Option key="earlyStoppingRatios" value="0.80,0.20,0"/>
      <!-- Transfer function to use for all hidden layers and the output layer
      So should be a list of max 2 items -->
      <Option key="transferFunctionTemplate" value="tansig,purelin"/>
   </ModelFactory>
</AdaptiveModelBuilder>

annfixed

Fixed ANN model builder, allows you to choose the hidden layer structure manually Thus there is no optimization algorithm involved.

<AdaptiveModelBuilder type="AdaptiveModelBuilder" combineOutputs="false">
   <ModelFactory type="ANNFactory">
      <Option key="allowedLearningRules" value="trainbr"/>
      <Option key="initialSize" value="3,3"/>
   </ModelFactory>
</AdaptiveModelBuilder>

annrandom

Random ANN model builder, usefull as a baseline comparison

<AdaptiveModelBuilder type="RandomModelBuilder" combineOutputs="false">
   <!--This many iterations before allowing new samples-->
   <Option key="runSize" value="10"/>
   <ModelFactory type="ANNFactory">
      <Option key="allowedLearningRules" value="trainbr,trainlm,trainscg"/>
   </ModelFactory>
</AdaptiveModelBuilder>

fanngenetic

Use the matlab gads toolbox to select ANN parameters using a GA (based on the FANN library)

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="continue"/>
   <!--See that matlab gads toolbox documentation for more information on the options-->     
   <Option key="populationType" value="custom"/>     
   <Option key="populationSize" value="10"/>     
   <Option key="crossoverFraction" value="0.7"/>     
   <Option key="maxGenerations" value="10"/>     
   <Option key="eliteCount" value="1"/>     
   <Option key="stallGenLimit" value="4"/>     
   <Option key="stallTimeLimit" value="Inf"/>     
 
   <ModelFactory type="FANNFactory">     
      <Option key="crossoverFcn" value="crossover"/>     
      <Option key="mutationFcn" value="mutation"/>     
      <Option key="creationFcn" value="createInitialPopulation"/>     
 
      <!--initial hidden layer dimension-->     
      <Option key="initialSize" value="4,4"/>     
      <!--how many epochs to train for-->     
      <Option key="epochs" value="1500"/>     
      <!--range of initial random weights-->     
      <Option key="initWeightRange" value="-0.8,0.8"/>     
      <!--mutation changes x neurons at a time (in a random layer) with x in [lb ub]-->     
      <Option key="hiddenUnitDelta" value="-2,2"/>     
      <!--train until the error reaches this goal-->     
      <Option key="trainingGoal" value="0"/>     
   </ModelFactory>     
</AdaptiveModelBuilder>

nanngenetic

Use the matlab gads toolbox to select ANN parameters using a GA (based on the NNSYSID library)

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="continue"/>
   <!--See that matlab gads toolbox documentation for more information on the options-->     
   <Option key="populationType" value="custom"/>     
   <Option key="populationSize" value="10"/>     
   <Option key="crossoverFraction" value="0.7"/>     
   <Option key="maxGenerations" value="10"/>     
   <Option key="eliteCount" value="1"/>     
   <Option key="stallGenLimit" value="4"/>     
   <Option key="stallTimeLimit" value="Inf"/>     
 
   <ModelFactory type="NANNFactory">     
      <Option key="crossoverFcn" value="crossover"/>     
      <Option key="mutationFcn" value="mutation"/>     
      <Option key="creationFcn" value="createInitialPopulation"/>     
 
      <!--initial hidden layer dimension-->     
      <Option key="initialSize" value="10"/>     
      <!--how many epochs to train for-->     
      <Option key="epochs" value="500"/>     
      <!--range of initial random weights-->     
      <Option key="initWeightRange" value="-0.8,0.8"/>     
      <!--mutation changes x neurons at a time (in a random layer) with x in [lb ub]-->     
      <Option key="hiddenUnitDelta" value="-2,3"/>     
      <!-- pruning techniques used : 0: none, 1: Mag Threshold, 2: Iterative Mag, 3: OBD, 4: OBS -->     
      <Option key="allowedPruneTechniques" value="0,1,2,3,4"/>
      <!-- threshold for magnitude based pruning -->     
      <Option key="threshold" value="0.2"/>     
      <!-- retrain epochs while pruning-->     
      <Option key="retrain" value="50"/>     
   </ModelFactory>     
</AdaptiveModelBuilder>

rbfnngenetic

Genetic model builder for Radial Basis Function Neural networks

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <Option key="populationType" value="doubleVector"/>
   <Option key="populationSize" value="10"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="eliteCount" value="1"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
   <ModelFactory type="RBFNNFactory">
      <Option key="creationFcn" value="@gacreationuniform"/>
      <Option key="crossoverFcn" value="@crossoverheuristic"/>
      <Option key="mutationFcn" value="@mutationadaptfeasible"/>
    <!--      <Option key="creationFcn" value="createInitialPopulation"/>

      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/> -->
 
      <!--Error goal when constructing the network-->
      <Option key="goal" value="0"/>
      <!--Initial value for the spread -->
      <Option key="spread" value="1"/>
      <!--Spread bounds -->
      <Option key="spreadBounds" value="0.0001,30"/>
      <!--Maximum number of neurons to use per network-->
      <Option key="maxNeurons" value="500"/>
      <Option key="trainingProgress" value="Inf"/>
   </ModelFactory>
</AdaptiveModelBuilder>

rbfnnps

Build Radial Basis Function Neural networks using Pattern Search

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabPatternSearch">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
      <Option key="searchMethod" value="GPSPositiveBasis2N"/>
      <Option key="pollMethod" value="MADSPositiveBasis2N"/>         
   </Optimizer>
 
   <ModelFactory type="RBFNNFactory">
      <!--Error goal when constructing the network-->
      <Option key="goal" value="0"/>
      <!--Initial value for the spread -->
      <Option key="spread" value="1"/>
      <!--Spread bounds -->
      <Option key="spreadBounds" value="0.0001,30"/>
      <!--Maximum number of neurons to use per network-->
      <Option key="maxNeurons" value="500"/>
      <Option key="trainingProgress" value="Inf"/>
   </ModelFactory>
</AdaptiveModelBuilder>

rbfnnsim

Build Radial Basis Function Neural networks using Simulated Annealing

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
 
   <Optimizer type="MatlabSimAnnealing">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
   </Optimizer>
 
   <ModelFactory type="RBFNNFactory">
      <!--Error goal when constructing the network-->
      <Option key="goal" value="0"/>
      <!--Initial value for the spread -->
      <Option key="spread" value="1"/>
      <!--Spread bounds -->
      <Option key="spreadBounds" value="0.0001,30"/>
      <!--Maximum number of neurons to use per network-->
      <Option key="maxNeurons" value="500"/>
      <Option key="trainingProgress" value="Inf"/>
   </ModelFactory>
</AdaptiveModelBuilder>

Support vector machines

lssvmgenetic

Use the matlab gads toolbox to select LSSVM parameters using a GA (based on LSSVM-lab)

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <Option key="populationType" value="doubleVector"/>
   <Option key="populationSize" value="10"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="eliteCount" value="1"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
   <ModelFactory type="SVMFactory">
      <Option key="creationFcn" value="@gacreationuniform"/>
      <Option key="crossoverFcn" value="@crossoverheuristic"/>
      <Option key="mutationFcn" value="@mutationadaptfeasible"/>
      <!-- <Option key="creationFcn" value="createInitialPopulation"/>

      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/> -->
 
      <Option key="backend" value="lssvm"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
   </ModelFactory>
</AdaptiveModelBuilder>

lssvmps

Use the matlab gads toolbox to select LSSVM parameters using Pattern Search

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
 
   <!--See that matlab gads toolbox documentation for more information on the options-->      
   <Optimizer type="MatlabPatternSearch">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
      <Option key="searchMethod" value="GPSPositiveBasis2N"/>
      <Option key="pollMethod" value="MADSPositiveBasis2N"/>         
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="lssvm"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
   </ModelFactory>
</AdaptiveModelBuilder>

lssvmoptim

Use the matlab optimization toolbox to select LSSVM parameters

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!--See the interface matlab file and the optimization toolbox documentation for more information on the options-->
   <Optimizer type="MatlabOptimizer">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="lssvm"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
   </ModelFactory>
</AdaptiveModelBuilder>

lssvmpso

Use the PSO toolbox to select LSSVM parameters using Particle Swarm Optimization

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
 
   <Optimizer type="PSOtOptimizer">
      <Option key="typePSO" value="0"/>
      <Option key="seedPSO" value="1"/>
      <Option key="popSize" value="10"/>
      <Option key="maxiters" value="10"/>
      <Option key="epochInertia" value="8"/>
      <Option key="gradientTermination" value="8"/>
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="lssvm"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
   </ModelFactory>
</AdaptiveModelBuilder>

lssvmsim

Use the matlab gads toolbox to select LSSVM parameters using simulated annealing

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!--See the interface matlab file and the gads toolbox documentation for more information on the options-->
   <Optimizer type="MatlabSimAnnealing">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="lssvm"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
   </ModelFactory>
</AdaptiveModelBuilder>

lssvmdirect

Use the DIviding RECtangles algorithm to optimize the LS-SVM hyperparameters

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
 
   <Optimizer type="DirectOptimizer">
      <Option key="maxits" value="100"/>
      <Option key="maxevals" value="20"/>
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="lssvm"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
   </ModelFactory>
</AdaptiveModelBuilder>

lssvmego

Generate LS-SVM models using Efficient Global Optimization (EGO). This means internally a kriging model is constructed to predict where one can expect to find good model parameters

<AdaptiveModelBuilder type="EGOModelBuilder" combineOutputs="false">
   <Option key="numIterations" value="10"/>
   <Option key="initPopSize" value="5"/>
   <Option key="restartStrategy" value="continue"/>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="lssvm"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-4,4"/>
      <Option key="regParamBounds" value="-5,5"/>
   </ModelFactory>
 
   <!-- Optimizer for the internal kriging model -->
   <Optimizer>fminconWithDerivatives</Optimizer>
 
   <!-- Sampleselector to use -->
   <SampleSelector>expectedImprovement</SampleSelector>
</AdaptiveModelBuilder>

lssvmrandom

Generate random LSSVM models, useful as a baseline comparison

<AdaptiveModelBuilder type="RandomModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
 
   <Option key="runSize" value="20"/>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="lssvm"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
   </ModelFactory>
</AdaptiveModelBuilder>

svmgenetic

Use the matlab gads toolbox to select SVM parameters using a GA (based on libsvm)

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!--See the interface matlab file and the gads toolbox documentation for more information on the options-->
   <Option key="populationType" value="doubleVector"/>
   <Option key="populationSize" value="10"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="eliteCount" value="1"/>
   <Option key="crossoverFraction" value="0.7"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
 
   <ModelFactory type="SVMFactory">
      <Option key="creationFcn" value="@gacreationuniform"/>
      <Option key="crossoverFcn" value="@crossoverheuristic"/>
      <Option key="mutationFcn" value="@mutationadaptfeasible"/>
      <!-- <Option key="creationFcn" value="createInitialPopulation"/>

      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/>-->
 
      <Option key="backend" value="libSVM"/>
      <Option key="type" value="epsilon-SVR"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-4,4"/>
      <Option key="regParamBounds" value="-5,5"/>
      <Option key="nu" value="0.01"/>
      <Option key="epsilon" value="0"/>
      <Option key="stoppingTolerance" value="1e-6"/>
   </ModelFactory>
</AdaptiveModelBuilder>

svmps

Use the matlab gads toolbox to select SVM parameters using Pattern Search

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
 
   <!--See the interface matlab file and the gads toolbox documentation for more information on the options-->
   <Optimizer type="MatlabPatternSearch">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
      <Option key="searchMethod" value="GPSPositiveBasis2N"/>
      <Option key="pollMethod" value="MADSPositiveBasis2N"/>         
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="libSVM"/>
      <Option key="type" value="epsilon-SVR"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
      <Option key="nu" value="0.01"/>
      <Option key="epsilon" value="0"/>
      <Option key="stoppingTolerance" value="1e-6"/>
   </ModelFactory>
</AdaptiveModelBuilder>

svmsim

Use the matlab gads toolbox to select SVM parameters using simulated annealing

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!--See the interface matlab file and the gads toolbox documentation for more information on the options-->      
   <Optimizer type="MatlabSimAnnealing">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="libSVM"/>
      <Option key="type" value="epsilon-SVR"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
      <Option key="nu" value="0.01"/>
      <Option key="epsilon" value="0"/>
      <Option key="stoppingTolerance" value="1e-6"/>
   </ModelFactory>
</AdaptiveModelBuilder>

svmoptim

Use the matlab optimization toolbox to select SVM parameters

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
   <!--See the interface matlab file and the optimization toolbox documentation for more
      information on the options-->
   <Optimizer type="MatlabOptimizer">
      <Option key="maxIterations" value="100"/>
      <Option key="maxFunEvals" value="20"/>
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="libSVM"/>
      <Option key="type" value="epsilon-SVR"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
      <Option key="nu" value="0.01"/>
      <Option key="epsilon" value="0"/>
      <Option key="stoppingTolerance" value="1e-6"/>
   </ModelFactory>
</AdaptiveModelBuilder>

svmpso

Use the PSO toolbox to select SVM parameters using Particle Swarm Optimization

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
 
   <Optimizer type="PSOtOptimizer">
      <Option key="typePSO" value="0"/>
      <Option key="seedPSO" value="1"/>
      <Option key="popSize" value="10"/>
      <Option key="maxiters" value="10"/>
      <Option key="epochInertia" value="8"/>
      <Option key="gradientTermination" value="8"/>
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="libSVM"/>
      <Option key="type" value="epsilon-SVR"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
      <Option key="nu" value="0.01"/>
      <Option key="epsilon" value="0"/>
      <Option key="stoppingTolerance" value="1e-6"/>
   </ModelFactory>
</AdaptiveModelBuilder>

svmdirect

Use the DIviding RECtangles algorithm to optimize the SVM hyperparameters

<AdaptiveModelBuilder type="OptimizerModelBuilder" combineOutputs="false">
   <!-- Re-start strategy for resuming the optimization process between sampling iterations.
        One of 'random','continue','model' and 'intelligent' (Default).  See the docs for more information -->
   <Option key="restartStrategy" value="intelligent"/>
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
 
   <Optimizer type="DirectOptimizer">
      <Option key="maxits" value="100"/>
      <Option key="maxevals" value="20"/>
   </Optimizer>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="libSVM"/>
      <Option key="type" value="epsilon-SVR"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
      <Option key="nu" value="0.01"/>
      <Option key="epsilon" value="0"/>
      <Option key="stoppingTolerance" value="1e-6"/>
   </ModelFactory>
</AdaptiveModelBuilder>

svmrandom

Generate random SVMs, useful as a baseline comparison

<AdaptiveModelBuilder type="RandomModelBuilder" combineOutputs="false">
   <!-- Plot the optimization surface, visualizes the search through the parameter space (2D only) -->
   <Option key="plotOptimSurface" value="false"/>
 
   <Option key="runSize" value="20"/>
 
   <ModelFactory type="SVMFactory">
      <Option key="backend" value="libSVM"/>
      <Option key="type" value="epsilon-SVR"/>
      <Option key="kernel" value="rbf"/>
      <Option key="kernelParamBounds" value="-2,2"/>
      <Option key="regParamBounds" value="-5,5"/>
      <Option key="nu" value="0.01"/>
      <Option key="epsilon" value="0"/>
      <Option key="stoppingTolerance" value="1e-6"/>
   </ModelFactory>
</AdaptiveModelBuilder>


Ensemble and heterogenetic models

heterogenetic

A heterogeneous genetic model builder. Uses a genetic algorithm with speciation (island model) to evolve different model types together. The models types compete against each other until the best model prevails. So this model builder is a way to automatically select the best model type.

<AdaptiveModelBuilder type="GeneticModelBuilder" combineOutputs="false">
   <Option key="restartStrategy" value="continue"/>
   <Option key="populationType" value="custom"/>
   <!-- the population size must match the number of model interfaces minus 1 -->
   <Option key="populationSize" value="10,10,10"/>
   <Option key="maxGenerations" value="10"/>
   <Option key="crossoverFraction" value="0.7"/> 
   <Option key="eliteCount" value="1"/>
   <Option key="stallGenLimit" value="4"/>
   <Option key="stallTimeLimit" value="Inf"/>
   <Option key="migrationDirection" value="forward"/>
   <Option key="migrationFraction" value="0.1"/>
   <Option key="migrationInterval" value="4"/>
   <!-- Do we want to prevent any model type going completely extinct -->
   <Option key="extinctionPrevention" value="yes"/>   
 
   <ModelFactory type="HeterogeneousFactory">
      <Option key="creationFcn" value="createInitialPopulation"/>
      <Option key="crossoverFcn" value="crossover"/>
      <Option key="mutationFcn" value="mutation"/>
 
      <ModelFactory type="EnsembleFactory">
         <Option key="crossoverFcn" value="crossover"/>
         <Option key="mutationFcn" value="mutation"/>
         <!-- the maximum ensemble size -->
         <Option key="maxSize" value="4"/>
         <!-- Ensemble members should differ this much percent -->
         <Option key="equalityThreshold" value="0.05"/>
      </ModelFactory>
 
      <ModelFactory type="SVMFactory">
         <Option key="creationFcn" value="createInitialPopulation"/>
         <Option key="crossoverFcn" value="crossover"/>
         <Option key="mutationFcn" value="mutation"/>
 
         <Option key="backend" value="lssvm"/>
         <Option key="kernel" value="rbf"/>
         <Option key="kernelParamBounds" value="-2,2"/>
         <Option key="regParamBounds" value="-5,5"/>
      </ModelFactory>
 
      <ModelFactory type="RationalFactory">
         <Option key="crossoverFcn" value="crossover"/>
         <Option key="mutationFcn" value="mutation"/>
         <Option key="creationFcn" value="createInitialPopulation"/>
         <Option key="weightBounds" value="1,40"/>
         <Option key="percentBounds" value="1,100"/>
         <Option key="percentRational" value="70"/>
         <Option key="frequencyVariable" value="off"/>
         <Option key="basis" value="power"/>
      </ModelFactory>
 
      <ModelFactory type="BFFactory">
         <Option key="type" value="RBF"/>
 
         <Option key="crossoverFcn" value="crossover"/>
         <Option key="mutationFcn" value="mutation"/>
         <Option key="creationFcn" value="createInitialPopulation"/>
 
         <BasisFunction name="gaussian" min=".1" max="5" scale="ln"/>
         <BasisFunction name="multiquadric" min=".1" max="5" scale="ln"/>
         <BasisFunction name="exponential" min=".1,.5" max="5,2" scale="ln,lin"/>
 
         <Option key="regression" value="-1,0,1,2"/>
         <Option key="backend" value="Direct"/>
      </ModelFactory>         
   </ModelFactory>
</AdaptiveModelBuilder>
Personal tools