|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectScalableGaussianOptimizationFunction
SimpleGaussianOptimizationFunction
public class SimpleGaussianOptimizationFunction
This class provides an optimization function for the JPOP framework (http://www5.cs.fau.de/research/software/java-parallel-optimization-package/
or
http://peaks.informatik.uni-erlangen.de/jpop-api/overview-summary.html
.
The goal is to model a given set of values with a sum of three Gaussian functions and optimize the parameters of these Gaussian functions via the sum of squared differences. The following parameters are optimized: Mean (\mu_i), standard deviation (\sigma_i).
Formula: Sum of three Gaussians (in latex):
g(x) = \sum_{k=1}^{3} \mathcal{N}(x; \mu_k, \sigma_k)
Formula: Optimization function:
h(\theta) = \sum_{i = 1}^{N} (f(x_i)-g_s(x_i))^2 --> minimum
with \theta = (\mu_1, \sigma_1, \mu_2, \sigma_2, \mu_3, \sigma_3)
Except not noted otherwise in the method description, these parameters must have the same order as shown in the line above and will have the same order in the array that contains the final result of the optimization process.
Note: For further information please refer to the superclass ScalableGaussianOptimizationFunction. This implementation is strongly based on the superclass - for the variable scaling factors a constant value of 1 is passed.
Constructor Summary | |
---|---|
SimpleGaussianOptimizationFunction(double[] xvalues,
double[] yvalues)
|
Method Summary | |
---|---|
double |
evaluate(double[] params,
int block)
Unscaled version. |
double |
evaluateBasisFunction(double x,
double[] params)
Evaluates the function g_s (see class description) at position x. |
double[] |
gradient(double[] params,
int block)
Computes the Gradient at position x. |
Methods inherited from class ScalableGaussianOptimizationFunction |
---|
getNumberOfProcessingBlocks, setNumberOfProcessingBlocks |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SimpleGaussianOptimizationFunction(double[] xvalues, double[] yvalues)
ScalableGaussianOptimizationFunction
Method Detail |
---|
public double evaluate(double[] params, int block)
evaluate
in interface edu.stanford.rsl.jpop.OptimizableFunction
evaluate
in class ScalableGaussianOptimizationFunction
params
- = {\mu_1, \sigma_1, \mu_2, \sigma_2, \mu_3, \sigma_3}block
-
public double[] gradient(double[] params, int block)
edu.stanford.rsl.jpop.GradientOptimizableFunction
gradient
in interface edu.stanford.rsl.jpop.GradientOptimizableFunction
gradient
in class ScalableGaussianOptimizationFunction
params
- the positionblock
- the block identifier. First block is 0. block is < getNumberOfProcessingBlocks().
public double evaluateBasisFunction(double x, double[] params)
ScalableGaussianOptimizationFunction
evaluateBasisFunction
in interface GaussianOptimizationFunction
evaluateBasisFunction
in class ScalableGaussianOptimizationFunction
params
- The parameters for the three Gaussians. params = {\mu_1, \sigma_1, \mu_2, \sigma_2, \mu_3, \sigma_3, \alpha_1, \alpha_2, \alpha_3}
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |