void NeuralNetworkTest::test_get_multilayer_perceptron_pointer(void) { message += "test_get_multilayer_perceptron_pointer\n"; NeuralNetwork nn; // Test nn.set(1, 1); assert_true(nn.get_multilayer_perceptron_pointer() != NULL, LOG); }
void GoldenSectionOrderTest::test_perform_order_selection(void) { message += "test_perform_order_selection\n"; std::string str; Matrix<double> data; Vector<Instances::Use> uses; NeuralNetwork nn; DataSet ds; PerformanceFunctional pf(&nn, &ds); TrainingStrategy ts(&pf); GoldenSectionOrder gs(&ts); GoldenSectionOrder::GoldenSectionOrderResults* results; // Test str = "-1 0\n" "-0.9 0\n" "-0.8 0\n" "-0.7 0\n" "-0.6 0\n" "-0.5 0\n" "-0.4 0\n" "-0.3 0\n" "-0.2 0\n" "-0.1 0\n" "0.0 0\n" "0.1 0\n" "0.2 0\n" "0.3 0\n" "0.4 0\n" "0.5 0\n" "0.6 0\n" "0.7 0\n" "0.8 0\n" "0.9 0\n" "1 0\n"; data.parse(str); ds.set(data); uses.set(21,Instances::Training); for (size_t i = 0; i < 11; i++) uses[2*i+1] = Instances::Generalization; ds.get_instances_pointer()->set_uses(uses); nn.set(1,3,1); nn.initialize_parameters(0.0); pf.set_objective_type(PerformanceFunctional::SUM_SQUARED_ERROR_OBJECTIVE); ts.set_main_type(TrainingStrategy::QUASI_NEWTON_METHOD); ts.get_quasi_Newton_method_pointer()->set_display(false); gs.set_trials_number(1); gs.set_maximum_order(7); gs.set_generalization_performance_goal(1.0e-3); gs.set_display(false); results = gs.perform_order_selection(); assert_true(nn.get_multilayer_perceptron_pointer()->arrange_layers_perceptrons_numbers()[0] == 1, LOG); assert_true(results->stopping_condition == OrderSelectionAlgorithm::GeneralizationPerformanceGoal, LOG); // Test str = "-1 -1\n" "-0.9 -0.9\n" "-0.8 -0.8\n" "-0.7 -0.7\n" "-0.6 -0.6\n" "-0.5 -0.5\n" "-0.4 -0.4\n" "-0.3 -0.3\n" "-0.2 -0.2\n" "-0.1 -0.1\n" "0.0 0.0\n" "0.1 0.1\n" "0.2 0.2\n" "0.3 0.3\n" "0.4 0.4\n" "0.5 0.5\n" "0.6 0.6\n" "0.7 0.7\n" "0.8 0.8\n" "0.9 0.9\n" "1 1\n"; data.parse(str); ds.set(data); uses.set(21,Instances::Training); for (size_t i = 0; i < 11; i++) uses[2*i+1] = Instances::Generalization; ds.get_instances_pointer()->set_uses(uses); nn.set(1,3,1); nn.initialize_parameters(0.0); pf.set_objective_type(PerformanceFunctional::SUM_SQUARED_ERROR_OBJECTIVE); ts.set_main_type(TrainingStrategy::QUASI_NEWTON_METHOD); ts.get_quasi_Newton_method_pointer()->set_display(false); gs.set_trials_number(1); gs.set_maximum_order(7); gs.set_generalization_performance_goal(0.0); gs.set_display(false); results = gs.perform_order_selection(); assert_true(nn.get_multilayer_perceptron_pointer()->arrange_layers_perceptrons_numbers()[0] == 1, LOG); }