OpenNN::PerformanceFunctional Class Reference

#include <performance_functional.h>

List of all members.

Classes

struct  FirstOrderEvaluation
struct  SecondOrderEvaluation
struct  ZeroOrderEvaluation

Public Types

enum  PerformanceTermType {
  NONE, SUM_SQUARED_ERROR, MEAN_SQUARED_ERROR, ROOT_MEAN_SQUARED_ERROR,
  NORMALIZED_SQUARED_ERROR, MINKOWSKI_ERROR, CROSS_ENTROPY_ERROR, NEURAL_PARAMETERS_NORM,
  OUTPUTS_INTEGRALS, SOLUTION_ERROR, FINAL_SOLUTIONS_ERROR, INDEPENDENT_PARAMETERS_ERROR,
  INVERSE_SUM_SQUARED_ERROR, USER_PERFORMANCE_TERM
}

Public Member Functions

 PerformanceFunctional (void)
 PerformanceFunctional (PerformanceTerm *)
 PerformanceFunctional (NeuralNetwork *)
 PerformanceFunctional (NeuralNetwork *, DataSet *)
 PerformanceFunctional (NeuralNetwork *, MathematicalModel *)
 PerformanceFunctional (NeuralNetwork *, MathematicalModel *, DataSet *)
 PerformanceFunctional (const std::string &)
 PerformanceFunctional (const PerformanceFunctional &)
virtual ~PerformanceFunctional (void)
NeuralNetworkget_neural_network_pointer (void) const
PerformanceTermget_objective_term_pointer (void) const
PerformanceTermget_regularization_term_pointer (void) const
PerformanceTermget_constraints_term_pointer (void)
const PerformanceTermTypeget_objective_term_type (void) const
const PerformanceTermTypeget_regularization_term_type (void) const
const PerformanceTermTypeget_constraints_term_type (void) const
std::string write_objective_term_type (void) const
std::string write_regularization_term_type (void) const
std::string write_constraints_term_type (void) const
const bool & get_objective_term_flag (void) const
const bool & get_regularization_term_flag (void) const
const bool & get_constraints_term_flag (void) const
const bool & get_display (void) const
void set_neural_network_pointer (NeuralNetwork *)
void set_objective_term_pointer (PerformanceTerm *)
void set_regularization_term_pointer (PerformanceTerm *)
void set_constraints_term_pointer (PerformanceTerm *)
void set_default (void)
void set_objective_term_type (const PerformanceTermType &)
void set_objective_term_type (const std::string &)
void set_regularization_term_type (const PerformanceTermType &)
void set_regularization_term_type (const std::string &)
void set_constraints_term_type (const PerformanceTermType &)
void set_constraints_term_type (const std::string &)
void set_objective_term_flag (const bool &)
void set_regularization_term_flag (const bool &)
void set_constraints_term_flag (const bool &)
void set_display (const bool &)
void construct_objective_term (const PerformanceTermType &)
void construct_regularization_term (const PerformanceTermType &)
void construct_constraints_term (const PerformanceTermType &)
void construct_objective_term (const PerformanceTermType &, MathematicalModel *)
void construct_regularization_term (const PerformanceTermType &, MathematicalModel *)
void construct_constraints_term (const PerformanceTermType &, MathematicalModel *)
void construct_objective_term (const PerformanceTermType &, DataSet *)
void construct_regularization_term (const PerformanceTermType &, DataSet *)
void construct_constraints_term (const PerformanceTermType &, DataSet *)
void construct_objective_term (const PerformanceTermType &, MathematicalModel *, DataSet *)
void construct_regularization_term (const PerformanceTermType &, MathematicalModel *, DataSet *)
void construct_constraints_term (const PerformanceTermType &, MathematicalModel *, DataSet *)
void construct_objective_term (const std::string &)
void construct_regularization_term (const std::string &)
void construct_constraints_term (const std::string &)
void destruct_objective_term (void)
void destruct_regularization_term (void)
void destruct_constraints_term (void)
void destruct_all_terms (void)
double calculate_evaluation (void) const
Vector< double > calculate_gradient (void) const
Matrix< double > calculate_Hessian (void) const
double calculate_evaluation (const Vector< double > &)
Vector< double > calculate_gradient (const Vector< double > &)
Matrix< double > calculate_Hessian (const Vector< double > &)
virtual Matrix< double > calculate_inverse_Hessian (void) const
virtual Vector< double > calculate_vector_dot_Hessian (const Vector< double > &) const
virtual ZeroOrderEvaluation calculate_zero_order_evaluation (void) const
virtual FirstOrderEvaluation calculate_first_order_evaluation (void) const
virtual SecondOrderEvaluation calculate_second_order_evaluation (void) const
virtual double calculate_generalization_evaluation (void) const
double calculate_zero_order_Taylor_approximation (const Vector< double > &) const
double calculate_first_order_Taylor_approximation (const Vector< double > &) const
double calculate_second_order_Taylor_approximation (const Vector< double > &) const
double calculate_directional_performance (const Vector< double > &, double)
double calculate_directional_performance_derivative (const Vector< double > &, double)
double calculate_directional_performance_second_derivative (const Vector< double > &, double)
virtual TiXmlElement * to_XML (void) const
virtual void from_XML (TiXmlElement *)
virtual void print (void) const
virtual void save (const std::string &) const
virtual void load (const std::string &)
virtual std::string write_information (void)


Detailed Description

This abstract class represents the concept of performance functional for a neural network. A performance functional is composed of three terms: An performance term, a regularization functional and a constraints functional. Any derived class must implement the calculate_evaluation(void) method.

Definition at line 47 of file performance_functional.h.


Member Enumeration Documentation

Enumeration of available performance terms in OpenNN.

Definition at line 137 of file performance_functional.h.


Constructor & Destructor Documentation

OpenNN::PerformanceFunctional::PerformanceFunctional ( void   )  [explicit]

Default constructor. It creates a performance functional object with all pointers initialized to NULL. It also initializes all the rest of class members to their default values.

Definition at line 61 of file performance_functional.cpp.

OpenNN::PerformanceFunctional::PerformanceFunctional ( PerformanceTerm new_objective_term_pointer  )  [explicit]

Objective term constructor. It creates a performance functional object with a given objective functional. The rest of pointers are initialized to NULL. The other members are set to their default values, but the objective term type, which is set to USER_PERFORMANCE_TERM.

Definition at line 166 of file performance_functional.cpp.

OpenNN::PerformanceFunctional::PerformanceFunctional ( NeuralNetwork new_neural_network_pointer  )  [explicit]

Neural network constructor. It creates a performance functional object associated to a neural network object. The rest of pointers are initialized to NULL. It also initializes all the rest of class members to their default values.

Parameters:
new_neural_network_pointer Pointer to a neural network object.

Definition at line 81 of file performance_functional.cpp.

OpenNN::PerformanceFunctional::PerformanceFunctional ( NeuralNetwork new_neural_network_pointer,
DataSet new_data_set_pointer 
) [explicit]

Neural network and data set constructor. It creates a performance functional object associated to a neural network and a data set objects. The rest of pointers are initialized to NULL. It also initializes all the rest of class members to their default values.

Parameters:
new_neural_network_pointer Pointer to a neural network object.
new_data_set_pointer Pointer to a data set object.

Definition at line 102 of file performance_functional.cpp.

OpenNN::PerformanceFunctional::PerformanceFunctional ( NeuralNetwork new_neural_network_pointer,
MathematicalModel new_mathematical_model_pointer 
) [explicit]

Neural network and mathematical model constructor. It creates a performance functional object associated to a neural network and a mathematical model objects. The rest of pointers are initialized to NULL. It also initializes all the rest of class members to their default values.

Parameters:
new_neural_network_pointer Pointer to a neural network object.
new_mathematical_model_pointer Pointer to a mathematical model object.

Definition at line 124 of file performance_functional.cpp.

OpenNN::PerformanceFunctional::PerformanceFunctional ( NeuralNetwork new_neural_network_pointer,
MathematicalModel new_mathematical_model_pointer,
DataSet new_data_set_pointer 
) [explicit]

Neural network, mathematical model and data set constructor. It creates a performance functional object associated to a neural network, a mathematical model and a data set objects. The rest of pointers are initialized to NULL. It also initializes all the rest of class members to their default values.

Parameters:
new_neural_network_pointer Pointer to a neural network object.
new_mathematical_model_pointer Pointer to a mathematical model object.
new_data_set_pointer Pointer to a data set object.

Definition at line 147 of file performance_functional.cpp.

OpenNN::PerformanceFunctional::PerformanceFunctional ( const std::string &  filename  )  [explicit]

File constructor. It creates a performance functional object by loading its members from an XML-type file. Please be careful with the format of that file, which is specified in the OpenNN manual.

Parameters:
filename Name of performance functional file.

Definition at line 185 of file performance_functional.cpp.

OpenNN::PerformanceFunctional::PerformanceFunctional ( const PerformanceFunctional other_performance_functional  ) 

Copy constructor. It creates a copy of an existing performance functional object.

Parameters:
other_performance_functional Performance functional object to be copied.
Todo:

Definition at line 204 of file performance_functional.cpp.

OpenNN::PerformanceFunctional::~PerformanceFunctional ( void   )  [virtual]

Destructor. It deletes the objective, regularization and constraints terms.

Definition at line 252 of file performance_functional.cpp.


Member Function Documentation

NeuralNetwork* OpenNN::PerformanceFunctional::get_neural_network_pointer ( void   )  const [inline]

This method returns a pointer to the neural network associated to the performance functional.

Definition at line 162 of file performance_functional.h.

PerformanceTerm* OpenNN::PerformanceFunctional::get_objective_term_pointer ( void   )  const [inline]

This method returns a pointer to the mathematical model associated to the performance functional.

This method returns a pointer to the data set associated to the performance functional. This method returns a pointer to the performance term composing the performance functional.

Definition at line 183 of file performance_functional.h.

PerformanceTerm* OpenNN::PerformanceFunctional::get_regularization_term_pointer ( void   )  const [inline]

This method returns a pointer to the regularization functional composing the performance functional.

Definition at line 190 of file performance_functional.h.

PerformanceTerm* OpenNN::PerformanceFunctional::get_constraints_term_pointer ( void   )  [inline]

This method returns a pointer to the constraints functional composing the performance functional.

Definition at line 198 of file performance_functional.h.

const PerformanceFunctional::PerformanceTermType & OpenNN::PerformanceFunctional::get_objective_term_type ( void   )  const

This method returns the type of objective term used in the performance functional expression.

Definition at line 266 of file performance_functional.cpp.

const PerformanceFunctional::PerformanceTermType & OpenNN::PerformanceFunctional::get_regularization_term_type ( void   )  const

This method returns the type of regularization term used in the performance functional expression.

Definition at line 276 of file performance_functional.cpp.

const PerformanceFunctional::PerformanceTermType & OpenNN::PerformanceFunctional::get_constraints_term_type ( void   )  const

This method returns the type of constraints term used in the performance functional expression.

Definition at line 286 of file performance_functional.cpp.

std::string OpenNN::PerformanceFunctional::write_objective_term_type ( void   )  const

This method returns a string with the type of objective term used in the performance functional expression.

Definition at line 296 of file performance_functional.cpp.

std::string OpenNN::PerformanceFunctional::write_regularization_term_type ( void   )  const

This method returns a string with the type of regularization term used in the performance functional expression.

Definition at line 371 of file performance_functional.cpp.

std::string OpenNN::PerformanceFunctional::write_constraints_term_type ( void   )  const

This method returns a string with the type of constraints term used in the performance functional expression.

Definition at line 446 of file performance_functional.cpp.

const bool & OpenNN::PerformanceFunctional::get_objective_term_flag ( void   )  const

This method returns the flag value for including or not the objective term in the performance functional expression.

Definition at line 521 of file performance_functional.cpp.

const bool & OpenNN::PerformanceFunctional::get_regularization_term_flag ( void   )  const

This method returns the flag value for using regularization or not.

Definition at line 531 of file performance_functional.cpp.

const bool & OpenNN::PerformanceFunctional::get_constraints_term_flag ( void   )  const

This method returns true if constraints are to be included in the performance functional expression, and false otherwise.

Definition at line 542 of file performance_functional.cpp.

const bool & OpenNN::PerformanceFunctional::get_display ( void   )  const

This method returns true if messages from this class can be displayed on the screen, or false if messages from this class can't be displayed on the screen.

Definition at line 553 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_neural_network_pointer ( NeuralNetwork new_neural_network_pointer  ) 

This method sets a pointer to a multilayer perceptron object which is to be associated to the performance functional.

Parameters:
new_neural_network_pointer Pointer to a neural network object to be associated to the performance functional.

Definition at line 564 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_objective_term_pointer ( PerformanceTerm new_objective_term_pointer  ) 

This method sets a new objective term into the performance functional.

Parameters:
new_objective_term_pointer Pointer to a performance term representing the objective functional.

Definition at line 575 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_regularization_term_pointer ( PerformanceTerm new_regularization_term_pointer  ) 

This method sets a new regularization term into the performance functional.

Parameters:
new_regularization_term_pointer Pointer to a performance term representing the regularization functional.

Definition at line 594 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_constraints_term_pointer ( PerformanceTerm new_constraints_term_pointer  ) 

This method sets a new constraints term into the performance functional.

Parameters:
new_constraints_term_pointer Pointer to a performance term representing the constraints functional.

Definition at line 613 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_default ( void   ) 

This method sets the members of the performance functional object to their default values.

Definition at line 631 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_objective_term_type ( const PerformanceTermType new_objective_term_type  ) 

This method sets a new type for the objective term.

Parameters:
new_objective_term_type Type of objective term.

Definition at line 650 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_objective_term_type ( const std::string &  new_objective_term_type  ) 

This method sets a new type for the objective term from a string.

Parameters:
new_objective_term_type String with the type of objective term.

Definition at line 683 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_regularization_term_type ( const PerformanceTermType new_regularization_term_type  ) 

This method sets a new type for the regularization term.

Parameters:
new_regularization_term_type Type of regularization term.

Definition at line 661 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_regularization_term_type ( const std::string &  new_regularization_term_type  ) 

This method sets a new type for the regularization term from a string.

Parameters:
new_regularization_term_type String with the type of regularization term.

Definition at line 759 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_constraints_term_type ( const PerformanceTermType new_constraints_term_type  ) 

This method sets a new type for the constraints term.

Parameters:
new_constraints_term_type Type of constraints term.

Definition at line 672 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_constraints_term_type ( const std::string &  new_constraints_term_type  ) 

This method sets a new type for the constraints term from a string.

Parameters:
new_constraints_term_type String with the type of constraints term.

Definition at line 835 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_objective_term_flag ( const bool &  new_objective_term_flag  ) 

This method sets a new flag value for using the objective term or not.

Parameters:
new_objective_term_flag Flag value for the use of objective term.

Definition at line 911 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_regularization_term_flag ( const bool &  new_regularization_term_flag  ) 

This method sets a new flag value for using regularization or not.

Parameters:
new_regularization_term_flag Flag value for the use of regularization.

Definition at line 922 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_constraints_term_flag ( const bool &  new_constraints_term_flag  ) 

This method sets a new flag value for using constraints or not in the performance functional expression.

Parameters:
new_constraints_term_flag Flag value for the use of constraints.

Definition at line 933 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::set_display ( const bool &  new_display  ) 

This method sets a new display value. If it is set to true messages from this class are to be displayed on the screen; if it is set to false messages from this class are not to be displayed on the screen.

Parameters:
new_display Display value.

Definition at line 946 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_objective_term ( const PerformanceTermType new_objective_term_type  ) 

This method creates a new objective term inside the performance functional of a given performance term type.

Parameters:
new_objective_term_type Type of objective term to be created.

Definition at line 957 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_regularization_term ( const PerformanceTermType new_regularization_term_type  ) 

This method creates a new regularization term inside the performance functional of a given performance term type.

Parameters:
new_regularization_term_type Type of regularization term to be created.

Definition at line 1073 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_constraints_term ( const PerformanceTermType new_constraints_term_type  ) 

This method creates a new constraints term inside the performance functional of a given performance term type.

Parameters:
new_constraints_term_type Type of constraints term to be created.

Definition at line 1189 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_objective_term ( const PerformanceTermType new_performance_term_type,
MathematicalModel new_mathematical_model_pointer 
)

This method creates a new objective term inside the performance functional.

Parameters:
new_performance_term_type Type of objective term.
new_mathematical_model_pointer Pointer to a mathematical model object.

Definition at line 1306 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_regularization_term ( const PerformanceTermType new_performance_term_type,
MathematicalModel new_mathematical_model_pointer 
)

This method creates a new regularization term inside the performance functional.

Parameters:
new_performance_term_type Type of objective term.
new_mathematical_model_pointer Pointer to a mathematical model object.

Definition at line 1320 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_constraints_term ( const PerformanceTermType new_performance_term_type,
MathematicalModel new_mathematical_model_pointer 
)

This method creates a new constraints term inside the performance functional.

Parameters:
new_performance_term_type Type of objective term.
new_mathematical_model_pointer Pointer to a mathematical model object.

Definition at line 1334 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_objective_term ( const PerformanceTermType new_performance_term_type,
DataSet new_data_set_pointer 
)

This method creates a new objective term inside the performance functional.

Parameters:
new_performance_term_type Type of objective term.
new_data_set_pointer Pointer to a data set object.

Definition at line 1348 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_regularization_term ( const PerformanceTermType new_performance_term_type,
DataSet new_data_set_pointer 
)

This method creates a new regularization term inside the performance functional.

Parameters:
new_performance_term_type Type of regularization term.
new_data_set_pointer Pointer to a data set object.

Definition at line 1362 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_constraints_term ( const PerformanceTermType new_performance_term_type,
DataSet new_data_set_pointer 
)

This method creates a new constraints term inside the performance functional.

Parameters:
new_performance_term_type Type of constraints term.
new_data_set_pointer Pointer to a data set object.

Definition at line 1376 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_objective_term ( const PerformanceTermType new_performance_term_type,
MathematicalModel new_mathematical_model_pointer,
DataSet new_data_set_pointer 
)

This method creates a new objective term inside the performance functional.

Parameters:
new_performance_term_type Type of objective term.
new_mathematical_model_pointer Pointer to a mathematical model object.
new_data_set_pointer Pointer to a data set object.

Definition at line 1391 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_regularization_term ( const PerformanceTermType new_performance_term_type,
MathematicalModel new_mathematical_model_pointer,
DataSet new_data_set_pointer 
)

This method creates a new regularization term inside the performance functional.

Parameters:
new_performance_term_type Type of regularization term.
new_mathematical_model_pointer Pointer to a mathematical model object.
new_data_set_pointer Pointer to a data set object.

Definition at line 1407 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_constraints_term ( const PerformanceTermType new_performance_term_type,
MathematicalModel new_mathematical_model_pointer,
DataSet new_data_set_pointer 
)

This method creates a new constraints term inside the performance functional.

Parameters:
new_performance_term_type Type of constraints term.
new_mathematical_model_pointer Pointer to a mathematical model object.
new_data_set_pointer Pointer to a data set object.

Definition at line 1423 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_objective_term ( const std::string &  new_objective_term_type  ) 

This method creates a new objective term inside the performance functional of a given performance term type.

Parameters:
new_objective_term_type String with the type of objective term to be created.

Definition at line 1437 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_regularization_term ( const std::string &  new_regularization_term_type  ) 

This method creates a new regularization term inside the performance functional of a given performance term type.

Parameters:
new_regularization_term_type String with the type of regularization term to be created.

Definition at line 1513 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::construct_constraints_term ( const std::string &  new_constraints_term_type  ) 

This method creates a new constraints term inside the performance functional of a given performance term type.

Parameters:
new_constraints_term_type String with the type of constraints term to be created.

Definition at line 1589 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::destruct_objective_term ( void   ) 

This method deletes the objective term object. It also sets the objective term type to NONE and the corresponding flag to false.

Definition at line 1665 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::destruct_regularization_term ( void   ) 

This method deletes the regularization term object. It also sets the regularization term type to NONE and the corresponding flag to false.

Definition at line 1682 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::destruct_constraints_term ( void   ) 

This method deletes the constraints term object. It also sets the constraints term type to NONE and the corresponding flag to false.

Definition at line 1699 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::destruct_all_terms ( void   ) 

This method destructs the objective, regularization and constraints terms.

Definition at line 1715 of file performance_functional.cpp.

double OpenNN::PerformanceFunctional::calculate_evaluation ( void   )  const

This method calculates the performance value of the performance functional, as the sum of the objective and the regularization terms.

Definition at line 1728 of file performance_functional.cpp.

Vector< double > OpenNN::PerformanceFunctional::calculate_gradient ( void   )  const

This method returns the objective function gradient, as the sum of the objective and the regularization gradient vectors.

Definition at line 1898 of file performance_functional.cpp.

Matrix< double > OpenNN::PerformanceFunctional::calculate_Hessian ( void   )  const

This method returns the default objective function Hessian matrix, which is computed using numerical differentiation.

Definition at line 2046 of file performance_functional.cpp.

double OpenNN::PerformanceFunctional::calculate_evaluation ( const Vector< double > &  parameters  ) 

This method returns the performance of a neural network for a given vector of parameters. It does not set that vector of parameters to the neural network.

Parameters:
parameters Vector of parameters for the neural network associated to the performance functional.

Definition at line 1814 of file performance_functional.cpp.

Vector< double > OpenNN::PerformanceFunctional::calculate_gradient ( const Vector< double > &  parameters  ) 

This method returns the performance gradient for a given vector of parameters. It does not set that vector of parameters to the neural network.

Parameters:
parameters Vector of parameters for the neural network associated to the performance functional.

Definition at line 1985 of file performance_functional.cpp.

Matrix< double > OpenNN::PerformanceFunctional::calculate_Hessian ( const Vector< double > &  parameters  ) 

This method returns which would be the objective function Hessian of a multilayer perceptron for an hypothetical vector of parameters. It does not set that vector of parameters to the multilayer perceptron.

Parameters:
parameters Vector of a potential parameters for the multilayer perceptron associated to the performance functional.

Definition at line 2079 of file performance_functional.cpp.

Matrix< double > OpenNN::PerformanceFunctional::calculate_inverse_Hessian ( void   )  const [virtual]

This method returns inverse matrix of the Hessian. It first computes the Hessian matrix and then computes its inverse.

Todo:

Definition at line 2128 of file performance_functional.cpp.

Vector< double > OpenNN::PerformanceFunctional::calculate_vector_dot_Hessian ( const Vector< double > &  vector  )  const [virtual]

This method returns the default product of some vector with the objective function Hessian matrix, which is computed using numerical differentiation.

Parameters:
vector Vector in the dot product.

Definition at line 2150 of file performance_functional.cpp.

PerformanceFunctional::ZeroOrderEvaluation OpenNN::PerformanceFunctional::calculate_zero_order_evaluation ( void   )  const [virtual]

This method returns a zero order evaluation structure, which just contains the evaluation value of the performance function.

Definition at line 2181 of file performance_functional.cpp.

PerformanceFunctional::FirstOrderEvaluation OpenNN::PerformanceFunctional::calculate_first_order_evaluation ( void   )  const [virtual]

This method returns a first order evaluation structure, which contains the value and the gradient of the performance function.

Definition at line 2195 of file performance_functional.cpp.

PerformanceFunctional::SecondOrderEvaluation OpenNN::PerformanceFunctional::calculate_second_order_evaluation ( void   )  const [virtual]

This method returns a second order evaluation structure, which contains the value, the gradient and the Hessian of the performance function.

Definition at line 2210 of file performance_functional.cpp.

double OpenNN::PerformanceFunctional::calculate_generalization_evaluation ( void   )  const [virtual]

This method calculates the performance value of the performance functional, as the sum of the objective and the regularization terms.

Definition at line 1854 of file performance_functional.cpp.

double OpenNN::PerformanceFunctional::calculate_zero_order_Taylor_approximation ( const Vector< double > &   )  const

This method returns the Taylor approximation of the performance function at some point near the parameters. The order of the approximation here is zero, i.e., only the performance value is used.

Definition at line 2227 of file performance_functional.cpp.

double OpenNN::PerformanceFunctional::calculate_first_order_Taylor_approximation ( const Vector< double > &  parameters  )  const

This method returns the Taylor approximation of the performance function at some point near the parameters. The order of the approximation here is one, i.e., both the performance value and the performance gradient are used.

Parameters:
parameters Approximation point.

Definition at line 2239 of file performance_functional.cpp.

double OpenNN::PerformanceFunctional::calculate_second_order_Taylor_approximation ( const Vector< double > &  parameters  )  const

This method returns the Taylor approximation of the performance function at some point near the parameters. The order of the approximation here is two, i.e., the performance value, the performance gradient and the performance Hessian are used.

Parameters:
parameters Approximation point.

Definition at line 2278 of file performance_functional.cpp.

double OpenNN::PerformanceFunctional::calculate_directional_performance ( const Vector< double > &  direction,
double  rate 
)

This method returns the value of the performance function at some step along some direction.

Parameters:
direction Direction vector.
rate Step value.

Definition at line 2325 of file performance_functional.cpp.

double OpenNN::PerformanceFunctional::calculate_directional_performance_derivative ( const Vector< double > &  direction,
double  rate 
)

This method returns the derivative of the performance function at some step along some direction.

Parameters:
direction Direction vector.
rate Step value.

Definition at line 2337 of file performance_functional.cpp.

double OpenNN::PerformanceFunctional::calculate_directional_performance_second_derivative ( const Vector< double > &  direction,
double  rate 
)

This method returns the second derivative of the performance function at some step along some direction.

Parameters:
direction Direction vector.
rate Step value.

Definition at line 2353 of file performance_functional.cpp.

TiXmlElement * OpenNN::PerformanceFunctional::to_XML ( void   )  const [virtual]

This method serializes a default performance functional object into a XML element of the TinyXML library. See the OpenNN manual for more information about the format of this element.

Definition at line 2368 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::from_XML ( TiXmlElement *  performance_functional_element  )  [virtual]

This method sets the performance functional member data from an XML element.

Parameters:
performance_functional_element Pointer to a TinyXML element with the performance functional data.

Definition at line 2490 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::print ( void   )  const [virtual]

This method prints the members of the performance functional object to the screen in XML-type format.

Definition at line 2635 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::save ( const std::string &  filename  )  const [virtual]

This method saves to a XML-type file a string representation of the performance functional object.

Parameters:
filename Name of XML-type performance functional file.

Definition at line 2645 of file performance_functional.cpp.

void OpenNN::PerformanceFunctional::load ( const std::string &  filename  )  [virtual]

This method loads a default performance functional XML-type file.

Parameters:
filename Name of default XML-type performance functional file.

Definition at line 2668 of file performance_functional.cpp.

std::string OpenNN::PerformanceFunctional::write_information ( void   )  [virtual]

This method returns any useful information about the objective function during training. By default it is an empty string.

Definition at line 2705 of file performance_functional.cpp.


The documentation for this class was generated from the following files:

Generated on Sun Aug 26 11:58:19 2012 for OpenNN by  doxygen 1.5.9