OpenNN
2.2
Open Neural Networks Library
|
#include <outputs_integrals.h>
Private Attributes | |
NumericalIntegration | numerical_integration |
Vector< double > | outputs_integrals_weights |
Additional Inherited Members | |
Protected Attributes inherited from OpenNN::PerformanceTerm | |
NeuralNetwork * | neural_network_pointer |
DataSet * | data_set_pointer |
MathematicalModel * | mathematical_model_pointer |
NumericalDifferentiation * | numerical_differentiation_pointer |
bool | display |
This class represents the outputs integrals performance term. It is defined as the weighted sum of the integrals of the neural network outputs. The neural network here must have only one input. This performance term might be used in optimal control as an objective or a regularization terms.
Definition at line 43 of file outputs_integrals.h.
|
explicit |
Default constructor. It creates an outputs integrals performance term not associated to any neural network. It also initializes all the rest of class members to their default values.
Definition at line 27 of file outputs_integrals.cpp.
|
explicit |
Neural network constructor. It creates an outputs integrals performance term associated to a neural network. It also initializes all the rest of class members to their default values.
new_neural_network_pointer | Pointer to a neural network object. |
Definition at line 41 of file outputs_integrals.cpp.
|
explicit |
XML constructor. It creates an outputs integrals performance term not associated to any neural network. The class members are loaded from a XML document.
outputs_integrals_document | Pointer to a TinyXML document with the object data. |
Definition at line 55 of file outputs_integrals.cpp.
|
virtual |
Calculates the objective gradient by means of the back-propagation algorithm, and returns it in a single vector of size the number of multilayer perceptron parameters.
Reimplemented from OpenNN::PerformanceTerm.
Definition at line 340 of file outputs_integrals.cpp.
|
virtual |
Calculates the objective Hessian by means of the back-propagation algorithm, and returns it in a single symmetric matrix of size the number of multilayer perceptron parameters.
Reimplemented from OpenNN::PerformanceTerm.
Definition at line 362 of file outputs_integrals.cpp.
|
virtual |
Returns the objective value of a multilayer perceptron according to the sum squared error on a data set.
Implements OpenNN::PerformanceTerm.
Definition at line 239 of file outputs_integrals.cpp.
|
virtual |
Returns which would be the performance of a neural network for an hypothetical vector of parameters. It does not set that vector of parameters to the neural network.
Implements OpenNN::PerformanceTerm.
Definition at line 284 of file outputs_integrals.cpp.
|
virtual |
Checks that there are a neural network and a mathematical model associated to the outputs integrals performance term, and that there is a multilayer perceptron in the neural network. It also checks that the number of inputs in the neural network is 1. If some of the above conditions is not hold, the method throws an exception.
Reimplemented from OpenNN::PerformanceTerm.
Definition at line 185 of file outputs_integrals.cpp.
|
virtual |
Loads an outputs integrals object from a XML document.
document | TinyXML document containing the members of this object. |
Reimplemented from OpenNN::PerformanceTerm.
Definition at line 445 of file outputs_integrals.cpp.
const double & OpenNN::OutputsIntegrals::get_output_integral_weight | ( | const size_t & | i | ) | const |
Returns the weight of a single integral of some neural network output.
i | Index of neural network output. |
Definition at line 108 of file outputs_integrals.cpp.
|
virtual |
Sets the default values for the outputs integrals object:
Reimplemented from OpenNN::PerformanceTerm.
Definition at line 156 of file outputs_integrals.cpp.
void OpenNN::OutputsIntegrals::set_numerical_integration | ( | const NumericalIntegration & | new_numerical_integration | ) |
Sets a new numerical integration object inside the outputs integral object.
new_numerical_integration | Numerical integration object. |
Definition at line 119 of file outputs_integrals.cpp.
void OpenNN::OutputsIntegrals::set_output_integral_weight | ( | const size_t & | i, |
const double & | new_output_integral_weight | ||
) |
Sets a new weight for a single integral of the neural network outputs.
i | Index of output. |
new_output_integral_weight | Weight value. |
Definition at line 142 of file outputs_integrals.cpp.
void OpenNN::OutputsIntegrals::set_outputs_integrals_weights | ( | const Vector< double > & | new_outputs_integrals_weights | ) |
Sets new weights for each integral of the neural network outputs.
new_outputs_integrals_weights | Weight values. |
Definition at line 130 of file outputs_integrals.cpp.