14 #ifndef __PERFORMANCEFUNCTIONAL_H__
15 #define __PERFORMANCEFUNCTIONAL_H__
28 #include "numerical_differentiation.h"
31 #include "mathematical_model.h"
33 #include "neural_network.h"
34 #include "performance_term.h"
36 #include "sum_squared_error.h"
37 #include "mean_squared_error.h"
38 #include "root_mean_squared_error.h"
39 #include "normalized_squared_error.h"
40 #include "minkowski_error.h"
41 #include "cross_entropy_error.h"
42 #include "outputs_integrals.h"
43 #include "solutions_error.h"
44 #include "final_solutions_error.h"
45 #include "independent_parameters_error.h"
46 #include "inverse_sum_squared_error.h"
48 #include "neural_parameters_norm.h"
52 #include "../tinyxml2/tinyxml2.h"
160 SUM_SQUARED_ERROR_OBJECTIVE,
161 MEAN_SQUARED_ERROR_OBJECTIVE,
162 ROOT_MEAN_SQUARED_ERROR_OBJECTIVE,
163 NORMALIZED_SQUARED_ERROR_OBJECTIVE,
164 MINKOWSKI_ERROR_OBJECTIVE,
165 CROSS_ENTROPY_ERROR_OBJECTIVE,
166 OUTPUTS_INTEGRALS_OBJECTIVE,
167 SOLUTIONS_ERROR_OBJECTIVE,
168 FINAL_SOLUTIONS_ERROR_OBJECTIVE,
169 INDEPENDENT_PARAMETERS_ERROR_OBJECTIVE,
170 INVERSE_SUM_SQUARED_ERROR_OBJECTIVE,
179 NEURAL_PARAMETERS_NORM_REGULARIZATION,
180 OUTPUTS_INTEGRALS_REGULARIZATION,
189 OUTPUTS_INTEGRALS_CONSTRAINTS,
190 SOLUTIONS_ERROR_CONSTRAINTS,
191 FINAL_SOLUTIONS_ERROR_CONSTRAINTS,
192 INDEPENDENT_PARAMETERS_ERROR_CONSTRAINTS,
215 std::ostringstream buffer;
217 buffer <<
"OpenNN Exception: PerformanceFunctional class.\n"
218 <<
"NeuralNetwork* get_neural_network_pointer(void) const method.\n"
219 <<
"Neural network pointer is NULL.\n";
221 throw std::logic_error(buffer.str());
237 std::ostringstream buffer;
239 buffer <<
"OpenNN Exception: PerformanceFunctional class.\n"
240 <<
"MathematicalModel* get_mathematical_model_pointer(void) const method.\n"
241 <<
"MathematicalModel pointer is NULL.\n";
243 throw std::logic_error(buffer.str());
259 std::ostringstream buffer;
261 buffer <<
"OpenNN Exception: PerformanceFunctional class.\n"
262 <<
"DataSet* get_data_set_pointer(void) const method.\n"
263 <<
"DataSet pointer is NULL.\n";
265 throw std::logic_error(buffer.str());
434 virtual tinyxml2::XMLDocument*
to_XML(
void)
const;
435 virtual void from_XML(
const tinyxml2::XMLDocument&);
437 virtual std::string
to_string(
void)
const;
438 virtual void save(
const std::string&)
const;
439 virtual void load(
const std::string&);
443 void print(
void)
const;