gov.sandia.cognition.learning.function.cost
Interface ParallelizableCostFunction

All Superinterfaces:
Cloneable, CloneableSerializable, CostFunction<Evaluator<? super Vector,? extends Vector>,Collection<? extends InputOutputPair<? extends Vector,Vector>>>, DifferentiableCostFunction, Evaluator<Evaluator<? super Vector,? extends Vector>,Double>, PerformanceEvaluator<Evaluator<? super Vector,? extends Vector>,Collection<? extends InputOutputPair<Vector,Vector>>,Double>, Serializable, Summarizer<TargetEstimatePair<? extends Vector,? extends Vector>,Double>, SupervisedCostFunction<Vector,Vector>, SupervisedPerformanceEvaluator<Vector,Vector,Vector,Double>
All Known Implementing Classes:
AbstractParallelizableCostFunction, SumSquaredErrorCostFunction

public interface ParallelizableCostFunction
extends SupervisedCostFunction<Vector,Vector>, DifferentiableCostFunction

Interface describing a cost function that can (largely) be computed in parallel.

Since:
2.1
Author:
Kevin R. Dixon

Method Summary
 Vector computeParameterGradientAmalgamate(Collection<Object> partialResults)
          Amalgamates the linear components of the cost gradient function into a single Vector.
 Object computeParameterGradientPartial(GradientDescendable function)
          Computes the partial (linear) component of the cost function gradient.
 Double evaluateAmalgamate(Collection<Object> partialResults)
          Amalgamates the linear components of the cost function into a single Double.
 Object evaluatePartial(Evaluator<? super Vector,? extends Vector> evaluator)
          Computes the partial (linear) component of the cost function.
 
Methods inherited from interface gov.sandia.cognition.learning.function.cost.DifferentiableCostFunction
computeParameterGradient
 
Methods inherited from interface gov.sandia.cognition.learning.function.cost.CostFunction
clone, evaluate, getCostParameters, setCostParameters
 
Methods inherited from interface gov.sandia.cognition.util.Summarizer
summarize
 
Methods inherited from interface gov.sandia.cognition.learning.performance.SupervisedPerformanceEvaluator
evaluatePerformance
 
Methods inherited from interface gov.sandia.cognition.learning.performance.PerformanceEvaluator
evaluatePerformance
 

Method Detail

evaluatePartial

Object evaluatePartial(Evaluator<? super Vector,? extends Vector> evaluator)
Computes the partial (linear) component of the cost function. This portion will be performed in parallel.

Parameters:
evaluator - Evaluator to compute the cost of
Returns:
Object that contains the linear component of the cost function

evaluateAmalgamate

Double evaluateAmalgamate(Collection<Object> partialResults)
Amalgamates the linear components of the cost function into a single Double. This portion will be performed in sequence.

Parameters:
partialResults - Collection of partial (linear) results
Returns:
Cost function of the partial results

computeParameterGradientPartial

Object computeParameterGradientPartial(GradientDescendable function)
Computes the partial (linear) component of the cost function gradient. This portion will be performed in parallel.

Parameters:
function - GradientDescendable to compute the gradient of
Returns:
Object that contains the linear component of the gradient

computeParameterGradientAmalgamate

Vector computeParameterGradientAmalgamate(Collection<Object> partialResults)
Amalgamates the linear components of the cost gradient function into a single Vector. This portion will be performed in sequence.

Parameters:
partialResults - Collection of partial (linear) gradient components
Returns:
Vector describing the gradient