Flood::MultilayerPerceptron Class Reference

This class represents the concept of multilayer perceptron neural network.

#include <MultilayerPerceptron.h>

List of all members.

Public Types

enum  LayerActivationFunction {
  Logistic, HyperbolicTangent, Threshold, SymmetricThreshold,
  Linear
}
enum  ScalingMethod { None, MeanStandardDeviation, MinimumMaximum }
enum  NumericalEpsilonMethod { Absolute, Relative }
enum  NumericalDifferentiationMethod { ForwardDifferences, CentralDifferences }

Public Member Functions

 MultilayerPerceptron (void)
 MultilayerPerceptron (int, const Vector< int > &, int)
 MultilayerPerceptron (int, int, int)
 MultilayerPerceptron (int)
 MultilayerPerceptron (const char *)
 MultilayerPerceptron (const MultilayerPerceptron &)
virtual ~MultilayerPerceptron (void)
MultilayerPerceptronoperator= (const MultilayerPerceptron &)
int get_inputs_number (void)
int get_hidden_layers_number (void)
Vector< int > & get_hidden_layers_size (void)
int get_hidden_layer_size (int i)
int get_outputs_number (void)
int get_hidden_layer_inputs_number (int)
int get_output_layer_inputs_number (void)
Vector< Vector< Perceptron > > & get_hidden_layers (void)
Vector< Perceptron > & get_hidden_layer (int)
Vector< Perceptron > & get_output_layer (void)
int get_neural_parameters_number (void)
int get_hidden_layers_parameters_number (void)
int get_hidden_layer_parameters_number (int)
int get_output_layer_parameters_number (void)
Vector< double > get_neural_parameters (void)
Vector< Vector< double > > get_hidden_layers_biases (void)
Vector< double > get_hidden_layer_biases (int)
Vector< Matrix< double > > get_hidden_layers_synaptic_weights (void)
Matrix< double > get_hidden_layer_synaptic_weights (int)
Vector< Matrix< double > > get_hidden_layers_parameters (void)
Matrix< double > get_hidden_layer_parameters (int)
Vector< double > get_output_layer_biases (void)
Matrix< double > get_output_layer_synaptic_weights (void)
Matrix< double > get_output_layer_parameters (void)
int get_hidden_layer_bias_index (int, int)
int get_hidden_layer_synaptic_weight_index (int, int, int)
int get_output_layer_bias_index (int)
int get_output_layer_synaptic_weight_index (int, int)
Vector< LayerActivationFunction > & get_hidden_layers_activation_function (void)
Vector< std::string > get_hidden_layers_activation_function_name (void)
LayerActivationFunctionget_hidden_layer_activation_function (int)
std::string get_hidden_layer_activation_function_name (int)
LayerActivationFunctionget_output_layer_activation_function (void)
std::string get_output_layer_activation_function_name (void)
ScalingMethodget_inputs_scaling_method (void)
std::string get_inputs_scaling_method_name (void)
ScalingMethodget_outputs_unscaling_method (void)
std::string get_outputs_unscaling_method_name (void)
Vector< std::string > & get_input_variables_name (void)
std::string & get_input_variable_name (int)
Vector< std::string > & get_input_variables_units (void)
std::string & get_input_variable_units (int)
Vector< std::string > & get_input_variables_description (void)
std::string & get_input_variable_description (int)
Vector< std::string > & get_output_variables_name (void)
std::string & get_output_variable_name (int)
Vector< std::string > & get_output_variables_units (void)
std::string & get_output_variable_units (int)
Vector< std::string > & get_output_variables_description (void)
std::string & get_output_variable_description (int)
Vector< Vector< std::string > * > get_variables_information (void)
Vector< double > & get_input_variables_mean (void)
double get_input_variable_mean (int)
Vector< double > & get_input_variables_standard_deviation (void)
double get_input_variable_standard_deviation (int)
Vector< double > & get_input_variables_minimum (void)
double get_input_variable_minimum (int)
Vector< double > & get_input_variables_maximum (void)
double get_input_variable_maximum (int)
Vector< Vector< double > * > get_input_variables_mean_standard_deviation (void)
Vector< Vector< double > * > get_input_variables_minimum_maximum (void)
Vector< double > & get_output_variables_mean (void)
double get_output_variable_mean (int)
Vector< double > & get_output_variables_standard_deviation (void)
double get_output_variable_standard_deviation (int)
Vector< double > & get_output_variables_minimum (void)
double get_output_variable_minimum (int)
Vector< double > & get_output_variables_maximum (void)
double get_output_variable_maximum (int)
Vector< Vector< double > * > get_output_variables_mean_standard_deviation (void)
Vector< Vector< double > * > get_output_variables_minimum_maximum (void)
Vector< Vector< double > * > get_variables_statistics (void)
Vector< double > & get_output_variables_lower_bound (void)
double get_output_variables_lower_bound (int)
Vector< double > & get_output_variables_upper_bound (void)
double get_output_variable_upper_bound (int)
Vector< Vector< double > * > get_output_variables_bounds (void)
int get_independent_parameters_number (void)
Vector< double > & get_independent_parameters (void)
double get_independent_parameter (int)
ScalingMethodget_independent_parameters_scaling_method (void)
std::string get_independent_parameters_scaling_method_name (void)
Vector< std::string > & get_independent_parameters_name (void)
std::string & get_independent_parameter_name (int)
Vector< std::string > & get_independent_parameters_units (void)
std::string & get_independent_parameter_units (int)
Vector< std::string > & get_independent_parameters_description (void)
std::string & get_independent_parameter_description (int)
Vector< Vector< std::string > * > get_independent_parameters_information (void)
Vector< double > & get_independent_parameters_mean (void)
double get_independent_parameter_mean (int)
Vector< double > & get_independent_parameters_standard_deviation (void)
double get_independent_parameter_standard_deviation (int)
Vector< double > & get_independent_parameters_minimum (void)
double get_independent_parameter_minimum (int)
Vector< double > & get_independent_parameters_maximum (void)
double get_independent_parameter_maximum (int)
Vector< Vector< double > * > get_independent_parameters_mean_standard_deviation (void)
Vector< Vector< double > * > get_independent_parameters_minimum_maximum (void)
Vector< Vector< double > * > get_independent_parameters_statistics (void)
Vector< double > & get_independent_parameters_lower_bound (void)
double get_independent_parameter_lower_bound (int)
Vector< double > & get_independent_parameters_upper_bound (void)
double get_independent_parameter_upper_bound (int)
Vector< Vector< double > * > get_independent_parameters_bounds (void)
int get_parameters_number (void)
Vector< double > get_parameters (void)
NumericalDifferentiationMethodget_numerical_differentiation_method (void)
std::string get_numerical_differentiation_method_name (void)
NumericalEpsilonMethodget_numerical_epsilon_method (void)
std::string get_numerical_epsilon_method_name (void)
double get_numerical_epsilon (void)
bool get_display_range_out_warning (void)
bool get_display (void)
void set (void)
void set (int, const Vector< int > &, int)
void set (int, int, int)
void set (int)
void set (const char *)
void set (const MultilayerPerceptron &)
void set_default (void)
void set_network_architecture (int, const Vector< int > &, int)
void set_network_architecture (int, int, int)
void set_hidden_layers_size (const Vector< int > &)
void set_hidden_layer_size (int)
void set_neural_parameters (const Vector< double > &)
void set_hidden_layers_biases (const Vector< Vector< double > > &)
void set_hidden_layer_biases (int, const Vector< double > &)
void set_hidden_layers_synaptic_weights (const Vector< Matrix< double > > &)
void set_hidden_layer_synaptic_weights (int, const Matrix< double > &)
void set_hidden_layers_parameters (const Vector< Matrix< double > > &)
void set_hidden_layer_parameters (int, const Matrix< double > &)
void set_output_layer_biases (const Vector< double > &)
void set_output_layer_synaptic_weights (const Matrix< double > &)
void set_output_layer_parameters (const Matrix< double > &)
void set_hidden_layers_activation_function (const Vector< LayerActivationFunction > &)
void set_hidden_layer_activation_function (int, const LayerActivationFunction &)
void set_output_layer_activation_function (const LayerActivationFunction &)
void set_hidden_layers_activation_function (const Vector< std::string > &)
void set_hidden_layer_activation_function (int, const std::string &)
void set_output_layer_activation_function (const std::string &)
void set_inputs_scaling_method (const ScalingMethod &)
void set_outputs_unscaling_method (const ScalingMethod &)
void set_variables_scaling_method (const ScalingMethod &)
void set_inputs_scaling_method (const std::string &)
void set_outputs_unscaling_method (const std::string &)
void set_input_variables_name (const Vector< std::string > &)
void set_input_variable_name (int, const std::string &)
void set_input_variables_units (const Vector< std::string > &)
void set_input_variable_units (int, const std::string &)
void set_input_variables_description (const Vector< std::string > &)
void set_input_variable_description (int, const std::string &)
void set_output_variables_name (const Vector< std::string > &)
void set_output_variable_name (int, const std::string &)
void set_output_variables_units (const Vector< std::string > &)
void set_output_variable_units (int, const std::string &)
void set_output_variables_description (const Vector< std::string > &)
void set_output_variable_description (int, const std::string &)
void set_variables_information (const Vector< Vector< std::string > > &)
void set_input_variables_mean (const Vector< double > &)
void set_input_variable_mean (int, double)
void set_input_variables_standard_deviation (const Vector< double > &)
void set_input_variable_standard_deviation (int, double)
void set_input_variables_minimum (const Vector< double > &)
void set_input_variable_minimum (int, double)
void set_input_variables_maximum (const Vector< double > &)
void set_input_variable_maximum (int, double)
void set_input_variables_mean_standard_deviation (const Vector< Vector< double > > &)
void set_input_variables_minimum_maximum (const Vector< Vector< double > > &)
void set_output_variables_mean (const Vector< double > &)
void set_output_variable_mean (int, double)
void set_output_variables_standard_deviation (const Vector< double > &)
void set_output_variable_standard_deviation (int, double)
void set_output_variables_minimum (const Vector< double > &)
void set_output_variable_minimum (int, double)
void set_output_variables_maximum (const Vector< double > &)
void set_output_variable_maximum (int, double)
void set_output_variables_mean_standard_deviation (const Vector< Vector< double > > &)
void set_output_variables_minimum_maximum (const Vector< Vector< double > > &)
void set_variables_statistics (const Vector< Vector< double > > &)
void set_output_variables_lower_bound (const Vector< double > &)
void set_output_variable_lower_bound (int, double)
void set_output_variables_upper_bound (const Vector< double > &)
void set_output_variable_upper_bound (int, double)
void set_output_variables_bounds (const Vector< Vector< double > > &)
void set_independent_parameters_number (int)
void set_independent_parameters (const Vector< double > &)
void set_independent_parameter (int, double)
void set_independent_parameters_scaling_method (const ScalingMethod &)
void set_independent_parameters_scaling_method (const std::string &)
void set_independent_parameters_name (const Vector< std::string > &)
void set_independent_parameter_name (int, const std::string &)
void set_independent_parameters_units (const Vector< std::string > &)
void set_independent_parameter_units (int, const std::string &)
void set_independent_parameters_description (const Vector< std::string > &)
void set_independent_parameter_description (int, const std::string &)
void set_independent_parameters_mean (const Vector< double > &)
void set_independent_parameter_mean (int, double)
void set_independent_parameters_standard_deviation (const Vector< double > &)
void set_independent_parameter_standard_deviation (int, double)
void set_independent_parameters_minimum (const Vector< double > &)
void set_independent_parameter_minimum (int, double)
void set_independent_parameters_maximum (const Vector< double > &)
void set_independent_parameter_maximum (int, double)
void set_independent_parameters_mean_standard_deviation (const Vector< Vector< double > > &)
void set_independent_parameters_minimum_maximum (const Vector< Vector< double > > &)
void set_independent_parameters_statistics (const Vector< Vector< double > > &)
void set_independent_parameters_lower_bound (const Vector< double > &)
void set_independent_parameter_lower_bound (int, double)
void set_independent_parameters_upper_bound (const Vector< double > &)
void set_independent_parameter_upper_bound (int, double)
void set_independent_parameters_bounds (const Vector< Vector< double > > &)
void set_parameters (const Vector< double > &)
void set_scaling_method (const ScalingMethod &)
void set_numerical_differentiation_method (const NumericalDifferentiationMethod &)
void set_numerical_differentiation_method (const std::string &)
void set_numerical_epsilon_method (const NumericalEpsilonMethod &)
void set_numerical_epsilon_method (const std::string &)
void set_numerical_epsilon (double)
void set_display_range_out_warning (bool)
void set_display (bool)
void initialize_neural_parameters (double)
void initialize_biases (double)
void initialize_synaptic_weights (double)
void initialize_neural_parameters_uniform (void)
void initialize_neural_parameters_uniform (double, double)
void initialize_neural_parameters_uniform (const Vector< double > &, const Vector< double > &)
void initialize_neural_parameters_uniform (const Vector< Vector< double > > &)
void initialize_neural_parameters_normal (void)
void initialize_neural_parameters_normal (double, double)
void initialize_neural_parameters_normal (const Vector< double > &, const Vector< double > &)
void initialize_neural_parameters_normal (const Vector< Vector< double > > &)
void initialize_independent_parameters (double)
void initialize_independent_parameters_uniform (void)
void initialize_independent_parameters_uniform (double, double)
void initialize_independent_parameters_uniform (const Vector< double > &, const Vector< double > &)
void initialize_independent_parameters_uniform (const Vector< Vector< double > > &)
void initialize_independent_parameters_normal (void)
void initialize_independent_parameters_normal (double, double)
void initialize_independent_parameters_normal (const Vector< double > &, const Vector< double > &)
void initialize_independent_parameters_normal (const Vector< Vector< double > > &)
void initialize_parameters (double)
void initialize_parameters_uniform (void)
void initialize_parameters_uniform (double, double)
void initialize_parameters_uniform (const Vector< double > &, const Vector< double > &)
void initialize_parameters_uniform (const Vector< Vector< double > > &)
void initialize_parameters_normal (void)
void initialize_parameters_normal (double, double)
void initialize_parameters_normal (const Vector< double > &, const Vector< double > &)
void initialize_parameters_normal (const Vector< Vector< double > > &)
double calculate_neural_parameters_norm (void)
double calculate_independent_parameters_norm (void)
double calculate_parameters_norm (void)
Vector< double > calculate_output (const Vector< double > &)
Matrix< double > calculate_output_matrix (const Matrix< double > &)
Vector< Vector< double > > calculate_forward_propagation (const Vector< double > &)
Vector< Vector< double > > calculate_forward_propagation_derivative (const Vector< double > &)
Vector< Vector< double > > calculate_forward_propagation_second_derivative (const Vector< double > &)
void check_input_range (const Vector< double > &)
Vector< double > calculate_scaled_input (const Vector< double > &)
Vector< double > calculate_hidden_layer_combination (int, const Vector< double > &)
Vector< double > calculate_hidden_layer_activation (int, const Vector< double > &)
Vector< double > calculate_hidden_layer_activation_derivative (int, const Vector< double > &)
Vector< double > calculate_hidden_layer_activation_second_derivative (int, const Vector< double > &)
Vector< double > calculate_hidden_layer_output (int, const Vector< double > &)
Vector< double > calculate_output_layer_combination (const Vector< double > &)
Vector< double > calculate_output_layer_activation (const Vector< double > &)
Vector< double > calculate_output_layer_activation_derivative (const Vector< double > &)
Vector< double > calculate_output_layer_activation_second_derivative (const Vector< double > &)
Vector< double > calculate_output_layer_output (const Vector< double > &)
Vector< double > calculate_unscaled_output (const Vector< double > &)
Vector< double > calculate_bounded_output (const Vector< double > &)
Matrix< double > calculate_Jacobian (const Vector< double > &)
Vector< Matrix< double > > calculate_Jacobian_vector (const Matrix< double > &)
Matrix< double > calculate_hidden_layer_Jacobian (int, const Vector< double > &)
Matrix< double > calculate_output_layer_Jacobian (const Vector< double > &)
Matrix< double > calculate_Jacobian_numerical_differentiation (const Vector< double > &)
Matrix< double > calculate_Jacobian_forward_differences (const Vector< double > &)
Matrix< double > calculate_Jacobian_central_differences (const Vector< double > &)
Matrix< double > calculate_sensitivity (const Vector< double > &)
Vector< Matrix< double > > calculate_sensitivity_vector (const Matrix< double > &)
Matrix< double > calculate_sensitivity_numerical_differentiation (const Vector< double > &)
Matrix< double > calculate_sensitivity_forward_differences (const Vector< double > &)
Matrix< double > calculate_sensitivity_central_differences (const Vector< double > &)
Vector< double > scale_independent_parameters (void)
void unscale_independent_parameters (const Vector< double > &)
void bound_independent_parameters (void)
void bound_independent_parameter (int)
double calculate_actual_epsilon (double)
std::string get_expression (void)
Vector< std::string > get_inputs_name_expression (void)
Vector< std::string > get_scaled_inputs_name_expression (void)
Vector< std::string > get_hidden_layer_inputs_name_expression (int)
Vector< std::string > get_hidden_layer_outputs_name_expression (int)
Vector< std::string > get_output_layer_inputs_name_expression (void)
Vector< std::string > get_scaled_outputs_name_expression (void)
Vector< std::string > get_outputs_name_expression (void)
std::string get_hidden_layer_activation_function_expression (int)
std::string get_output_layer_activation_function_expression (void)
std::string get_hidden_layer_expression (int)
std::string get_output_layer_expression (void)
std::string get_forward_propagation_expression (void)
std::string get_inputs_scaling_expression (void)
std::string get_outputs_unscaling_expression (void)
void save_expression (const char *)
std::string get_Hinton_diagram (void)
void save_Hinton_diagram (const char *)
std::string to_XML (bool)
void print (void)
void save (const char *)
void load (const char *)
template<class BoundaryConditionsType >
Vector< double > calculate_output (const Vector< double > &input, BoundaryConditionsType &boundary_conditions)
template<class BoundaryConditionsType >
Matrix< double > calculate_Jacobian (const Vector< double > &input, BoundaryConditionsType &boundary_conditions)

Protected Attributes

int inputs_number
Vector< int > hidden_layers_size
int outputs_number
Vector< Vector< Perceptron > > hidden_layers
Vector< Perceptronoutput_layer
Vector< LayerActivationFunctionhidden_layers_activation_function
LayerActivationFunction output_layer_activation_function
ScalingMethod inputs_scaling_method
ScalingMethod outputs_unscaling_method
Vector< std::string > input_variables_name
Vector< std::string > input_variables_units
Vector< std::string > input_variables_description
Vector< std::string > output_variables_name
Vector< std::string > output_variables_units
Vector< std::string > output_variables_description
Vector< double > input_variables_mean
Vector< double > input_variables_standard_deviation
Vector< double > input_variables_minimum
Vector< double > input_variables_maximum
Vector< double > output_variables_mean
Vector< double > output_variables_standard_deviation
Vector< double > output_variables_minimum
Vector< double > output_variables_maximum
Vector< double > output_variables_lower_bound
Vector< double > output_variables_upper_bound
Vector< double > independent_parameters
ScalingMethod independent_parameters_scaling_method
Vector< std::string > independent_parameters_name
Vector< std::string > independent_parameters_units
Vector< std::string > independent_parameters_description
Vector< double > independent_parameters_mean
Vector< double > independent_parameters_standard_deviation
Vector< double > independent_parameters_minimum
Vector< double > independent_parameters_maximum
Vector< double > independent_parameters_lower_bound
Vector< double > independent_parameters_upper_bound
NumericalDifferentiationMethod numerical_differentiation_method
NumericalEpsilonMethod numerical_epsilon_method
double numerical_epsilon
bool display_range_out_warning
bool display


Detailed Description

Definition at line 31 of file MultilayerPerceptron.h.


Member Enumeration Documentation

Enumeration of available activation functions for the hidden and the output layers.

Definition at line 72 of file MultilayerPerceptron.h.

Enumeration of available methods for calculating the Jacobian matrix of the multilayer perceptron numerically.

Definition at line 84 of file MultilayerPerceptron.h.

Enumeration of available methods for obtaining a numerical value of epsilon to be used in numerical differentiation.

Definition at line 80 of file MultilayerPerceptron.h.

Enumeration of available methods for input variables, output variables and independent parameters scaling.

Definition at line 76 of file MultilayerPerceptron.h.


Constructor & Destructor Documentation

Flood::MultilayerPerceptron::MultilayerPerceptron ( void   )  [explicit]

Default constructor. It creates a multilayer perceptron object with empty network architecture and zero independent parameters.

Definition at line 141 of file MultilayerPerceptron.cpp.

Flood::MultilayerPerceptron::MultilayerPerceptron ( int  new_inputs_number,
const Vector< int > &  new_hidden_layers_size,
int  new_outputs_number 
) [explicit]

General constructor. It creates a multilayer perceptron object with an arbitrary number of hidden layers and one output layer of perceptrons. The number of independent parameters is set to zero. The neural parameters are initialized at random. This constructor also initializes the rest of class members to their default values:

  • Hidden layers activation function: Hyperbolic tangent.
  • Output layer activation function: Linear.
  • Inputs scaling method: None.
  • Outputs unscaling method: None.
Parameters:
new_inputs_number Number of inputs in the neural network.
new_hidden_layers_size Numbers of neurons in each hidden layer. The number of hidden layers in the neural network is the size of this vector.
new_outputs_number Number of output neurons in the neural network.

Definition at line 46 of file MultilayerPerceptron.cpp.

Flood::MultilayerPerceptron::MultilayerPerceptron ( int  new_inputs_number,
int  new_hidden_layer_size,
int  new_outputs_number 
) [explicit]

One hidden layer constructor. It creates a multilayer perceptron object with a single hidden layer of perceptrons and an output layer of perceptrons. The number of independent parameters is set to zero. The neural parameters are initialized at random. This constructor also initializes the rest of class members to their default values:

  • Hidden layers activation function: Hyperbolic tangent.
  • Output layer activation function: Linear.
  • Inputs scaling method: None.
  • Outputs unscaling method: None.
Parameters:
new_inputs_number Number of inputs in the neural network.
new_hidden_layer_size Number of neurons in the single hidden layer of the neural network.
new_outputs_number Number of output neurons in the neural network.

Definition at line 78 of file MultilayerPerceptron.cpp.

Flood::MultilayerPerceptron::MultilayerPerceptron ( int  new_independent_parameters_number  )  [explicit]

Independent parameters constructor. It creates a multilayer perceptron without network architecture and a given number of independent parameters. The independent parameters are initialized at random. This constructor also initializes the rest of class members to their default values:

  • Independent parameters scaling and unscaling method: None.
Parameters:
new_independent_parameters_number Number of independent parameters associated to the neural network.

Definition at line 106 of file MultilayerPerceptron.cpp.

Flood::MultilayerPerceptron::MultilayerPerceptron ( const char *  filename  )  [explicit]

File constructor. It creates a multilayer perceptron object by loading its members from an XML-type file. Please be careful with the format of that file, which is specified in the user's guide.

Parameters:
filename Name of multilayer perceptron file.

Definition at line 130 of file MultilayerPerceptron.cpp.

Flood::MultilayerPerceptron::MultilayerPerceptron ( const MultilayerPerceptron other_multilayer_perceptron  ) 

Copy constructor. It creates a copy of an existing multilayer perceptron object.

Parameters:
other_multilayer_perceptron Multilayer perceptron object to be copied.

Definition at line 164 of file MultilayerPerceptron.cpp.

Flood::MultilayerPerceptron::~MultilayerPerceptron ( void   )  [virtual]

Destructor.

Definition at line 256 of file MultilayerPerceptron.cpp.


Member Function Documentation

void Flood::MultilayerPerceptron::bound_independent_parameter ( int  independent_parameter_index  ) 

This method makes a single independent parameter to fall in the range defined by its lower and the upper bounds.

Parameters:
independent_parameter_index Index of independent parameters.

Definition at line 3131 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::bound_independent_parameters ( void   ) 

This method makes the independent parameters to fall in the range defined by their lower and the upper bounds.

Definition at line 3104 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::calculate_actual_epsilon ( double  parameter  ) 

This method returns the actual epsilon to be used for a given parameter in numerical differentiation. This depends on the the numerical epsilon method and the numerical epsilon value.

Parameters:
parameter Parameter value.

Definition at line 11174 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_bounded_output ( const Vector< double > &  unbounded_output  ) 

This method postprocesses the outputs from the neural network in order to obtain a new set of outputs falling in the range defined by the lower and the upper bounds.

Parameters:
output Set of outputs from the neural network.

Definition at line 8283 of file MultilayerPerceptron.cpp.

Vector< Vector< double > > Flood::MultilayerPerceptron::calculate_forward_propagation ( const Vector< double > &  input  ) 

This method applies an input vector to the neural network and returns all the forward propagation quantities from that input to the output. The size of this vector is equal to the number of hidden layers plus one. The elements are the following:

  • Output from hidden layers.
  • Output from output layer.
Parameters:
input Set of inputs to the neural network.

Definition at line 8441 of file MultilayerPerceptron.cpp.

Vector< Vector< double > > Flood::MultilayerPerceptron::calculate_forward_propagation_derivative ( const Vector< double > &  input  ) 

This method returns a vector of vectors with the forward propagation values and their derivatives. The size of the vector is equal to two times the number of hidden layers plus two. The elements are the following:

  • Output from hidden layers.
  • Output derivative from hidden layers.
  • Output from output layer.
  • Output derivative from output layer.
Parameters:
input Set of inputs to the neural network.

Definition at line 8496 of file MultilayerPerceptron.cpp.

Vector< Vector< double > > Flood::MultilayerPerceptron::calculate_forward_propagation_second_derivative ( const Vector< double > &  input  ) 

This method returns a vector of vectors with the forward propagation values, their derivatives and their second derivatives. The size of the vector is equal to three times the number of hidden layers plus three. The elements are the following:

  • Output from hidden layers.
  • Output derivative from hidden layers.
  • Output second derivative from hidden layers.
  • Output from output layer.
  • Output derivative from output layer.
  • Output second derivative from output layer.
Parameters:
input Set of inputs to the neural network.

Definition at line 8592 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_hidden_layer_activation ( int  i,
const Vector< double > &  hidden_layer_combination 
)

This method returns the output from every perceptron in a hidden layer as a function of their combination.

Parameters:
i Index of hidden layer.
hidden_layer_combination Combination to every neuron in the hidden layer with the previous index.

Definition at line 7745 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_hidden_layer_activation_derivative ( int  i,
const Vector< double > &  hidden_layer_combination 
)

This method returns the activation derivative from every perceptron in a hidden layer as a function of their combination.

Parameters:
i Index of hidden layer index.
hidden_layer_combination Combination to every neuron in the hidden layer with the previous index.

Definition at line 7805 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_hidden_layer_activation_second_derivative ( int  i,
const Vector< double > &  hidden_layer_combination 
)

This method returns the activation second derivative from every perceptron in a hidden layer as a function of their combination.

Parameters:
i Index of hidden layer index.
hidden_layer_combination Combination to every neuron in the hidden layer with the previous index.

Definition at line 7869 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_hidden_layer_combination ( int  i,
const Vector< double > &  hidden_layer_input 
)

This method returns the combination to every perceptron in the hidden layer as a function of the input to that layer.

Parameters:
i Index of hidden layer.
hidden_layer_input Input to the hidden layer with the previous index.

Definition at line 7704 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_hidden_layer_Jacobian ( int  index,
const Vector< double > &  hidden_layer_input 
)

This method returns the Jacobian matrix of a hidden layer for a given input to that layer. This is composed by the derivatives of the hidden layer outputs with respect to their inputs. The number of rows is the number of neurons in the hidden layer. The number of columns is the number of inputs to that layer.

Parameters:
i Index of hidden layer.
hidden_layer_input Input to hidden layer.

Definition at line 11226 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_hidden_layer_output ( int  i,
const Vector< double > &  hidden_layer_input 
)

This method returns the output from every perceptron in a hidden layer as a function of their input.

Parameters:
i Index of hidden layer index.
hidden_layer_input Input vector to the hidden layer with the previous index.

Definition at line 7934 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::calculate_independent_parameters_norm ( void   ) 

This method returns the norm of the vector of independent parameters.

Definition at line 3076 of file MultilayerPerceptron.cpp.

template<class BoundaryConditionsType >
Matrix<double> Flood::MultilayerPerceptron::calculate_Jacobian ( const Vector< double > &  input,
BoundaryConditionsType &  boundary_conditions 
) [inline]

This method returns the the Jacobian matrix of the neural network for a set of inputs, corresponding to the point in input space at which the Jacobian Matrix is to be found. This method applies when boundary conditions are imposed. It uses the back-propagation method.

Parameters:
input,: Set of inputs to the neural network.
boundary_conditions,: Boundary conditions type.
Todo:
this method is implemented only for one input and one or two output variables. An extension of the algorithm to consider any number of inputs and outputs is required.

Definition at line 781 of file MultilayerPerceptron.h.

Matrix< double > Flood::MultilayerPerceptron::calculate_Jacobian ( const Vector< double > &  input  ) 

This method returns the the Jacobian Matrix of the neural network for a set of inputs, corresponding to the point in input space at which the Jacobian Matrix is to be found. It uses a forward-propagation method.

Parameters:
input Set of inputs to the neural network.

Definition at line 8806 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_Jacobian_central_differences ( const Vector< double > &  input  ) 

This method calculates the Jacobian matrix for an input vector by means of the central differences method of numerical differentiation.

Parameters:
input Set of inputs to the neural network.

Definition at line 8751 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_Jacobian_forward_differences ( const Vector< double > &  input  ) 

This method calculates the Jacobian matrix for an input vector by means of the forward differences method of numerical differentiation.

Parameters:
input Set of inputs to the neural network.

Definition at line 8695 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_Jacobian_numerical_differentiation ( const Vector< double > &  input  ) 

This method returns the the Jacobian matrix of the neural network for a set of inputs corresponding to the point in input space at which the Jacobian Matrix is to be found. It uses numerical differentiation.

Parameters:
input,: Set of inputs to the neural network.

Definition at line 8863 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::calculate_neural_parameters_norm ( void   ) 

This method returns the norm of the vector of neural parameters.

Definition at line 3060 of file MultilayerPerceptron.cpp.

template<class BoundaryConditionsType >
Vector<double> Flood::MultilayerPerceptron::calculate_output ( const Vector< double > &  input,
BoundaryConditionsType &  boundary_conditions 
) [inline]

This method calculates the set of outputs from the neural network in response to a set of inputs, when boundary conditions are imposed.

Parameters:
input,: Set of inputs to the neural network.
boundary_conditions,: Boundary conditions given by a set of homogeneous and particular solution terms.
check_input_range(const Vector<double>&). calculate_scaled_input(const Vector<double>&). calculate_hidden_layer_combination(const Vector<double>&). calculate_hidden_layer_combination(const Vector<double>&). calculate_hidden_layer_activation_derivative(const Vector<double>&). calculate_output_layer_combination(const Vector<double>&). calculate_output_layer_activation(const Vector<double>&). calculate_output_layer_activation_derivative(const Vector<double>&). calculate_unscaled_output(const Vector<double>&).

Definition at line 719 of file MultilayerPerceptron.h.

Vector< double > Flood::MultilayerPerceptron::calculate_output ( const Vector< double > &  input  ) 

This method calculates the output vector from the neural network in response to an input vector, when no boundary conditions ar imposed. The activity for that is the following: check_input_range(const Vector<double>&). calculate_scaled_input(const Vector<double>&). calculate_hidden_layer_combination(const Vector<double>&). calculate_hidden_layer_combination(const Vector<double>&). calculate_hidden_layer_activation_derivative(const Vector<double>&). calculate_output_layer_combination(const Vector<double>&). calculate_output_layer_activation(const Vector<double>&). calculate_output_layer_activation_derivative(const Vector<double>&). calculate_unscaled_output(const Vector<double>&). apply_bounds(const Vector<double>&).

Parameters:
input Set of inputs to the neural network.

Definition at line 8348 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_output_layer_activation ( const Vector< double > &  output_layer_combination  ) 

This method returns the output from every perceptron in the ouptut layer as a function of their combination.

Parameters:
output_layer_combination Combination to every neuron in the output layer.

Definition at line 8028 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_output_layer_activation_derivative ( const Vector< double > &  output_layer_combination  ) 

This method returns the output derivative from every perceptron in the ouptut layer as a function of their combination.

Parameters:
output_layer_combination Combination to every neuron in the output layer.

Definition at line 8067 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_output_layer_activation_second_derivative ( const Vector< double > &  output_layer_combination  ) 

This method returns the output second derivative from every perceptron in the ouptut layer as a function of their combination.

Parameters:
output_layer_combination Combination to every neuron in the output layer.

Definition at line 8107 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_output_layer_combination ( const Vector< double > &  last_hidden_layer_output  ) 

This method returns the combination to every perceptron in the ouptut layer as a function of the output from the neurons of the last hidden layer.

Parameters:
last_hidden_layer_output Output from every neuron in the last hidden layer.

Definition at line 7987 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_output_layer_Jacobian ( const Vector< double > &  output_layer_input  ) 

This method returns the Jacobian matrix of the output layer for a given input to that layer. This is composed by the derivatives of the output layer outputs with respect to their inputs. The number of rows is the number of outputs. The number of columns is the number of inputs to that layer.

Parameters:
output_layer_input Input to output layer.

Definition at line 11304 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_output_matrix ( const Matrix< double > &  input_matrix  ) 

This method calculates a set of outputs from the neural network in response to a set of inputs vector, when no boundary conditions ar imposed. The format is a matrix, where each row is a single input vector.

Parameters:
input_matrix Matrix of inputs to the neural network.

Definition at line 8392 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::calculate_parameters_norm ( void   ) 

This method returns the norm of the vector of parameters.

Definition at line 3090 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_scaled_input ( const Vector< double > &  input  ) 

This method preprocesses the inputs to the neural network in order to obtain a set of scaled inputs.

Parameters:
input Set of inputs to the neural network.

Definition at line 7548 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_sensitivity ( const Vector< double > &  input  ) 

This method calculates the sensitivity matrix of the multilayer perceptron for an input vector. The elements of that matrix are the partial derivatives of the outputs with respect to the neural parameters.

Parameters:
input Set of inputs to the neural network.

Definition at line 8902 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_sensitivity_central_differences ( const Vector< double > &  input  ) 

This method calculates the Jacobian matrix for an input vector by means of the central differences method for numerical differentiation.

Parameters:
input Set of inputs to the neural network.

Definition at line 8992 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_sensitivity_forward_differences ( const Vector< double > &  input  ) 

This method calculates the sensitivity matrix for an input vector by means of the forward differences method for numerical differentiation.

Parameters:
input Set of inputs to the neural network.

Definition at line 8929 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::calculate_sensitivity_numerical_differentiation ( const Vector< double > &  input  ) 

This method returns the sensitivity matrix for an input vector by means of numerical differentiation. The numerical differentiation method chosen is that of the corresponding member of this class.

Parameters:
input Set of inputs to the neural network.

Definition at line 9088 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::calculate_unscaled_output ( const Vector< double > &  scaled_output  ) 

This method postprocesses the outputs from the neural network in order to obtain a set of unscaled outputs.

Parameters:
scaled_output Set of outputs from the neural network.

Definition at line 8174 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::check_input_range ( const Vector< double > &  input  ) 

This method chechs whether the inputs to the neural network have the right size. If not, it displays an error message and exits the program. It also checks whether the input values are inside the range defined by the minimum and maximum values, and displays a warning message if they are outside.

Parameters:
input Set of inputs to the neural network.

Definition at line 7501 of file MultilayerPerceptron.cpp.

bool Flood::MultilayerPerceptron::get_display ( void   ) 

This method returns true if messages from this class are to be displayed on the screen, or false if messages from this class are not to be displayed on the screen.

Definition at line 3185 of file MultilayerPerceptron.cpp.

bool Flood::MultilayerPerceptron::get_display_range_out_warning ( void   ) 

This method returns true if a warning message is to be displayed on the screen when some input variables fall outside the range defined by the minimum and maximum, or false otherwise.

Definition at line 3174 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_expression ( void   ) 

This method returns the mathematical expression of the function represented by the neural network. The format of this string is of XML-type.

Definition at line 10557 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_forward_propagation_expression ( void   ) 

This method returns a string with the expression of the forward propagation process in a multilayer perceptron.

Definition at line 10898 of file MultilayerPerceptron.cpp.

Vector< Perceptron > & Flood::MultilayerPerceptron::get_hidden_layer ( int  i  ) 

This method returns a reference to the vector of perceptrons in a single hidden layer.

Parameters:
i Index of hidden layer.

Definition at line 378 of file MultilayerPerceptron.cpp.

MultilayerPerceptron::LayerActivationFunction & Flood::MultilayerPerceptron::get_hidden_layer_activation_function ( int  i  ) 

This method returns the activation function of a single hidden layer.

Parameters:
i Index of hidden layer.

Definition at line 1122 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_hidden_layer_activation_function_expression ( int  i  ) 

This method returns a string with the name of the activation function of a hidden layer.

Parameters:
i Index of hidden layer.

Definition at line 10744 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_hidden_layer_activation_function_name ( int  hidden_layer_index  ) 

This method returns a strings with the name of the activation functions of a single hidden layer.

Parameters:
i hidden_layer_index Index of hidden layer

Definition at line 1181 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_hidden_layer_bias_index ( int  hidden_layer_index,
int  hidden_neuron_index 
)

This method returns the index in the vector of parameters of a bias in a hidden layer.

Parameters:
i Index of hidden layer.
hidden_neuron_index Index of hidden neuron.

Definition at line 897 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::get_hidden_layer_biases ( int  i  ) 

This method returns the bias values from the neurons of a single hidden layer. The format is a vector of real values. The size of this vector is the number of neurons in that hidden layer.

Parameters:
i Index of hidden layer.

Definition at line 584 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_hidden_layer_expression ( int  i  ) 

This method returns a string with the expression of the input-output relationship of a hidden layer.

Parameters:
i Index of hidden layer.

Definition at line 10796 of file MultilayerPerceptron.cpp.

Vector< std::string > Flood::MultilayerPerceptron::get_hidden_layer_inputs_name_expression ( int  index  ) 

This method returns a vector of string with the names of the inputs to a given hidden layer to be included in the multilayer perceptron expression.

Parameters:
index Index of hidden layer.

Definition at line 10641 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_hidden_layer_inputs_number ( int  i  ) 

This method returns the number of inputs to some hidden layer.

Parameters:
i Index of hidden layer.

Definition at line 417 of file MultilayerPerceptron.cpp.

Vector< std::string > Flood::MultilayerPerceptron::get_hidden_layer_outputs_name_expression ( int  index  ) 

This method returns a vector of string with the names of the outputs from a given hidden layer to be included in the multilayer perceptron expression.

Parameters:
index Index of hidden layer.

Definition at line 10660 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::get_hidden_layer_parameters ( int  i  ) 

This method returns the synaptic weights values from the neurons of a single hidden layer. The format is a matrix of real values. The number of rows is the number of neurons in that hidden layer. The number of columns is the number of inputs to that hidden layer.

Parameters:
i Index of hidden layer.

Definition at line 719 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_hidden_layer_parameters_number ( int  i  ) 

This method returns the number of neural parameters (biases and synaptic weights) of a single hidden layer.

Parameters:
i Index of hidden layer.

Definition at line 491 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_hidden_layer_size ( int  i  )  [inline]

This method returns a the number of neurons in some hidden layer of the neural network.

Parameters:
i Index of hidden layer.

Definition at line 114 of file MultilayerPerceptron.h.

int Flood::MultilayerPerceptron::get_hidden_layer_synaptic_weight_index ( int  hidden_layer_index,
int  hidden_neuron_index,
int  hidden_neuron_input_index 
)

This method returns the index in the vector of parameters of a synaptic weight in a hidden layer.

Parameters:
i Index of hidden layer.
hidden_neuron_index Index of hidden neuron.
hidden_neuron_input_index Index of input to hidden neuron.

Definition at line 973 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::get_hidden_layer_synaptic_weights ( int  i  ) 

This method returns the synaptic weights values from the neurons of a single hidden layer. The format is a matrix of real values. The number of rows is the number of neurons in that hidden layer. The number of columns is the number of inputs to that hidden layer.

Parameters:
i Index of hidden layer.

Definition at line 648 of file MultilayerPerceptron.cpp.

Vector< Vector< Perceptron > > & Flood::MultilayerPerceptron::get_hidden_layers ( void   ) 

This method returns the hidden layers of the neural network. The format is a reference to the vector of vectors of hidden perceptrons. Note that each hidden layer might have a different size.

Definition at line 367 of file MultilayerPerceptron.cpp.

Vector< MultilayerPerceptron::LayerActivationFunction > & Flood::MultilayerPerceptron::get_hidden_layers_activation_function ( void   ) 

This method returns the activation function of every hidden layer in a single vector.

Definition at line 1110 of file MultilayerPerceptron.cpp.

Vector< std::string > Flood::MultilayerPerceptron::get_hidden_layers_activation_function_name ( void   ) 

This method returns a vector of strings with the name of the activation functions for the hidden layers. The size of this vector is the number of hidden layers.

Definition at line 1161 of file MultilayerPerceptron.cpp.

Vector< Vector< double > > Flood::MultilayerPerceptron::get_hidden_layers_biases ( void   ) 

This method returns the bias values from the neurons in all the hidden layers. The format is a vector of vectors of real values. The size of this vector is the number of hidden layers. The size of each subvector is the number of neurons in the corresponding hidden layer.

Definition at line 562 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_hidden_layers_number ( void   )  [inline]

This method returns the number of hidden layers in the multilayer perceptron.

Definition at line 99 of file MultilayerPerceptron.h.

Vector< Matrix< double > > Flood::MultilayerPerceptron::get_hidden_layers_parameters ( void   ) 

This method returns the neural parameter values (biases and synaptic weights) from the neurons in all the hidden layers. The format is a vector of matrices of real values. The size of this vector is the number of hidden layers. The number of rows of each submatrix is the number of neurons in the corresponding hidden layer. The number of columns of each submatrix is the number of parameters (inputs + 1) to the corresponding hidden layer.

Definition at line 696 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_hidden_layers_parameters_number ( void   ) 

This method returns the number of neural parameters (biases and synaptic weights) of all the hidden layers.

Definition at line 468 of file MultilayerPerceptron.cpp.

Vector<int>& Flood::MultilayerPerceptron::get_hidden_layers_size ( void   )  [inline]

This method returns a vector containing the numbers of neurons in each hidden layer of the neural network.

Definition at line 106 of file MultilayerPerceptron.h.

Vector< Matrix< double > > Flood::MultilayerPerceptron::get_hidden_layers_synaptic_weights ( void   ) 

This method returns the synaptic weight values from the neurons in all the hidden layers. The format is a vector of matrices of real values. The size of this vector is the number of hidden layers. The number of rows of each submatrix is the number of neurons in the corresponding hidden layer. The number of columns of each submatrix is the number of inputs to the corresponding hidden layer.

Definition at line 625 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_independent_parameter ( int  independent_parameter_index  ) 

This method returns the value of a single independent parameter. Such a value is postprocessed so that it is neither less than the lower bound nor greater than the upper bound.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2213 of file MultilayerPerceptron.cpp.

std::string & Flood::MultilayerPerceptron::get_independent_parameter_description ( int  independent_parameter_index  ) 

This method returns the description of a single independent parameter. Such description is only used to give the user basic information about the problem at hand.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2377 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_independent_parameter_lower_bound ( int  independent_parameter_index  ) 

This method returns the lower bound of a single independent parameter. These values are used to postprocess that independent parameter so that it is not less than the lower bound.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2691 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_independent_parameter_maximum ( int  independent_parameter_index  ) 

This method returns the maximum value of a single independent parameter. Such value is to be used for scaling and unscaling that independent parameter with the minimum and maximum method.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2616 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_independent_parameter_mean ( int  independent_parameter_index  ) 

This method returns the mean value of a single independent parameter. Such a value is to be used for scaling and unscaling that parameter with the mean and standard deviation method.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2476 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_independent_parameter_minimum ( int  independent_parameter_index  ) 

This method returns the minimum value of a single independent parameter. Such value is to be used for scaling and unscaling that independent parameter with the minimum and maximum method.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2584 of file MultilayerPerceptron.cpp.

std::string & Flood::MultilayerPerceptron::get_independent_parameter_name ( int  independent_parameter_index  ) 

This method returns the name of a single independent parameter. Such name is only used to give the user basic information about the problem at hand.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2293 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_independent_parameter_standard_deviation ( int  independent_parameter_index  ) 

This method returns the standard deviation value of a single independent parameter. Such a value is to be used for scaling and unscaling that parameter with the mean and standard deviation method.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2507 of file MultilayerPerceptron.cpp.

std::string & Flood::MultilayerPerceptron::get_independent_parameter_units ( int  independent_parameter_index  ) 

This method returns the units of a single independent parameter. Such units are only used to give the user basic information about the problem at hand.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2335 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_independent_parameter_upper_bound ( int  independent_parameter_index  ) 

This method returns the upper bound of a single independent parameter. These values are used to postprocess that independent parameter so that it is not greater than the upper bound.

Parameters:
independent_parameter_index Index of independent parameter.

Definition at line 2723 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_independent_parameters ( void   ) 

This method returns the values of the independent parameters. These values are postprocessed so that they are neither less than the lower bounds nor greater than the upper bounds.

Definition at line 2200 of file MultilayerPerceptron.cpp.

Vector< Vector< double > * > Flood::MultilayerPerceptron::get_independent_parameters_bounds ( void   ) 

This method returns the lower and upper bounds of all the independent parameters. The format is a vector of two pointers to real vectors. The first element contains the lower bounds of the independent parameters. The second element contains the upper bounds of the independent parameters. These values are used to postprocess the independent parameters so that they are neither less than the lower bounds nor greater than the upper bounds.

Definition at line 2673 of file MultilayerPerceptron.cpp.

Vector< std::string > & Flood::MultilayerPerceptron::get_independent_parameters_description ( void   ) 

This method returns the description of the independent parameters. Such descriptions are only used to give the user basic information about the problem at hand.

Definition at line 2364 of file MultilayerPerceptron.cpp.

Vector< Vector< std::string > * > Flood::MultilayerPerceptron::get_independent_parameters_information ( void   ) 

This method returns all the available information about the independent parameters. The format is a vector of pointers to vectors of size three:

  • Name of independent parameters.
  • Units of independent parameters.
  • Description of independent parameters.

Definition at line 2412 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_independent_parameters_lower_bound ( void   ) 

This method returns the lower bounds of all the independent parameters. These values are used to postprocess the independent parameters so that they are not less than the lower bounds.

Definition at line 2646 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_independent_parameters_maximum ( void   ) 

This method returns the maximum values of all the independent parameters. Such values are to be used for scaling and unscaling independent parameters with the minimum and maximum method.

Definition at line 2550 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_independent_parameters_mean ( void   ) 

This method returns the mean values of all the independent parameters. Such values are to be used for scaling and unscaling independent parameters with the mean and standard deviation method.

Definition at line 2430 of file MultilayerPerceptron.cpp.

Vector< Vector< double > * > Flood::MultilayerPerceptron::get_independent_parameters_mean_standard_deviation ( void   ) 

This method returns the mean and the standard deviation values of all the independent parameters in a single matrix. The first row contains the mean values of the independent parameters. The second row contains the standard deviation values of the independent parameters. Such values are to be used for scaling and unscaling independent parameters with the mean and standard deviation method.

Definition at line 2457 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_independent_parameters_minimum ( void   ) 

This method returns the minimum values of all the independent parameters. Such values are to be used for scaling and unscaling independent parameters with the minimum and maximum method.

Definition at line 2538 of file MultilayerPerceptron.cpp.

Vector< Vector< double > * > Flood::MultilayerPerceptron::get_independent_parameters_minimum_maximum ( void   ) 

This method returns the minimum and maximum values of all the independent parameters. The format is a vector of two pointers to real vectors. The first element contains the minimum values of the independent parameters. The second element contains the maximum values of the independent parameters. Such values are to be used for scaling and unscaling independent parameters with the minimum and maximum method.

Definition at line 2565 of file MultilayerPerceptron.cpp.

Vector< std::string > & Flood::MultilayerPerceptron::get_independent_parameters_name ( void   ) 

This method returns the name of the independent parameters. Such names are only used to give the user basic information about the problem at hand.

Definition at line 2281 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_independent_parameters_number ( void   )  [inline]

This method returns the number of parameters independent of the neural network. Independent parameters can be used in the context of neural netwotks for many purposes.

Definition at line 260 of file MultilayerPerceptron.h.

MultilayerPerceptron::ScalingMethod & Flood::MultilayerPerceptron::get_independent_parameters_scaling_method ( void   ) 

This method returns the method used for scaling and unscaling the independent parameters.

Definition at line 2241 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_independent_parameters_scaling_method_name ( void   ) 

This method returns a string with the method used for scaling and unscaling the independent parameters.

Definition at line 2251 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_independent_parameters_standard_deviation ( void   ) 

This method returns the standard deviation values of all the independent parameters. Such values are to be used for scaling and unscaling independent parameters with the mean and standard deviation method.

Definition at line 2442 of file MultilayerPerceptron.cpp.

Vector< std::string > & Flood::MultilayerPerceptron::get_independent_parameters_units ( void   ) 

This method returns the units of the independent parameters. Such units are only used to give the user basic information about the problem at hand.

Definition at line 2322 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_independent_parameters_upper_bound ( void   ) 

This method returns the upper bounds of all the independent parameters. These values are used to postprocess the independent parameters so that they are not greater than the upper bounds.

Definition at line 2658 of file MultilayerPerceptron.cpp.

std::string & Flood::MultilayerPerceptron::get_input_variable_description ( int  input_variable_index  ) 

This method returns the description of a single input variable as a string. Such a description is only used to give the user basic information about the problem at hand.

Parameters:
input_variable_index Index of input variable.

Definition at line 1545 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_input_variable_maximum ( int  i  ) 

This method returns the maximum value of a single input variable in the neural network. Such value is to be used for scaling that input with the minimum and maximum method.

Definition at line 1937 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_input_variable_mean ( int  input_variable_index  ) 

This method returns the mean value of a single input variable of the neural network. Such a value is to be used for scaling that input with the mean and standard deviation method.

Parameters:
input_variable_index Index of input variable.

Definition at line 1655 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_input_variable_minimum ( int  i  ) 

This method returns the minimum value of a single input variable in the neural network. Such value is to be used for scaling that input with the minimum and maximum method.

Definition at line 1847 of file MultilayerPerceptron.cpp.

std::string & Flood::MultilayerPerceptron::get_input_variable_name ( int  input_variable_index  ) 

This method returns the name of a single input variable of the neural network. Such a name is only used to give the user basic information about the problem at hand.

Parameters:
input_variable_index Index of input variable.

Definition at line 1374 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_input_variable_standard_deviation ( int  input_variable_index  ) 

This method returns the standard deviation value of a single input variable of the neural network. Such a value is to be used for scaling that input with the mean and standard deviation method.

Parameters:
input_variable_index Index of input variable.

Definition at line 1733 of file MultilayerPerceptron.cpp.

std::string & Flood::MultilayerPerceptron::get_input_variable_units ( int  input_variable_index  ) 

This method returns the units of a single input variable as a string. Such units are only used to give the user basic information about the problem at hand.

Parameters:
input_variable_index Index of input variable.

Definition at line 1468 of file MultilayerPerceptron.cpp.

Vector< std::string > & Flood::MultilayerPerceptron::get_input_variables_description ( void   ) 

This method returns the description of the input variables of the neural network as strings. Such descriptions are only used to give the user basic information about the problem at hand.

Definition at line 1533 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_input_variables_maximum ( void   ) 

This method returns the maximum values of all the input variables in the neural network. Such values are to be used for scaling inputs with the minimum and maximum method.

Definition at line 1926 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_input_variables_mean ( void   ) 

This method returns the mean values of all the input variables of the neural network. Such values are to be used for scaling inputs with the mean and standard deviation method.

Definition at line 1643 of file MultilayerPerceptron.cpp.

Vector< Vector< double > * > Flood::MultilayerPerceptron::get_input_variables_mean_standard_deviation ( void   ) 

This method returns the mean and the standard deviation values of all the input variables. The format is a vector of pointers to vectors of size two. The first element contains the mean values of the input variables. The second element contains the standard deviation values of the input variables. Such values are to be used for scaling inputs with the mean and standard deviation method.

Definition at line 1801 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_input_variables_minimum ( void   ) 

This method returns the minimum values of all the input variables in the neural network. Such values are to be used for scaling inputs with the minimum and maximum method.

Definition at line 1836 of file MultilayerPerceptron.cpp.

Vector< Vector< double > * > Flood::MultilayerPerceptron::get_input_variables_minimum_maximum ( void   ) 

This method returns the minimum and the maximum values of all the input variables. The format is a vector of pointers to vectors of size two. The first element contains the minimum values of the input variables. The second element contains the maximum values of the input variables. Such values are to be used for scaling inputs with the minimum and maximum method.

Definition at line 2019 of file MultilayerPerceptron.cpp.

Vector< std::string > & Flood::MultilayerPerceptron::get_input_variables_name ( void   ) 

This method returns the names of the input variables of the neural network. Such names are only used to give the user basic information about the problem at hand.

Definition at line 1362 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_input_variables_standard_deviation ( void   ) 

This method returns the standard deviation values of all the input variables of the neural network. Such values are to be used for scaling inputs with the mean and standard deviation method.

Definition at line 1721 of file MultilayerPerceptron.cpp.

Vector< std::string > & Flood::MultilayerPerceptron::get_input_variables_units ( void   ) 

This method returns the units of the input variables of the neural network as strings. Such units are only used to give the user basic information about the problem at hand.

Definition at line 1456 of file MultilayerPerceptron.cpp.

Vector< std::string > Flood::MultilayerPerceptron::get_inputs_name_expression ( void   ) 

This method returns a vector of string with the names of the inputs to the neural network to be included in the multilayer perceptron expression.

Definition at line 10591 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_inputs_number ( void   )  [inline]

This method returns the number of inputs in the neural network.

Definition at line 92 of file MultilayerPerceptron.h.

std::string Flood::MultilayerPerceptron::get_inputs_scaling_expression ( void   ) 

This method returns a string with the expression of the inputs scaling process in a multilayer perceptron.

Definition at line 10919 of file MultilayerPerceptron.cpp.

MultilayerPerceptron::ScalingMethod & Flood::MultilayerPerceptron::get_inputs_scaling_method ( void   ) 

This method returns the method used for scaling the neural network inputs.

Definition at line 1283 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_inputs_scaling_method_name ( void   ) 

This method returns a string with the name of the method used for scaling the neural network inputs.

Definition at line 1293 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::get_neural_parameters ( void   ) 

This method returns the values of all the biases and synaptic weights in the neural network as a single vector.

Definition at line 835 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_neural_parameters_number ( void   ) 

This method returns the number neural parameters (biases and synaptic weights) in the neural network.

Definition at line 543 of file MultilayerPerceptron.cpp.

MultilayerPerceptron::NumericalDifferentiationMethod & Flood::MultilayerPerceptron::get_numerical_differentiation_method ( void   ) 

This method returns the method used for numerical differentiation in order to calculate the Jacobian matrix for the multilayer perceptron.

Definition at line 2788 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_numerical_epsilon ( void   ) 

This method returns the epsilon value to be used for computing the Jacobian matrix and the sensitivity matrix of the neural network for a set of inputs and by means of numerical differentiation.

Definition at line 2861 of file MultilayerPerceptron.cpp.

Vector< Perceptron > & Flood::MultilayerPerceptron::get_output_layer ( void   ) 

This method returns a reference to the vector of output perceptrons.

Definition at line 406 of file MultilayerPerceptron.cpp.

MultilayerPerceptron::LayerActivationFunction & Flood::MultilayerPerceptron::get_output_layer_activation_function ( void   ) 

This method returns the activation function of the perceptron neurons of the output layer.

Definition at line 1150 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_output_layer_activation_function_expression ( void   ) 

This method returns a string with the name of the activation function of the output layer.

Definition at line 11042 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_output_layer_activation_function_name ( void   ) 

This method returns a strings with the name of the activation functions of the output layer.

Definition at line 1232 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_output_layer_bias_index ( int  output_neuron_index  ) 

This method returns the index in the vector of parameters of a bias in the layer.

Parameters:
output_neuron_index Index of output neuron.

Definition at line 1048 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::get_output_layer_biases ( void   ) 

This method returns the bias values from the output neurons. The format is a vector of real values. The size of this vector is the number of outputs of the neural network.

Definition at line 764 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_output_layer_expression ( void   ) 

This method returns a string with the expression of the input-output relationship of the output layer.

Definition at line 10846 of file MultilayerPerceptron.cpp.

Vector< std::string > Flood::MultilayerPerceptron::get_output_layer_inputs_name_expression ( void   ) 

This method returns a vector of string with the names of the inputs to the output layer to be included in the multilayer perceptron expression.

Definition at line 10682 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_output_layer_inputs_number ( void   ) 

This method returns the number of inputs to the output layer.

Definition at line 454 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::get_output_layer_parameters ( void   ) 

This method returns the neural parameters values (biases and synaptic weight) of the output neurons. The format is a matrix of real values. The number of rows is the number of outputs. The number of columns is the number of inputs to the output layer plus one.

Definition at line 812 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_output_layer_parameters_number ( void   ) 

This method returns the number of neural parameters (biases and synaptic weights) of the output layer.

Definition at line 526 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_output_layer_synaptic_weight_index ( int  output_neuron_index,
int  output_neuron_input_index 
)

This method returns the index in the vector of parameters of a synaptic weight in the output layer.

Parameters:
output_neuron_index Index of output neuron.
output_neuron_input_index Index of input to output neuron.

Definition at line 1078 of file MultilayerPerceptron.cpp.

Matrix< double > Flood::MultilayerPerceptron::get_output_layer_synaptic_weights ( void   ) 

This method returns the synaptic weight values from the output neurons. The format is a matrix of real values. The number of rows is the number of outputs. The number of columns is the number of inputs to the output layer.

Definition at line 784 of file MultilayerPerceptron.cpp.

std::string & Flood::MultilayerPerceptron::get_output_variable_description ( int  output_variable_index  ) 

This method returns the description of a single input variable as a string. Such a description is only used to give the user basic information about the problem at hand.

Parameters:
output_variable_index Index of output variable.

Definition at line 1586 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_output_variable_maximum ( int  i  ) 

This method returns the maximum value of a single input variable in the neural network. Such value is to be used for unscaling that output with the minimum and maximum method.

Definition at line 1982 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_output_variable_mean ( int  output_variable_index  ) 

This method returns the mean values of a single input variable of the neural network. Such a values is to be used for scaling inputs and unscaling outputs with the mean and standard deviation method.

Parameters:
output_variable_index Index of output variable.

Definition at line 1695 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_output_variable_minimum ( int  i  ) 

This method returns the minimum value of a single output variable in the neural network. Such value is to be used for unscaling that output with the minimum and maximum method.

Definition at line 1892 of file MultilayerPerceptron.cpp.

std::string & Flood::MultilayerPerceptron::get_output_variable_name ( int  output_variable_index  ) 

This method returns the name of a single output variable of the neural network. Such a name is only used to give the user basic information about the problem at hand.

Parameters:
output_variable_index Index of output variable.

Definition at line 1429 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_output_variable_standard_deviation ( int  output_variable_index  ) 

This method returns the standard deviation value of a single output variable of the neural network. Such a value is to be used for unscaling outputs with the mean and standard deviation method.

Parameters:
output_variable_index Index of output variable.

Definition at line 1772 of file MultilayerPerceptron.cpp.

std::string & Flood::MultilayerPerceptron::get_output_variable_units ( int  output_variable_index  ) 

This method returns the units of a single output variable as a string. Such units are only used to give the user basic information about the problem at hand.

Parameters:
output_variable_index Index of output variable.

Definition at line 1506 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_output_variable_upper_bound ( int  i  ) 

This method returns the upper bound of a single output variable in the neural network. This value is used to postprocess that output so that it is not greater than the upper bound.

Definition at line 2110 of file MultilayerPerceptron.cpp.

Vector< Vector< double > * > Flood::MultilayerPerceptron::get_output_variables_bounds ( void   ) 

This method returns the lower bounds and the upper bounds of all the output variables. The format is a vector of pointers to vectors of size two. The first element contains the lower bound values of the output variables. The second element contains the upper bound values of the output variables. These values are used to postprocess the outputs so that they are neither less than the lower bounds nor greater than the upper bounds.

Definition at line 2148 of file MultilayerPerceptron.cpp.

Vector< std::string > & Flood::MultilayerPerceptron::get_output_variables_description ( void   ) 

This method returns the description of the output variables of the neural network as strings. Such descriptions are only used to give the user basic information about the problem at hand.

Definition at line 1572 of file MultilayerPerceptron.cpp.

double Flood::MultilayerPerceptron::get_output_variables_lower_bound ( int  i  ) 

This method returns the lower bound of a single output variable in the neural network. This value is used to postprocess that output so that it is not less than the lower bound.

Definition at line 2065 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_output_variables_lower_bound ( void   ) 

This method returns the lower bound of all the output variables in the neural network. These values are used to postprocess the outputs so that they are not less than the lower bounds.

Definition at line 2054 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_output_variables_maximum ( void   ) 

This method returns the maximum values of all the output variables in the neural network. Such values are to be used for unscaling outputs with the minimum and maximum method.

Definition at line 1971 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_output_variables_mean ( void   ) 

This method returns the mean values of all the output variables of the neural network. Such values are to be used for unscaling the output with the mean and standard deviation method.

Definition at line 1682 of file MultilayerPerceptron.cpp.

Vector< Vector< double > * > Flood::MultilayerPerceptron::get_output_variables_mean_standard_deviation ( void   ) 

This method returns the mean and the standard deviation values of all the output variables. The format is a vector of pointers to vectors of size two. The first element contains the mean values of the output variables. The second element contains the standard deviation values of the output variables. Such values are to be used for unscaling outputs with the mean and standard deviation method.

Definition at line 1820 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_output_variables_minimum ( void   ) 

This method returns the minimum values of all the output variables in the neural network. Such values are to be used for unscaling outputs with the minimum and maximum method.

Definition at line 1881 of file MultilayerPerceptron.cpp.

Vector< Vector< double > * > Flood::MultilayerPerceptron::get_output_variables_minimum_maximum ( void   ) 

This method returns the minimum and the maximum values of all the output variables. The format is a vector of pointers to vectors of size two. The first element contains the minimum values of the output variables. The second element contains the maximum values of the output variables. Such values are to be used for unscaling outputs with the minimum and maximum method.

Definition at line 2038 of file MultilayerPerceptron.cpp.

Vector< std::string > & Flood::MultilayerPerceptron::get_output_variables_name ( void   ) 

This method returns the names of the output variables of the neural network. Such names are only used to give the user basic information about the problem at hand.

Definition at line 1417 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_output_variables_standard_deviation ( void   ) 

This method returns the standard deviation values of all the output variables of the neural network. Such values are to be used for unscaling outputs with the mean and standard deviation method.

Definition at line 1760 of file MultilayerPerceptron.cpp.

Vector< std::string > & Flood::MultilayerPerceptron::get_output_variables_units ( void   ) 

This method returns the units of the output variables of the neural network as strings. Such units are only used to give the user basic information about the problem at hand.

Definition at line 1494 of file MultilayerPerceptron.cpp.

Vector< double > & Flood::MultilayerPerceptron::get_output_variables_upper_bound ( void   ) 

This method returns the upper bound of all the output variables in the neural network. These values are used to postprocess the outputs so that they are not greater than the upper bounds.

Definition at line 2099 of file MultilayerPerceptron.cpp.

Vector< std::string > Flood::MultilayerPerceptron::get_outputs_name_expression ( void   ) 

This method returns a vector of string with the names of the outputs to be included in the multilayer perceptron expression.

Definition at line 10717 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_outputs_number ( void   )  [inline]

This method returns the number of neurons in the output layer of the neural network.

Definition at line 121 of file MultilayerPerceptron.h.

std::string Flood::MultilayerPerceptron::get_outputs_unscaling_expression ( void   ) 

This method returns a string with the expression of the outputs unscaling process in a multilayer perceptron.

Definition at line 10986 of file MultilayerPerceptron.cpp.

MultilayerPerceptron::ScalingMethod & Flood::MultilayerPerceptron::get_outputs_unscaling_method ( void   ) 

This method returns the method used for unscaling the neural network outputs.

Definition at line 1322 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::get_outputs_unscaling_method_name ( void   ) 

This method returns a string with the name of the method used for unscaling the neural network outputs.

Definition at line 1332 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::get_parameters ( void   ) 

This method returns the values of the parameters in the neural network as a single vector. This contains all the neural parameters (biases and synaptic weights) and preprocessed independent parameters.

Definition at line 2752 of file MultilayerPerceptron.cpp.

int Flood::MultilayerPerceptron::get_parameters_number ( void   ) 

This method returns the number of parameters in the neural network. The number of parameters is the sum of all the neural parameters (biases and synaptic weights) and independent parameters.

Definition at line 11351 of file MultilayerPerceptron.cpp.

Vector< std::string > Flood::MultilayerPerceptron::get_scaled_inputs_name_expression ( void   ) 

This method returns a vector of string with the names of the scaled inputs to the neural network to be included in the multilayer perceptron expression.

Definition at line 10618 of file MultilayerPerceptron.cpp.

Vector< std::string > Flood::MultilayerPerceptron::get_scaled_outputs_name_expression ( void   ) 

This method returns a vector of string with the names of the scaled outputs to be included in the multilayer perceptron expression.

Definition at line 10695 of file MultilayerPerceptron.cpp.

Vector< Vector< std::string > * > Flood::MultilayerPerceptron::get_variables_information ( void   ) 

This method returns all the available information about the input and output variables. The format is a vector of pointers to vectors of size six:

  • Name of input variables.
  • Name of output variables.
  • Units of input variables.
  • Units of output variables.
  • Description of input variables.
  • Description of output variables.

Definition at line 1621 of file MultilayerPerceptron.cpp.

Vector< Vector< double > * > Flood::MultilayerPerceptron::get_variables_statistics ( void   ) 

This method returns all the available statistics of the input and output variables. The format is a vector of pointers to vectors of size ten:

  • Mean of input variables.
  • Mean of output variables.
  • Standard deviation of input variables.
  • Standard deviation of output variables.
  • Minimum of input variables.
  • Minimum of output variables.
  • Maximum of input variables.
  • Maximum of output variables.

Definition at line 2174 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_biases ( double  value  ) 

This method initializes the biases of all the perceptrons in the neural network with a given value.

Parameters:
value Biases initialization value.

Definition at line 7009 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_independent_parameters ( double  value  ) 

This method initializes the independent parameters associated to the neural network with a given value.

Parameters:
value Initialization value.

Definition at line 7235 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_independent_parameters_normal ( const Vector< Vector< double > > &  mean_standard_deviation  ) 

This method initializes the independent parameters associated to the neural network with random values chosen from normal distributions with different mean and standard deviation for each independent parameter. All mean and standard deviation values are given from a vector of two real vectors. The first element must contain the mean value for each independent parameter. The second element must contain the standard deviation value for each independent parameter.

Parameters:
mean_standard_deviation Vector of mean and standard deviation vectors.

Definition at line 7357 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_independent_parameters_normal ( const Vector< double > &  mean,
const Vector< double > &  standard_deviation 
)

This method initializes the independent parameters associated to the neural network with random values chosen from normal distributions with different mean and standard deviation for each independent parameter.

Parameters:
mean Vector of mean values.
standard_deviation Vector of standard deviation values.

Definition at line 7340 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_independent_parameters_normal ( double  mean,
double  standard_deviation 
)

This method initializes the independent parameters associated to the neural network with random values chosen from a normal distribution with a given mean and a given standard deviation.

Parameters:
mean Mean of normal distribution.
standard_deviation Standard deviation of normal distribution.

Definition at line 7324 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_independent_parameters_normal ( void   ) 

This method initializes the independent parameters associated to the newtork with random values chosen from a normal distribution with mean 0 and standard deviation 1.

Definition at line 7309 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_independent_parameters_uniform ( const Vector< Vector< double > > &  minimum_maximum  ) 

This method initializes the independent parameters associated to the neural network at random values comprised between different minimum and maximum numbers for each independent parameter. All minimum and maximum values are given from a vector of two real vectors. The first element must contain the minimum inizizalization value for each independent parameter. The second element must contain the maximum inizizalization value for each independent parameter.

Parameters:
minimum_maximum Matrix of minimum and maximum initialization values.

Definition at line 7296 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_independent_parameters_uniform ( const Vector< double > &  minimum,
const Vector< double > &  maximum 
)

This method initializes the independent parameters associated to the neural network at random with values comprised between different minimum and maximum numbers for each independent parameter.

Parameters:
minimum Vector of minimum initialization values.
maximum Vector of maximum initialization values.

Definition at line 7279 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_independent_parameters_uniform ( double  minimum,
double  maximum 
)

This method initializes the independent parameters associated to the neural network at random with values comprised between a minimum and a maximum values.

Parameters:
minimum Minimum initialization value.
maximum Maximum initialization value.

Definition at line 7263 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_independent_parameters_uniform ( void   ) 

This method initializes the independent parameters associated to the newtork at random with values comprised between -1 and +1.

Definition at line 7248 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_neural_parameters ( double  value  ) 

This method initializes all the biases and synaptic weights in the neural newtork with a given value.

Parameters:
value Neural parameters initialization value.

Definition at line 7065 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_neural_parameters_normal ( const Vector< Vector< double > > &  mean_standard_deviation  ) 

This method initializes all the biases and synaptic weights in the neural network with random values chosen from normal distributions with different mean and standard deviation for each parameter. All mean and standard deviation values are given from a vector of two real vectors. The first element must contain the mean value for each parameter. The second element must contain the standard deviation value for each parameter.

Parameters:
mean_standard_deviation Vector of mean and standard deviation values.

Definition at line 7218 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_neural_parameters_normal ( const Vector< double > &  mean,
const Vector< double > &  standard_deviation 
)

This method initializes all the biases an synaptic weights in the neural network with random values chosen from normal distributions with different mean and standard deviation for each parameter.

Parameters:
mean Vector of mean values.
standard_deviation Vector of standard deviation values.

Definition at line 7197 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_neural_parameters_normal ( double  mean,
double  standard_deviation 
)

This method initializes all the biases and synaptic weights in the neural network with random random values chosen from a normal distribution with a given mean and a given standard deviation.

Parameters:
mean Mean of normal distribution.
standard_deviation Standard deviation of normal distribution.

Definition at line 7177 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_neural_parameters_normal ( void   ) 

This method initializes all the biases and synaptic weights in the newtork with random values chosen from a normal distribution with mean 0 and standard deviation 1.

Definition at line 7157 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_neural_parameters_uniform ( const Vector< Vector< double > > &  minimum_maximum  ) 

This method initializes all the biases and synaptic weights in the neural network at random, with values comprised between a different minimum and maximum numbers for each parameter. All minimum are maximum initialization values must be given from a vector of two real vectors. The first element must contain the minimum inizizalization value for each parameter. The second element must contain the maximum inizizalization value for each parameter.

Parameters:
minimum_maximum Vector of minimum and maximum initialization values.

Definition at line 7140 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_neural_parameters_uniform ( const Vector< double > &  minimum,
const Vector< double > &  maximum 
)

This method initializes all the biases and synaptic weights in the neural network at random, with values comprised between different minimum and maximum numbers for each parameter.

Parameters:
minimum Vector of minimum initialization values.
maximum Vector of maximum initialization values.

Definition at line 7119 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_neural_parameters_uniform ( double  minimum,
double  maximum 
)

This method initializes all the biases and synaptic weights in the neural network at random with values comprised between a minimum and a maximum values.

Parameters:
minimum Minimum initialization value.
maximum Maximum initialization value.

Definition at line 7099 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_neural_parameters_uniform ( void   ) 

This method initializes all the biases and synaptic weights in the neural newtork at random with values comprised between -1 and +1.

Definition at line 7080 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_parameters ( double  value  ) 

This method initializes all the neural and the independent parameters with a given value.

Definition at line 7369 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_parameters_normal ( const Vector< Vector< double > > &  mean_standard_deviation  ) 

This method initializes all the parameters in the newtork (biases and synaptic weiths + independent parameters) at random with values chosen from normal distributions with a given mean and a given standard deviation for each parameter. All mean and standard deviation values are given from a vector of two real vectors. The first element must contain the mean value for each parameter. The second element must contain the standard deviation value for each parameter.

Parameters:
mean_standard_deviation Mean and standard deviation vectors.

Definition at line 7486 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_parameters_normal ( const Vector< double > &  mean,
const Vector< double > &  standard_deviation 
)

This method initializes all the parameters in the neural newtork (biases and synaptic weiths + independent parameters) at random with values chosen from normal distributions with a given mean and a given standard deviation for each parameter.

Parameters:
mean Vector of minimum initialization values.
standard_deviation Vector of maximum initialization values.

Definition at line 7469 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_parameters_normal ( double  mean,
double  standard_deviation 
)

This method initializes all the parameters in the newtork (biases and synaptic weiths + independent parameters) at random with values chosen from a normal distribution with a given mean and a given standard deviation.

Parameters:
mean Mean of normal distribution.
standard_deviation Standard deviation of normal distribution.

Definition at line 7453 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_parameters_normal ( void   ) 

This method initializes all the parameters in the neural newtork (biases and synaptic weiths + independent parameters) at random with values chosen from a normal distribution with mean 0 and standard deviation 1.

Definition at line 7438 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_parameters_uniform ( const Vector< Vector< double > > &  minimum_maximum  ) 

This method initializes all the parameters in the newtork (biases and synaptic weiths + independent parameters) values comprised between a different minimum and maximum numbers for each parameter. Minimum and maximum initialization values are given from a vector of two real vectors. The first element must contain the minimum initialization value for each parameter. The second element must contain the maximum initialization value for each parameter.

Parameters:
minimum_maximum Vector of minimum and maximum initialization vectors.

Definition at line 7426 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_parameters_uniform ( const Vector< double > &  minimum,
const Vector< double > &  maximum 
)

This method initializes all the parameters in the newtork (biases and synaptic weiths + independent parameters) at random with values comprised between a different minimum and maximum numbers for each free parameter.

Parameters:
minimum Vector of minimum initialization values.
maximum Vector of maximum initialization values.

Definition at line 7410 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_parameters_uniform ( double  minimum,
double  maximum 
)

This method initializes all the parameters in the newtork (biases and synaptic weiths + independent parameters) at random with values comprised between a given minimum and a given maximum values.

Parameters:
minimum Minimum initialization value.
maximum Maximum initialization value.

Definition at line 7395 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_parameters_uniform ( void   ) 

This method initializes all the parameters in the newtork (biases and synaptic weiths + independent parameters) at random with values comprised between -1 and +1.

Definition at line 7381 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::initialize_synaptic_weights ( double  value  ) 

This method initializes the synaptic weights of all the perceptrons in the neural network with a given value.

Parameters:
value Synaptic weights initialization value.

Definition at line 7037 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::load ( const char *  filename  ) 

This method loads from a XML-type file the members of a multilayer perceptron object. Please mind about the file format, which is specified in the User's Guide.

Parameters:
filename Name of multilayer perceptron XML-type file.

Definition at line 9591 of file MultilayerPerceptron.cpp.

MultilayerPerceptron & Flood::MultilayerPerceptron::operator= ( const MultilayerPerceptron other_multilayer_perceptron  ) 

Assignment operator. It assigns to this object the members of an existing multilayer perceptron object.

Parameters:
other_multilayer_perceptron Multilayer perceptron object to be assigned.

Definition at line 266 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::print ( void   ) 

This method prints to the screen the members of a multilayer perceptron object in a XML-type format.

Definition at line 9546 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::save ( const char *  filename  ) 

This method saves to a XML-type format file the members of a multilayer perceptron object.

Parameters:
filename Name of multilayer perceptron XML-type file.

Definition at line 9560 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::save_expression ( const char *  filename  ) 

This method saves the explicit mathematical expression addressed by the multilayer perceptron to a XML-type file.

Parameters:
filename Name of expression XML-type file.

Definition at line 11094 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::save_Hinton_diagram ( const char *  filename  ) 

This method saves the data needed to plot the Hinton diagram of the multilayer perceptron in XML-type format. This diagram displays the biases and synaptic weights of each layer in the neural network.

Parameters:
filename Filename.

Definition at line 11123 of file MultilayerPerceptron.cpp.

Vector< double > Flood::MultilayerPerceptron::scale_independent_parameters ( void   ) 

This method preprocesses the independendent parameters according to their scaling and unscaling method. This form of scaling is used prior when getting the vector of parameters.

Definition at line 2888 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_display ( 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 6984 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_display_range_out_warning ( bool  new_display_range_out_warning  ) 

This method sets a new display out of range warning value. If it is set to true a warning message is to be displayed when inputs fall outside minimum and maximums. if it is set to false that warning message is not to be displayed

Parameters:
new_display_range_out_warning Display value for the out of range warning.

Definition at line 6998 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_hidden_layer_activation_function ( int  i,
const LayerActivationFunction new_hidden_layer_activation_function 
)

This class sets a new activation (or transfer) function in a single hidden layer.

Parameters:
i Index of hidden layer.
new_hidden_layer_activation_function Activation function for the hidden layer with the previous index.

Definition at line 3907 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_hidden_layer_biases ( int  i,
const Vector< double > &  new_hidden_layer_biases 
)

This method sets the biases of a single hidden layer in the neural network.

Parameters:
i Index of hidden layer.
new_hidden_layer_biases New set of biases in that hidden layer.

Definition at line 3566 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_hidden_layer_size ( int  new_hidden_layer_size  ) 

This method sets the size of the hidden layer of the neural network when this is unique. All the parameters of the neural network are initialized at random.

Parameters:
new_hidden_layer_size New numbers of neurons for the hidden layer of the neural network.

Definition at line 3426 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_hidden_layer_synaptic_weights ( int  i,
const Matrix< double > &  new_hidden_layer_synaptic_weights 
)

This method sets the synaptic weights of a single hidden layer in the neural network. The format is a matrix of real numbers. The number of rows is the number of neurons in the corresponding hidden layer. The number of columns is the number of inputs to the corresponding hidden layer.

Parameters:
i Index of hidden layer.
new_hidden_layer_synaptic_weights New set of synaptic weights in that hidden layer.

Definition at line 3665 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_hidden_layers_activation_function ( const Vector< LayerActivationFunction > &  new_hidden_layers_activation_function  ) 

This class sets a new activation (or transfer) function in all the hidden layers of the neural network.

Parameters:
new_hidden_layers_activation_function Activation function for the hidden layers. The size of this Vector must be equal to the number of hidden layers, and each element corresponds to the activation function of one hidden layer.

Definition at line 3870 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_hidden_layers_biases ( const Vector< Vector< double > > &  new_hidden_layers_biases  ) 

This method sets all the biases of the hidden layers in the neural network. The format is a vector of vectors of real numbers. The size of this vector is the number of hidden layers. The size of each subvector is the number of neurons in the corresponding hidden layer.

Parameters:
new_hidden_layers_biases New set of biases in the hidden layers.

Definition at line 3527 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_hidden_layers_size ( const Vector< int > &  new_hidden_layers_size  ) 

This method sets the size of the hidden layers of the neural network. It neither modifies the number of inputs nor the number of outputs.

Parameters:
new_hidden_layers_size New numbers of neurons for the hidden layers of the neural network. The number of elements of this vector is the number of hidden layers.

Definition at line 3411 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_hidden_layers_synaptic_weights ( const Vector< Matrix< double > > &  new_hidden_layers_synaptic_weights  ) 

This method sets all the synaptic weights of the hidden layers in the neural network. The format is a vector of matrices of real numbers. The size of this vector is the number of hidden layers. The number of rows of each submatrix is the number of neurons in the corresponding hidden layer. The number of columns of each submatrix is the number of inputs to the corresponding hidden layer.

Parameters:
new_hidden_layers_synaptic_weights New set of synaptic weights in the hidden layers.

Definition at line 3619 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter ( int  independent_parameter_index,
double  new_independent_parameter 
)

This method sets a new value for a single independent parameter.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter Independent parameter value.

Definition at line 5919 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter_description ( int  independent_parameter_index,
const std::string &  new_independent_parameter_description 
)

This method sets a new description for a single independent parameter. Such a value is only used to give the user basic information on the problem at hand.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter_description New description for the independent parameter of index i.

Definition at line 6175 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter_lower_bound ( int  independent_parameter_index,
double  new_independent_parameter_lower_bound 
)

This method sets the lower bound of a single independent parameter. Such a value is used for unscaling that independent parameter so that it is not less than its lower bound.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter_lower_bound New lower bound for that independent parameter.

Definition at line 6694 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter_maximum ( int  independent_parameter_index,
double  new_independent_parameter_maximum 
)

This method sets a maximum value for a single independent parameter. Such a value is used for scaling and unscaling that independent parameter with the minimum and maximum method.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter_maximum New maximum value for the independent parameter of index i.

Definition at line 6553 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter_mean ( int  independent_parameter_index,
double  new_independent_parameter_mean 
)

This method sets a new mean value for a single independent parameter. Such a value is used for scaling and unscaling the independent parameters with the mean and standard deviation method.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter_mean New mean value for the independent parameter of index i.

Definition at line 6251 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter_minimum ( int  independent_parameter_index,
double  new_independent_parameter_minimum 
)

This method sets a minimum value for a single independent parameter. Such a value is used for scaling and unscaling that independent parameter with the minimum and maximum method.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter_minimum New minimum value for the independent parameter of index i.

Definition at line 6478 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter_name ( int  independent_parameter_index,
const std::string &  new_independent_parameter_name 
)

This method sets a new name for a single independent parameter. Such a value is only used to give the user basic information on the problem at hand.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter_name New name for the independent parameter of index i.

Definition at line 6030 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter_standard_deviation ( int  independent_parameter_index,
double  new_independent_parameter_standard_deviation 
)

This method sets a new standard deviation value for a single independent parameter. Such a value is used for scaling and unscaling the independent parameters with the mean and standard deviation method.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter_standard_deviation New standard deviation value for that independent parameter.

Definition at line 6331 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter_units ( int  independent_parameter_index,
const std::string &  new_independent_parameter_units 
)

This method sets new units for a single independent parameter. Such a value is only used to give the user basic information on the problem at hand.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter_units New units for the independent parameter of index i.

Definition at line 6101 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameter_upper_bound ( int  independent_parameter_index,
double  new_independent_parameter_upper_bound 
)

This method sets the upper bound of a single independent parameter. Such a value is used for unscaling that independent parameter so that it is not greater than its upper bound.

Parameters:
independent_parameter_index Index of independent parameter.
new_independent_parameter_upper_bound New upper bound for the independent parameter of index i.

Definition at line 6772 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters ( const Vector< double > &  new_independent_parameters  ) 

This method sets new values for all the independent parameters.

Parameters:
new_independent_parameters Independent parameters values.

Definition at line 5881 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_bounds ( const Vector< Vector< double > > &  new_independent_parameters_bounds  ) 

This method sets both the lower and the upper bounds of all the independent parameters. The format is a vector of two real vectors. The first element must contain the lower bound values values for the independent parameters. The second element must contain the upper bound values for the independent parameters. These values are used for unscaling the independent parameters so that they are neither less than the lower bounds nor greater than the upper bounds.

Parameters:
new_independent_parameters_bounds New set of lower and upper bounds for the independent parameters of the neural network.

Definition at line 6817 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_description ( const Vector< std::string > &  new_independent_parameters_description  ) 

This method sets new descriptions for the independent parameters. Such values are only used to give the user basic information on the problem at hand.

Parameters:
new_independent_parameters_description New description for the independent parameters of the neural network.

Definition at line 6141 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_lower_bound ( const Vector< double > &  new_independent_parameters_lower_bound  ) 

This method sets the lower bound of all the independent parameters. These values are used for unscaling the independent parameters so that they are not less than the lower bounds.

Parameters:
new_independent_parameters_lower_bound New set of lower bounds for the independent parameters of the neural network.

Definition at line 6659 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_maximum ( const Vector< double > &  new_independent_parameters_maximum  ) 

This method sets the maximum values of all the independent parameters. These values are used for scaling and unscaling the independent parameters with the minimum and maximum method.

Parameters:
new_independent_parameters_maximum New set of maximum values for the independent parameters of the neural network.

Definition at line 6518 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_mean ( const Vector< double > &  new_independent_parameters_mean  ) 

This method sets the mean values of all the independent parameters. These values are used for scaling and unscaling the independent parameters with the mean and standard deviation method.

Parameters:
new_independent_parameters_mean New set of mean values for the independent parameters of the neural network.

Definition at line 6216 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_mean_standard_deviation ( const Vector< Vector< double > > &  new_independent_parameters_mean_standard_deviation  ) 

This method sets both the mean and the standard deviation values of all the independent parameters. The format is a vector of two real vectors. The first element must contain the mean values values for the independent parameters. The second element must contain the standard deviation values for the independent parameters. These values are used for scaling and unscaling the independent parameters with the mean and standard deviation method.

Parameters:
new_independent_parameters_mean_standard_deviation New set of mean and standard deviation values for the independent parameters of the neural network.

Definition at line 6380 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_minimum ( const Vector< double > &  new_independent_parameters_minimum  ) 

This method sets the minimum values of all the independent parameters. These values are used for scaling and unscaling the independent parameters with the minimum and maximum method.

Parameters:
new_independent_parameters_minimum New set of minimum values for the independent parameters of the neural network.

Definition at line 6443 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_minimum_maximum ( const Vector< Vector< double > > &  new_independent_parameters_minimum_maximum  ) 

This method sets both the minimum and the values of all the independent parameters. The format is a vector of two real vectors. The first element must contain the minimum values values for the independent parameters. The second element must contain the maximum values for the independent parameters. These values are used for scaling and unscaling the independent parameters with the minimum and maximum method.

Parameters:
new_independent_parameters_minimum_maximum New set of minimum and maximum values for the independent parameters of the neural network.

Definition at line 6598 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_name ( const Vector< std::string > &  new_independent_parameters_name  ) 

This method sets new names for the independent parameters. Such values are only used to give the user basic information on the problem at hand.

Parameters:
new_independent_parameters_name New names for the independent parameters of the neural network.

Definition at line 5995 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_number ( int  new_independent_parameters_number  ) 

This method sets a new number of parameters which are independent of the neural network. It initializes the independent parameters at random. This method also initializes all the class members related to independent with their default value:

Parameters:
new_independent_parameters_number Number of independent parameters.

Definition at line 5844 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_scaling_method ( const ScalingMethod new_independent_parameters_scaling_method  ) 

This method sets the method to be used for scaling and unscaling the independent parameters.

Parameters:
new_independent_parameters_scaling_method New scaling and unscaling method for the output variables.

Definition at line 5954 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_standard_deviation ( const Vector< double > &  new_independent_parameters_standard_deviation  ) 

This method sets the standard deviation values of all the independent parameters. These values are used for scaling and unscaling the independent parameters with the mean and standard deviation method.

Parameters:
new_independent_parameters_standard_deviation New set of standard deviation values for the independent parameters of the neural network.

Definition at line 6296 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_statistics ( const Vector< Vector< double > > &  new_independent_parameters_statistics  ) 

This method sets both the lower and the upper bounds of all the independent parameters. The format is a vector of six real vectors.

  • Mean of independent parameters.
  • Standard deviation of independent parameters.
  • Minimum of independent parameters.
  • Maximum of independent parameters.

Parameters:
new_independent_parameters_statistics New statistics values for the independent parameters of the neural network.

Definition at line 6869 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_units ( const Vector< std::string > &  new_independent_parameters_units  ) 

This method sets new units for the independent parameters. Such values are only used to give the user basic information on the problem at hand.

Parameters:
new_independent_parameters_units New units for the independent parameters of the neural network.

Definition at line 6067 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_independent_parameters_upper_bound ( const Vector< double > &  new_independent_parameters_upper_bound  ) 

This method sets the upper bound of all the independent parameters. These values are used for unscaling the independent parameters so that they are not greater than the upper bounds.

Parameters:
new_independent_parameters_upper_bound New set of upper bounds for the independent parameters of the neural network.

Definition at line 6737 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variable_description ( int  input_variable_index,
const std::string &  new_input_variable_description 
)

This method sets a new description for a single input variable. Such value is only used to give the user basic information on the problem at hand.

Parameters:
input_variable_index Index of input variable.
new_input_variable_description New description for the input variable with index i.

Definition at line 4514 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variable_maximum ( int  input_variable_index,
double  new_input_variable_maximum 
)

This method sets a new maximum value for a single input variable. This value is used for scaling that input to the neural network with the minimum and maximum method.

Parameters:
input_variable_index Index of input variable.
new_input_variable_maximum New maximum value for that input variable.

Definition at line 5257 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variable_mean ( int  input_variable_index,
double  new_input_variable_mean 
)

This method sets a new mean value for a single input variable. These values are used for scaling the inputs to the neural network with the meand and standard deviation method.

Parameters:
input_variable_index Index of input variable.
new_input_variable_mean New mean values for the input variable with index i.

Definition at line 4728 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variable_minimum ( int  input_variable_index,
double  new_input_variable_minimum 
)

This method sets a new minimum value for a single input variable. This value is used for scaling that input to the neural network with the minimum and maximum method.

Parameters:
input_variable_index Index of input variable.
new_input_variable_minimum New minimum value for the input variable with index i.

Definition at line 5121 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variable_name ( int  input_variable_index,
const std::string &  new_input_variable_name 
)

This method sets the name of a single input variable. Such value is only used to give the user basic information on the problem at hand.

Parameters:
input_variable_index Index of input variable.
new_input_variable_name New name for the input variable with index i.

Definition at line 4236 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variable_standard_deviation ( int  input_variable_index,
double  new_input_variable_standard_deviation 
)

This method sets a new standard deviation value for a single input variable. These values are used for scaling the inputs to the neural network with the meand and standard deviation method.

Parameters:
input_variable_index Index of input variable.
new_input_variable_standard_deviation New standard deviation value for that input variable.

Definition at line 4872 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variable_units ( int  input_variable_index,
const std::string &  new_input_variable_units 
)

This method sets new units for a single input variable. Such value is only used to give the user basic information on the problem at hand.

Parameters:
input_variable_index Index of input variable.
new_input_variable_units New units for that input variable.

Definition at line 4374 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variables_description ( const Vector< std::string > &  new_input_variables_description  ) 

This method sets new descriptions for all the input variables. Such values are only used to give the user basic information on the problem at hand.

Parameters:
new_input_variables_description New description for the input variables of the neural network.

Definition at line 4480 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variables_maximum ( const Vector< double > &  new_input_variables_maximum  ) 

This method sets new maximum values for all the input variables. These values are used for scaling the inputs to the neural network with the minimum and maximum method.

Parameters:
new_input_variables_maximum New set of maximum values for the input variables of the neural network.

Definition at line 5226 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variables_mean ( const Vector< double > &  new_input_variables_mean  ) 

This method sets new mean values for all the input variables. These values are used for scaling the inputs to the neural network with the meand and standard deviation method.

Parameters:
new_input_variables_mean New set of mean values for the input variables of the neural network.

Definition at line 4696 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variables_mean_standard_deviation ( const Vector< Vector< double > > &  new_input_variables_mean_standard_deviation  ) 

This method sets both the mean and the standard deviation values of all the input variables. The format is a vector of two real vectors. The first element must contain the mean values for the input variables. The second elements must contain the standard deviation values for the input variables. These values are used for scaling the inputs to the neural network with the meand and standard deviation method.

Parameters:
new_input_variables_mean_standard_deviation New set of mean and standard deviation values for the input variables of the neural network.

Definition at line 4989 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variables_minimum ( const Vector< double > &  new_input_variables_minimum  ) 

This method sets new minimum values for all the input variables. These values are used for scaling the inputs to the neural network with the minimum and maximum method.

Parameters:
new_input_variables_minimum New set of minimum values for the input variables of the neural network.

Definition at line 5090 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variables_minimum_maximum ( const Vector< Vector< double > > &  new_input_variables_minimum_maximum  ) 

This method sets both the minimum and the maximum values of all the input variables. The format is a vector of two real vectors. The first element must contain the minimum values for the input variables. The second element must contain the maximum values for the input variables. These values are used for scaling the inputs to the neural network with the minimum and maximum method.

Parameters:
new_input_variables_minimum_maximum New set of minimum and maximum values for the input variables of the neural network.

Definition at line 5366 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variables_name ( const Vector< std::string > &  new_input_variables_name  ) 

This method sets the names of the input variables. Such values are only used to give the user basic information on the problem at hand.

Parameters:
new_input_variables_name New names for the input variables of the neural network.

Definition at line 4202 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variables_standard_deviation ( const Vector< double > &  new_input_variables_standard_deviation  ) 

This method sets new standard deviation values for all the input variables. These values are used for scaling the inputs to the neural network with the meand and standard deviation method.

Parameters:
new_input_variables_standard_deviation New set of standard deviation values for the input variables of the neural network.

Definition at line 4839 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_input_variables_units ( const Vector< std::string > &  new_input_variables_units  ) 

This method sets new units for all the input variables. Such values are only used to give the user basic information on the problem at hand.

Parameters:
new_input_variables_units New units for the input variables of the neural network.

Definition at line 4341 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_inputs_scaling_method ( const ScalingMethod new_inputs_scaling_method  ) 

This method sets the method to be used for scaling the inputs to the neural network.

Parameters:
new_inputs_scaling_method New scaling method for the input variables.

Definition at line 4113 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_network_architecture ( int  new_inputs_number,
int  new_hidden_layer_size,
int  new_outputs_number 
)

This method sets the architecture of the neural network with a single hidden layer. All the parameters of the neural network are initialized at random.

Parameters:
new_inputs_number New number of inputs in the neural network.
new_hidden_layer_size New numbers of neurons for the hidden layer of the neural network.
new_outputs_number New number of output neurons in the neural network.

Definition at line 3395 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_network_architecture ( int  new_inputs_number,
const Vector< int > &  new_hidden_layers_size,
int  new_outputs_number 
)

This method sets the architecture of the neural network with an arbitrary number of hidden layers. All the parameters of the neural network are initialized at random.

Parameters:
new_inputs_number New number of inputs in the neural network.
new_hidden_layers_size New numbers of neurons for the hidden layers of the neural network. The number of elements of this vector is the number of hidden layers.
new_outputs_number New number of output neurons in the neural network.

Definition at line 3292 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_neural_parameters ( const Vector< double > &  new_neural_parameters  ) 

This method sets all the biases and synaptic weights in the neural network from a single vector.

Parameters:
new_neural_parameters New set of biases and synaptic weights values.

Definition at line 3440 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_numerical_differentiation_method ( const NumericalDifferentiationMethod new_numerical_differentiation_method  ) 

This method sets the method to be used for the numerical differentiation of the Jacobian matrix for the multilayer perceptron.

Parameters:
new_numerical_differentiation_method New numerical differentiation method.

Definition at line 5745 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_numerical_epsilon ( double  new_numerical_epsilon  ) 

This method sets a new value of epsilon for the computation of the Jacobian matrix by means of numerical differentiation.

Parameters:
new_numerical_epsilon New value for epsilon.

Definition at line 5813 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_layer_activation_function ( const LayerActivationFunction new_output_layer_activation_function  ) 

This class sets a new activation (or transfer) function in the output layer.

Parameters:
new_output_layer_activation_function Activation function for the output layer.

Definition at line 3968 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_layer_biases ( const Vector< double > &  new_output_layer_biases  ) 

This method sets the biases of the output layer.

Parameters:
new_output_layer_biases New set of biases in the output layer.

Definition at line 3787 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_layer_synaptic_weights ( const Matrix< double > &  new_output_layer_synaptic_weights  ) 

This method sets the synaptic weights of the output layer in the neural network. The format is a matrix of real numbers. The number of rows is the number of outputs. The number of columns is the number of inputs to the output layer.

Parameters:
new_output_layer_synaptic_weights New set of synaptic weights in the output layer.

Definition at line 3823 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variable_description ( int  output_variable_index,
const std::string &  new_output_variable_description 
)

This method sets a new description for a single output variable. Such value is only used to give the user basic information on the problem at hand.

Parameters:
output_variable_index Index of output variable.
new_output_variable_description New description for the output variable with index i.

Definition at line 4584 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variable_lower_bound ( int  output_variable_index,
double  new_output_variable_lower_bound 
)

This method sets a new lower bound for a single output variable. This value is used for unscaling that output so that it is not less than the lower bound.

Parameters:
output_variable_index Index of output variable.
new_output_variable_lower_bound New lower bound for the output variable with index i.

Definition at line 5513 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variable_maximum ( int  output_variable_index,
double  new_output_variable_maximum 
)

This method sets a new maximum value for a single output variable. This value is used for unscaling that outputs from the neural network with the minimum and maximum method.

Parameters:
output_variable_index Index of output variable.
new_output_variable_maximum New maximum value for that output variable.

Definition at line 5326 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variable_mean ( int  output_variable_index,
double  new_output_variable_mean 
)

This method sets a new mean value for a single output variable. These values are used for unscaling the outputs form the neural network with the meand and standard deviation method.

Parameters:
output_variable_index Index of output variable.
new_output_variable_mean New mean value for the output variable with index i.

Definition at line 4799 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variable_minimum ( int  output_variable_index,
double  new_output_variable_minimum 
)

This method sets a new minimum value for a single output variable. This value is used for unscaling that outputs from the neural network with the minimum and maximum method.

Parameters:
output_variable_index Index of output variable.
new_output_variable_minimum New minimum value for that output variable.

Definition at line 5190 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variable_name ( int  output_layer_index,
const std::string &  new_output_variable_name 
)

This method sets the name of a single output variable. Such value is only used to give the user basic information on the problem at hand.

Parameters:
output_layer_index Index of output variable.
new_output_variable_name New name for the output variable with index i.

Definition at line 4305 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variable_standard_deviation ( int  output_variable_index,
double  new_output_variable_standard_deviation 
)

This method sets a new standard deviation value for a single output variable. These values are used for unscaling the outputs form the neural network with the meand and standard deviation method.

Parameters:
output_variable_index Index of output variable.
new_output_variable_standard_deviation New standard deviation value for that output variable.

Definition at line 4946 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variable_units ( int  output_variable_index,
const std::string &  new_output_variable_units 
)

This method sets new units for a single output variable. Such value is only used to give the user basic information on the problem at hand.

Parameters:
output_variable_index Index of output variable.
new_output_variable_units New units for that output variable.

Definition at line 4444 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variable_upper_bound ( int  output_variable_index,
double  new_output_variable_upper_bound 
)

This method sets a new upper bound for a single output variable. This value is used for unscaling that output so that it is not greater than the upper bound.

Parameters:
output_variable_index Index of output variable.
new_output_variable_upper_bound New upper bound for the output variable with index i.

Definition at line 5581 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_bounds ( const Vector< Vector< double > > &  new_output_variables_bounds  ) 

This method sets both the lower bounds and the upper bounds of all the output variables. The format is a vector of two real vectors. The first element must contain the lower bound values for the output variables. The second element must contain the upper bound values for the output variables. These values are used for unscaling the outputs so that they are neither less than the lower bounds nor greater than the upper bounds.

Parameters:
new_output_variables_bounds New set of lower and upper bounds for the output variables of the neural network.

Definition at line 5623 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_description ( const Vector< std::string > &  new_output_variables_description  ) 

This method sets new descriptions for all the output variables. Such values are only used to give the user basic information on the problem at hand.

Parameters:
new_output_variables_description New description for the output variables of the neural network.

Definition at line 4550 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_lower_bound ( const Vector< double > &  new_output_variables_lower_bound  ) 

This method sets new lower bounds for all the output variables. These values are used for unscaling the outputs so that they are not less than the lower bounds.

Parameters:
new_output_variables_lower_bound New set of lower bounds for the output variables of the neural network.

Definition at line 5481 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_maximum ( const Vector< double > &  new_output_variables_maximum  ) 

This method sets new maximum values for all the output variables. These values are used for unscaling the outputs from the neural network with the minimum and maximum method.

Parameters:
new_output_variables_maximum New set of maximum values for the output variables of the neural network.

Definition at line 5294 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_mean ( const Vector< double > &  new_output_variables_mean  ) 

This method sets new mean values for all the output variables. These values are used for unscaling the outputs from the neural network with the meand and standard deviation method.

Parameters:
new_output_variables_mean New set of mean values for the output variables of the neural network.

Definition at line 4767 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_mean_standard_deviation ( const Vector< Vector< double > > &  new_output_variables_mean_standard_deviation  ) 

This method sets both the mean and the standard deviation values of all the output variables. The format is a vector of two real vectors. The first element must contain the mean values for the output variables. The second element must contain the standard deviation values for the output variables.

Parameters:
new_output_variables_mean_standard_deviation New set of mean and standard deviation values for the output variables of the neural network.

Definition at line 5048 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_minimum ( const Vector< double > &  new_output_variables_minimum  ) 

This method sets new minimum values for all the output variables. These values are used for unscaling the outputs from the neural network with the minimum and maximum method.

Parameters:
new_output_variables_minimum New set of minimum values for the output variables of the neural network.

Definition at line 5158 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_minimum_maximum ( const Vector< Vector< double > > &  new_output_variables_minimum_maximum  ) 

This method sets both the minimum and the maximum values of all the output variables. The format is a vector of two real vectors. The first element must contain the minimum values for the output variables. The second element must contain the maximum values for the output variables. These values are used for unscaling the outputs from network with the minimum and maximum method.

Parameters:
new_output_variables_minimum_maximum New set of minimum and maximum values for the output variables of the neural network.

Definition at line 5426 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_name ( const Vector< std::string > &  new_output_variables_name  ) 

This method sets the names of the output variables. Such values are only used to give the user basic information on the problem at hand.

Parameters:
new_output_variables_name New names for the output variables of the neural network.

Definition at line 4272 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_standard_deviation ( const Vector< double > &  new_output_variables_standard_deviation  ) 

This method sets new standard deviation values for all the output variables. These values are used for unscaling the outputs from the neural network with the meand and standard deviation method.

Parameters:
new_output_variables_standard_deviation New set of standard deviation values for the output variables of the neural network.

Definition at line 4913 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_units ( const Vector< std::string > &  new_output_variables_units  ) 

This method sets new units for all the output variables. Such values are only used to give the user basic information on the problem at hand.

Parameters:
new_output_variables_units New units for the input variables of the neural network.

Definition at line 4410 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_output_variables_upper_bound ( const Vector< double > &  new_output_variables_upper_bound  ) 

This method sets new upper bounds for all the output variables. These values are used for unscaling the outputs so that they are not greater than the upper bounds.

Parameters:
new_output_variables_upper_bound New set of upper bounds for the output variables of the neural network.

Definition at line 5549 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_outputs_unscaling_method ( const ScalingMethod new_outputs_unscaling_method  ) 

This method sets the method to be used for unscaling the outputs from the neural network.

Parameters:
new_outputs_unscaling_method New unscaling method for the output variables.

Definition at line 4126 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_parameters ( const Vector< double > &  new_parameters  ) 

This method sets all the parameters (neural parameters and independent parameters) from a single vector.

Parameters:
new_parameters New set of parameter values.

Definition at line 6902 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_scaling_method ( const ScalingMethod new_scaling_method  ) 

This method sets a unique method for scaling inputs, unscaling outputs and scaling and unscaling the independent parameters.

Parameters:
new_scaling_method New scaling and unscaling method for the neural network and the independent parameters.

Definition at line 6968 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_variables_information ( const Vector< Vector< std::string > > &  new_variables_information  ) 

This method sets all the possible information about the input and output variables. The format is a vector of vectors of size six:

  • Name of input variables.
  • Name of output variables.
  • Units of input variables.
  • Units of output variables.
  • Description of input variables.
  • Description of output variables.

Parameters:
new_variables_information Input and output variables information.

Definition at line 4629 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::set_variables_statistics ( const Vector< Vector< double > > &  new_variables_statistics  ) 

This method sets all the available statistics about the input and output variables. The format is a vector of ten real vectors:

  • Mean of input variables.
  • Standard deviation of input variables.
  • Minimum of input variables.
  • Maximum of input variables.
  • Mean of output variables.
  • Standard deviation of output variables.
  • Minimum of output variables.
  • Maximum of output variables.

Parameters:
new_variables_statistics Input and output variables statistics.

Definition at line 5676 of file MultilayerPerceptron.cpp.

std::string Flood::MultilayerPerceptron::to_XML ( bool  show_declaration  ) 

This method returns a string representation of this multilayer perceptron object. The format of the string is XML-type. Please read the user's guide for more information about this.

Parameters:
show_declaration True if an XML-type declaration is to be included at the beginning.

Definition at line 9128 of file MultilayerPerceptron.cpp.

void Flood::MultilayerPerceptron::unscale_independent_parameters ( const Vector< double > &  scaled_independent_parameters  ) 

This method postprocesses the independendent parameters according to their scaling and unscaling method. This form of scaling is used when setting a new vector of parameters.

Definition at line 2978 of file MultilayerPerceptron.cpp.


Member Data Documentation

Display messages to screen.

Definition at line 989 of file MultilayerPerceptron.h.

Display warning messages when inputs are out of the range defined by minimums and maximums.

Definition at line 985 of file MultilayerPerceptron.h.

Network's hidden layer. It is built as a vector of vectors of perceptrons. The size of this vector is equal to the number of hidden layers. The size of each subvector is equal to the number of neurons in the corresponding layer.

Definition at line 830 of file MultilayerPerceptron.h.

Activation function of the hidden layers.

Definition at line 839 of file MultilayerPerceptron.h.

Number of neurons in each hidden layer of the neural network. The size of this vector is the number of hidden layers in the neural network. The value of each element is the number of neurons in the corresponding layer.

Definition at line 820 of file MultilayerPerceptron.h.

Independent parameters.

Definition at line 923 of file MultilayerPerceptron.h.

Description of independent parameters.

Definition at line 940 of file MultilayerPerceptron.h.

Lower bound of independent parameters.

Definition at line 962 of file MultilayerPerceptron.h.

Maximum of independent parameters.

Definition at line 957 of file MultilayerPerceptron.h.

Mean of independent parameters.

Definition at line 945 of file MultilayerPerceptron.h.

Minimum of independent parameters.

Definition at line 953 of file MultilayerPerceptron.h.

Name of independent parameters.

Definition at line 932 of file MultilayerPerceptron.h.

Independent parameters scaling and unscaling method.

Definition at line 927 of file MultilayerPerceptron.h.

Standard deviation of independent parameters.

Definition at line 949 of file MultilayerPerceptron.h.

Units of independent parameters.

Definition at line 936 of file MultilayerPerceptron.h.

Upper bound of independent parameters.

Definition at line 966 of file MultilayerPerceptron.h.

Description of input variables.

Definition at line 863 of file MultilayerPerceptron.h.

Maximum of input variables.

Definition at line 892 of file MultilayerPerceptron.h.

Mean of input variables.

Definition at line 880 of file MultilayerPerceptron.h.

Minimum of input variables.

Definition at line 888 of file MultilayerPerceptron.h.

Name of input variables.

Definition at line 855 of file MultilayerPerceptron.h.

Standard deviation of input variables.

Definition at line 884 of file MultilayerPerceptron.h.

Units of input variables.

Definition at line 859 of file MultilayerPerceptron.h.

Number of network inputs.

Definition at line 814 of file MultilayerPerceptron.h.

Scaling method for the input variables.

Definition at line 847 of file MultilayerPerceptron.h.

Numerical differentiation method variable. Numerical differentiation is used for computing the Jacobian matrix and the sensitivity matrix of the multilayer perceptron.

Definition at line 973 of file MultilayerPerceptron.h.

Numerical epsilon value.

Definition at line 981 of file MultilayerPerceptron.h.

Numerical epsilon method variable.

Definition at line 977 of file MultilayerPerceptron.h.

Network's output layer. It is built as a single vector of perceptrons. The size of this vector is equal to the number of outputs.

Definition at line 835 of file MultilayerPerceptron.h.

Activation function of the output layers.

Definition at line 843 of file MultilayerPerceptron.h.

Description of output variables.

Definition at line 875 of file MultilayerPerceptron.h.

Lower bound of output variables.

Definition at line 914 of file MultilayerPerceptron.h.

Maximum of output variables.

Definition at line 909 of file MultilayerPerceptron.h.

Mean of output variables.

Definition at line 897 of file MultilayerPerceptron.h.

Minimum of output variables.

Definition at line 905 of file MultilayerPerceptron.h.

Name of output variables.

Definition at line 867 of file MultilayerPerceptron.h.

Standard deviation of output variables.

Definition at line 901 of file MultilayerPerceptron.h.

Units of output variables.

Definition at line 871 of file MultilayerPerceptron.h.

Upper bound of output variables.

Definition at line 918 of file MultilayerPerceptron.h.

Number of output neurons in the neural network.

Definition at line 824 of file MultilayerPerceptron.h.

Unscaling method for the output variables.

Definition at line 851 of file MultilayerPerceptron.h.


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

Generated on Fri Jul 30 09:51:55 2010 for Flood by  doxygen 1.5.9