gov.sandia.cognition.learning.algorithm.gradient
Interface GradientDescendable

All Superinterfaces:
Cloneable, CloneableSerializable, Evaluator<Vector,Vector>, ParameterGradientEvaluator<Vector,Matrix>, Serializable, VectorFunction, Vectorizable, VectorizableVectorFunction
All Known Implementing Classes:
DifferentiableFeedforwardNeuralNetwork, DifferentiableGeneralizedLinearModel, GradientDescendableApproximator, MultivariateDiscriminant, MultivariateDiscriminantWithBias, ThreeLayerFeedforwardNeuralNetwork

@CodeReviews(reviews={@CodeReview(reviewer="Kevin R. Dixon",date="2008-07-23",changesNeeded=false,comments={"Minor change to class javadoc.","Moved previous code review as CodeReview annotation","Looks fine."}),@CodeReview(reviewer="Justin Basilico",date="2006-10-04",changesNeeded=false,comments="Interface looks fine.")})
public interface GradientDescendable
extends VectorizableVectorFunction, ParameterGradientEvaluator<Vector,Matrix>

The GradientDescendable interface defines the functionality of an object that is required in order to apply the gradient descent algorithm to it. That is, GradientDescendable can differentiate its output with respect to its parameters for a given input.

Since:
1.0
Author:
Justin Basilico, Kevin R. Dixon

Method Summary
 GradientDescendable clone()
          Creates a new clone (shallow copy) of this object.
 Matrix computeParameterGradient(Vector input)
          Computes the derivative of the function about the input with respect to the parameters of the function
 
Methods inherited from interface gov.sandia.cognition.evaluator.Evaluator
evaluate
 
Methods inherited from interface gov.sandia.cognition.math.matrix.Vectorizable
convertFromVector, convertToVector
 

Method Detail

computeParameterGradient

Matrix computeParameterGradient(Vector input)
Computes the derivative of the function about the input with respect to the parameters of the function

Specified by:
computeParameterGradient in interface ParameterGradientEvaluator<Vector,Matrix>
Parameters:
input - Point about which to differentiate w.r.t. the parameters
Returns:
Matrix of parameter gradients

clone

GradientDescendable clone()
Description copied from interface: VectorizableVectorFunction
Creates a new clone (shallow copy) of this object.

Specified by:
clone in interface CloneableSerializable
Specified by:
clone in interface Vectorizable
Specified by:
clone in interface VectorizableVectorFunction
Returns:
A new clone (shallow copy) of this object.