/* * File: SupervisedCostFunction.java * Authors: Kevin R. Dixon * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright Dec 20, 2007, Sandia Corporation. Under the terms of Contract * DE-AC04-94AL85000, there is a non-exclusive license for use of this work by * or on behalf of the U.S. Government. Export of this program may require a * license from the United States Government. See CopyrightHistory.txt for * complete details. * * */ package gov.sandia.cognition.learning.function.cost; import gov.sandia.cognition.evaluator.Evaluator; import gov.sandia.cognition.learning.data.InputOutputPair; import gov.sandia.cognition.learning.data.TargetEstimatePair; import gov.sandia.cognition.learning.performance.SupervisedPerformanceEvaluator; import gov.sandia.cognition.util.Summarizer; import java.util.Collection; /** * A type of CostFunction normally used in supervised-learning applications. * This CostFunction evaluates an Evaluator against its ability to reproduce * the targets from a collection of InputOutputPairs * * @param <InputType> Inputs of the Evaluator, such as a Vector * @param <TargetType> Targets of the Evaluator, such a Double * @author Kevin R. Dixon * @since 2.0 */ public interface SupervisedCostFunction<InputType, TargetType> extends CostFunction<Evaluator<? super InputType, ? extends TargetType>, Collection<? extends InputOutputPair<? extends InputType, TargetType>>>, Summarizer<TargetEstimatePair<? extends TargetType, ? extends TargetType>, Double>, SupervisedPerformanceEvaluator<InputType, TargetType, TargetType, Double> { }