de.jstacs.classifier.scoringFunctionBased.logPrior
Class SimpleGaussianSumLogPrior

java.lang.Object
  extended by de.jstacs.algorithms.optimization.DifferentiableFunction
      extended by de.jstacs.classifier.scoringFunctionBased.logPrior.LogPrior
          extended by de.jstacs.classifier.scoringFunctionBased.logPrior.SimpleGaussianSumLogPrior
All Implemented Interfaces:
Function, Storable

public class SimpleGaussianSumLogPrior
extends LogPrior

This class implements a prior that is a product of Gaussian distributions with mean 0 and equal variance for each parameter.

Author:
Jens Keilwagen

Field Summary
 
Fields inherited from class de.jstacs.classifier.scoringFunctionBased.logPrior.LogPrior
UNKNOWN
 
Constructor Summary
SimpleGaussianSumLogPrior(double sigma)
          Creates a new SimpleGaussianSumLogPrior with mean 0 and variance sigma for all parameters, including the class parameters.
SimpleGaussianSumLogPrior(StringBuffer xml)
          Recreates a SimpleGaussianSumLogPrior from its XML representation as returned by toXML().
 
Method Summary
 void addGradientFor(double[] params, double[] grad)
          Adds the gradient of the log-prior using the current parameters to a given vector.
 double evaluateFunction(double[] params)
          Evaluates the function at a certain vector (in mathematical sense) x.
 int getDimensionOfScope()
          Returns the dimension of the scope of the function.
 String getInstanceName()
          Returns a short instance name.
 SimpleGaussianSumLogPrior getNewInstance()
          This method returns an empty new instance of the current prior.
 StringBuffer toXML()
          Encodes the prior as an XML representation.
 
Methods inherited from class de.jstacs.classifier.scoringFunctionBased.logPrior.LogPrior
evaluateGradientOfFunction, set
 
Methods inherited from class de.jstacs.algorithms.optimization.DifferentiableFunction
findOneDimensionalMin
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleGaussianSumLogPrior

public SimpleGaussianSumLogPrior(double sigma)
Creates a new SimpleGaussianSumLogPrior with mean 0 and variance sigma for all parameters, including the class parameters.

Parameters:
sigma - the variance

SimpleGaussianSumLogPrior

public SimpleGaussianSumLogPrior(StringBuffer xml)
                          throws NonParsableException
Recreates a SimpleGaussianSumLogPrior from its XML representation as returned by toXML().

Parameters:
xml - the XML representation
Throws:
NonParsableException - is thrown if the XML code could not be parsed
Method Detail

addGradientFor

public void addGradientFor(double[] params,
                           double[] grad)
Description copied from class: LogPrior
Adds the gradient of the log-prior using the current parameters to a given vector.

Specified by:
addGradientFor in class LogPrior
Parameters:
params - the parameters
grad - the vector

evaluateFunction

public double evaluateFunction(double[] params)
Description copied from interface: Function
Evaluates the function at a certain vector (in mathematical sense) x.

Parameters:
params - the current vector
Returns:
the evaluation of the function

getDimensionOfScope

public int getDimensionOfScope()
Description copied from interface: Function
Returns the dimension of the scope of the function.

Returns:
dimension of the scope; n, with f: R^n -> R

getNewInstance

public SimpleGaussianSumLogPrior getNewInstance()
                                         throws CloneNotSupportedException
Description copied from class: LogPrior
This method returns an empty new instance of the current prior. The method works similar to clone, but does not clone ScoringFunction s that may be inside the instance. The ScoringFunctions must be set by an invocation of the method LogPrior.set(boolean, ScoringFunction...).

Specified by:
getNewInstance in class LogPrior
Returns:
a new empty instance of the prior
Throws:
CloneNotSupportedException - if something went wrong while cloning
See Also:
LogPrior.set(boolean, ScoringFunction...)

toXML

public StringBuffer toXML()
Description copied from class: LogPrior
Encodes the prior as an XML representation. It does not encode all information, since the method LogPrior.set(boolean, ScoringFunction...) has to be invoked after decoding.

Specified by:
toXML in interface Storable
Specified by:
toXML in class LogPrior
Returns:
the XML representation;

getInstanceName

public String getInstanceName()
Description copied from class: LogPrior
Returns a short instance name.

Specified by:
getInstanceName in class LogPrior
Returns:
a short instance name