de.jstacs.classifier.scoringFunctionBased
Class OptimizableFunction

java.lang.Object
  extended by de.jstacs.algorithms.optimization.DifferentiableFunction
      extended by de.jstacs.classifier.scoringFunctionBased.OptimizableFunction
All Implemented Interfaces:
Function
Direct Known Subclasses:
AbstractOptimizableFunction

public abstract class OptimizableFunction
extends DifferentiableFunction

This is the main function for the ScoreClassifier.

Author:
Jens Keilwagen
See Also:
Optimizer

Nested Class Summary
static class OptimizableFunction.KindOfParameter
          This enum defines the kinds of parameters that can be returned by the method getParameters(KindOfParameter).
 
Constructor Summary
OptimizableFunction()
           
 
Method Summary
abstract  void addTermToClassParameter(int classIndex, double term)
          This method adds the term to the class parameter of the class with index classIndex.
abstract  double[] getClassParams(double[] params)
          Returns from the complete vector of parameters those that are for the classes.
abstract  Sample[] getData()
          Returns the data for each class used in this OptimizableFunction.
abstract  int getNumberOfStarts()
          Returns the number of starts that should be done for a good optimum.
abstract  double[] getParameters(OptimizableFunction.KindOfParameter kind)
          Returns some parameters that can be used for instance as start parameters.
abstract  double[][] getSequenceWeights()
          Returns the weights for each Sequence for each class used in this OptimizableFunction.
abstract  void reset(ScoringFunction[] score)
          Resets the ScoringFunctions and all pre-computed values.
abstract  void setParams(double[] current)
          Sets the current values as parameters.
 
Methods inherited from class de.jstacs.algorithms.optimization.DifferentiableFunction
evaluateGradientOfFunction, findOneDimensionalMin
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.jstacs.algorithms.optimization.Function
evaluateFunction, getDimensionOfScope
 

Constructor Detail

OptimizableFunction

public OptimizableFunction()
Method Detail

getNumberOfStarts

public abstract int getNumberOfStarts()
Returns the number of starts that should be done for a good optimum. For concave or convex functions this number should be 1.

Returns:
the number of times the Optimizer should be started to get a good optimum
See Also:
Optimizer

getClassParams

public abstract double[] getClassParams(double[] params)
Returns from the complete vector of parameters those that are for the classes.

Parameters:
params - the current parameters
Returns:
the parameters for the classes

getParameters

public abstract double[] getParameters(OptimizableFunction.KindOfParameter kind)
                                throws Exception
Returns some parameters that can be used for instance as start parameters.

Parameters:
kind - the kind of the class parameters that will be returned
Returns:
some start parameters
Throws:
Exception - if something went wrong

setParams

public abstract void setParams(double[] current)
                        throws DimensionException
Sets the current values as parameters.

Parameters:
current - the current values
Throws:
DimensionException - if the dimension of the current values does not match with the dimension of the internal parameters

reset

public abstract void reset(ScoringFunction[] score)
                    throws Exception
Resets the ScoringFunctions and all pre-computed values.

Parameters:
score - the array of ScoringFunctions
Throws:
Exception - if something went wrong

addTermToClassParameter

public abstract void addTermToClassParameter(int classIndex,
                                             double term)
This method adds the term to the class parameter of the class with index classIndex.

Parameters:
classIndex - the index of the class
term - the term to be added to the class parameter

getData

public abstract Sample[] getData()
Returns the data for each class used in this OptimizableFunction.

Returns:
the data for each class
See Also:
getSequenceWeights()

getSequenceWeights

public abstract double[][] getSequenceWeights()
Returns the weights for each Sequence for each class used in this OptimizableFunction.

Returns:
the weights for each Sequence and each class
See Also:
getData()