diviner
Class RiskDiviner

java.lang.Object
  extended by function.BasicScalarFunction
      extended by function.VariableDomainScalarFunction
          extended by diviner.BasicBoundConstrainedDiviner
              extended by diviner.ImprovementDiviner
                  extended by diviner.RiskDiviner
All Implemented Interfaces:
BoundConstrainedDiviner, Computable, ScalarFunction, VariableBounds, VariableInputDimension

public class RiskDiviner
extends ImprovementDiviner

Another way of trading performance and risk: quantify the risk as the probability of not achieving a given performance. For Gaussian likelihoods, this always occurs a fixed number of standard deviations away from the mean. Now fix the risk of a diviner, meaning that the algorithm always chooses points a given distance away from the mean. Find the best performance at this level of risk. Note: a risk of 0.5 corresponds to being exactly at the mean.

Author:
dgorur

Field Summary
 
Fields inherited from class diviner.ImprovementDiviner
improvement, postMean, postStdDev, scaledImprovement
 
Fields inherited from class function.BasicScalarFunction
DEFAULT_BOUNDS, DEFAULT_DIM, VALUE_OUTSIDE_BOUNDS
 
Constructor Summary
RiskDiviner()
           
 
Method Summary
 double getRisk()
          Returns the risk, defined as the probability of obtaining an objective value higher than the target.
 double getStdDev()
          Returns the number of std.deviations out at which risk occurs.
 double quickCompute(double[] x)
          Compute method without dimension checking.
 void setRisk(double risk)
          Sets the risk, defined as in getRisk().
 void setStdDev(double stdDev)
          Sets the stdDev, defined in getStdDev().
 
Methods inherited from class diviner.ImprovementDiviner
evaluatePosterior, getTargetObjective, setTargetObjective
 
Methods inherited from class diviner.BasicBoundConstrainedDiviner
getObjectiveModel, init, setObjectiveModel
 
Methods inherited from class function.VariableDomainScalarFunction
getBounds, getInputDimension, setBounds, setInputDimension
 
Methods inherited from class function.BasicScalarFunction
checkDimensions, compute, compute, compute, compute, compute, compute, getOutputDimension, isWithinBounds, makeBounds, quickCompute
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface function.VariableBounds
setBounds
 
Methods inherited from interface function.ScalarFunction
compute, compute, compute, compute, quickCompute
 
Methods inherited from interface function.Computable
compute, compute, getBounds, getInputDimension, getOutputDimension, isWithinBounds
 

Constructor Detail

RiskDiviner

public RiskDiviner()
Method Detail

getRisk

public double getRisk()
Returns the risk, defined as the probability of obtaining an objective value higher than the target.

Returns:
the risk.

getStdDev

public double getStdDev()
Returns the number of std.deviations out at which risk occurs.

Returns:
the number of std. deviations away from the mean at which the Gaussian probability = 1 - risk.

quickCompute

public double quickCompute(double[] x)
Description copied from class: BasicScalarFunction
Compute method without dimension checking. All subclasses must implement this method: it is the core method that defines the function.

Specified by:
quickCompute in interface ScalarFunction
Specified by:
quickCompute in class BasicScalarFunction
Parameters:
x - the given input.
Returns:
the output corresponding to the given input.

setRisk

public void setRisk(double risk)
Sets the risk, defined as in getRisk().

Parameters:
risk - the given risk.

setStdDev

public void setStdDev(double stdDev)
Sets the stdDev, defined in getStdDev().

Parameters:
stdDev - the given stdDev.