OpenNN  2.2
Open Neural Networks Library
Public Types | Public Member Functions | Private Attributes | List of all members
OpenNN::InverseSumSquaredError Class Reference

#include <inverse_sum_squared_error.h>

Inheritance diagram for OpenNN::InverseSumSquaredError:
OpenNN::PerformanceTerm

Public Types

enum  UnknownsMethod { LookUpTable, IndependentParametersValues }
 

Public Member Functions

 InverseSumSquaredError (void)
 
 InverseSumSquaredError (NeuralNetwork *)
 
 InverseSumSquaredError (NeuralNetwork *, MathematicalModel *, DataSet *)
 
 InverseSumSquaredError (const tinyxml2::XMLDocument &)
 
virtual ~InverseSumSquaredError (void)
 
const UnknownsMethodget_unknowns_method (void) const
 
std::string write_unknowns_method (void) const
 
void set_unknowns_method (const UnknownsMethod &)
 
void set_unknowns_method (const std::string &)
 
void set_default (void)
 
void check (void) const
 
double calculate_performance (void) const
 
double calculate_performance (const Vector< double > &) const
 
double calculate_generalization_performance (void) const
 
std::string write_performance_term_type (void) const
 
tinyxml2::XMLDocument * to_XML (void) const
 
void from_XML (const tinyxml2::XMLDocument &)
 
- Public Member Functions inherited from OpenNN::PerformanceTerm
 PerformanceTerm (void)
 
 PerformanceTerm (NeuralNetwork *)
 
 PerformanceTerm (DataSet *)
 
 PerformanceTerm (MathematicalModel *)
 
 PerformanceTerm (NeuralNetwork *, DataSet *)
 
 PerformanceTerm (NeuralNetwork *, MathematicalModel *)
 
 PerformanceTerm (NeuralNetwork *, MathematicalModel *, DataSet *)
 
 PerformanceTerm (const tinyxml2::XMLDocument &)
 
 PerformanceTerm (const PerformanceTerm &)
 
virtual ~PerformanceTerm (void)
 
virtual PerformanceTermoperator= (const PerformanceTerm &)
 
virtual bool operator== (const PerformanceTerm &) const
 
NeuralNetworkget_neural_network_pointer (void) const
 
MathematicalModelget_mathemtaical_model_pointer (void) const
 
DataSetget_data_set_pointer (void) const
 
NumericalDifferentiationget_numerical_differentiation_pointer (void) const
 
const bool & get_display (void) const
 
bool has_neural_network (void) const
 
bool has_mathematical_model (void) const
 
bool has_data_set (void) const
 
bool has_numerical_differentiation (void) const
 
virtual void set (void)
 
virtual void set (NeuralNetwork *)
 
virtual void set (DataSet *)
 
virtual void set (MathematicalModel *)
 
virtual void set (NeuralNetwork *, DataSet *)
 
virtual void set (NeuralNetwork *, MathematicalModel *)
 
virtual void set (NeuralNetwork *, MathematicalModel *, DataSet *)
 
void set (const PerformanceTerm &)
 
virtual void set_neural_network_pointer (NeuralNetwork *)
 
virtual void set_mathematical_model_pointer (MathematicalModel *)
 
virtual void set_data_set_pointer (DataSet *)
 
void set_numerical_differentiation_pointer (NumericalDifferentiation *)
 
void set_display (const bool &)
 
void construct_numerical_differentiation (void)
 
void delete_numerical_differentiation_pointer (void)
 
Vector< Vector< double > > calculate_layers_delta (const Vector< Vector< double > > &, const Vector< double > &) const
 
Vector< Vector< double > > calculate_layers_delta (const Vector< Vector< double > > &, const Vector< double > &, const Vector< double > &) const
 
Matrix< Matrix< double > > calculate_interlayers_Delta (const Vector< Vector< double > > &, const Vector< Vector< double > > &, const Matrix< Matrix< double > > &, const Vector< double > &, const Matrix< double > &, const Vector< Vector< double > > &) const
 
Vector< double > calculate_point_gradient (const Vector< double > &, const Vector< Vector< double > > &, const Vector< Vector< double > > &) const
 
Vector< double > calculate_point_gradient (const Vector< Matrix< double > > &, const Vector< Vector< double > > &) const
 
Matrix< double > calculate_point_Hessian (const Vector< Vector< double > > &, const Vector< Vector< Vector< double > > > &, const Matrix< Matrix< double > > &, const Vector< Vector< double > > &, const Matrix< Matrix< double > > &) const
 
virtual Vector< double > calculate_gradient (void) const
 
virtual Vector< double > calculate_gradient (const Vector< double > &) const
 
virtual Matrix< double > calculate_Hessian (void) const
 
virtual Matrix< double > calculate_Hessian (const Vector< double > &) const
 
virtual Vector< double > calculate_terms (void) const
 
virtual Vector< double > calculate_terms (const Vector< double > &) const
 
virtual Matrix< double > calculate_terms_Jacobian (void) const
 
virtual PerformanceTerm::FirstOrderTerms calculate_first_order_terms (void) const
 
virtual std::string write_information (void) const
 
virtual std::string to_string (void) const
 
size_t calculate_Kronecker_delta (const size_t &, const size_t &) const
 

Private Attributes

UnknownsMethod unknowns_method
 

Additional Inherited Members

- Protected Attributes inherited from OpenNN::PerformanceTerm
NeuralNetworkneural_network_pointer
 
DataSetdata_set_pointer
 
MathematicalModelmathematical_model_pointer
 
NumericalDifferentiationnumerical_differentiation_pointer
 
bool display
 

Detailed Description

This class represents the concept of sum squared error for inverse problems. It measures the difference between the outputs from a mathematical model and the targets in a data set. This performance term is used in inverse problems.

Definition at line 39 of file inverse_sum_squared_error.h.

Constructor & Destructor Documentation

OpenNN::InverseSumSquaredError::InverseSumSquaredError ( void  )
explicit

Default constructor. It creates an inverse sum squared error performance term not associated to any neural network and not measured on any mathematical model and data set. It also initializes all the rest of class members to their default values.

Definition at line 29 of file inverse_sum_squared_error.cpp.

OpenNN::InverseSumSquaredError::InverseSumSquaredError ( NeuralNetwork new_neural_network_pointer)
explicit

Neural network constructor. It creates an inverse sum squared error associated to a neural network but neither measured on a mathematical model nor on a data set. It also initializes all the rest of class members to their default values.

Parameters
new_neural_network_pointerPointer to a neural network object.

Definition at line 43 of file inverse_sum_squared_error.cpp.

OpenNN::InverseSumSquaredError::InverseSumSquaredError ( 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 an inverse sum squared error associated to a neural network and measured on a mathematical model and a data set. It also initializes all the rest of class members to their default values.

Parameters
new_neural_network_pointerPointer to a neural network object.
new_mathematical_model_pointerPointer to a mathematical model object.
new_data_set_pointerPointer to a data set object.

Definition at line 61 of file inverse_sum_squared_error.cpp.

OpenNN::InverseSumSquaredError::InverseSumSquaredError ( const tinyxml2::XMLDocument &  inverse_sum_squared_error_document)
explicit

XML constructor. It creates an inverse sum squared error performance term not associated to any neural network and not measured on any mathematical model and data set. It initializes all the member data from a XML document.

Parameters
inverse_sum_squared_error_documentPointer to a TinyXML document containing the inverse sum squared error data.

Definition at line 77 of file inverse_sum_squared_error.cpp.

OpenNN::InverseSumSquaredError::~InverseSumSquaredError ( void  )
virtual

Destructor. It does not delete any object.

Definition at line 91 of file inverse_sum_squared_error.cpp.

Member Function Documentation

double OpenNN::InverseSumSquaredError::calculate_generalization_performance ( void  ) const
virtual
Todo:

Reimplemented from OpenNN::PerformanceTerm.

Definition at line 353 of file inverse_sum_squared_error.cpp.

double OpenNN::InverseSumSquaredError::calculate_performance ( void  ) const
virtual
Todo:

Implements OpenNN::PerformanceTerm.

Definition at line 281 of file inverse_sum_squared_error.cpp.

void OpenNN::InverseSumSquaredError::check ( void  ) const
virtual

Checks that there are a neural network, a mathemacial model and a data set associated to the inverse sum squared error. If some of the above conditions is not hold, the method throws an exception.

Reimplemented from OpenNN::PerformanceTerm.

Definition at line 203 of file inverse_sum_squared_error.cpp.

void OpenNN::InverseSumSquaredError::from_XML ( const tinyxml2::XMLDocument &  )
virtual
Todo:

Reimplemented from OpenNN::PerformanceTerm.

Definition at line 495 of file inverse_sum_squared_error.cpp.

void OpenNN::InverseSumSquaredError::set_default ( void  )
virtual

Sets the default values of the inverse sum squared error:

  • Unknowns method: Independent parameters values.
  • Display: true.

Reimplemented from OpenNN::PerformanceTerm.

Definition at line 190 of file inverse_sum_squared_error.cpp.

void OpenNN::InverseSumSquaredError::set_unknowns_method ( const UnknownsMethod new_unknowns_method)

This sets a new the method for entering the unknown values or functions into the mathematical model.

Parameters
new_unknowns_methodUnknowns method (independent parameters, look-up table, ...).

Definition at line 148 of file inverse_sum_squared_error.cpp.

void OpenNN::InverseSumSquaredError::set_unknowns_method ( const std::string &  new_unknowns_method)

This sets a new the method for entering the unknown values or functions into the mathematical model.

Parameters
new_unknowns_methodString with the name of the unknowns method (independent parameters, look-up table, ...).

Definition at line 159 of file inverse_sum_squared_error.cpp.

tinyxml2::XMLDocument * OpenNN::InverseSumSquaredError::to_XML ( void  ) const
virtual

Serializes the inverse sum squared error object into a XML document of the TinyXML library. See the OpenNN manual for more information about the format of this document->

Reimplemented from OpenNN::PerformanceTerm.

Definition at line 444 of file inverse_sum_squared_error.cpp.


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