diff --git a/external_dependencies/boost b/external_dependencies/boost index 0792dde1c543aba10d66d634f923e6993f9699d3..03d255a85568f504c301a66b58edad30ae3f211d 160000 --- a/external_dependencies/boost +++ b/external_dependencies/boost @@ -1 +1 @@ -Subproject commit 0792dde1c543aba10d66d634f923e6993f9699d3 +Subproject commit 03d255a85568f504c301a66b58edad30ae3f211d diff --git a/src/LearningMethods/GradientDescent.cpp b/src/LearningMethods/GradientDescent.cpp index 0a013b01b315a2bfc5001d41e23e29a0a0ebfd3c..6c547da05175a00230ca663dddf6feecd467189c 100644 --- a/src/LearningMethods/GradientDescent.cpp +++ b/src/LearningMethods/GradientDescent.cpp @@ -106,6 +106,7 @@ void GradientDescent::optimize( ErrorFunction &ef ) { for(i = 0; i < gradient_current->size(); ++i){ (*params_prev)[i] = (*params_current)[i] - gamma * (*gradient_current)[i]; +// (*params_prev)[i] *= 0.95; } /* switcheroo */ diff --git a/src/examples/net_test_pde_1.cpp b/src/examples/net_test_pde_1.cpp index 53142b46836eff657672994b9fcb28bac6bfa96e..458ae93246df5679748b3131e515eafb81a57dad 100644 --- a/src/examples/net_test_pde_1.cpp +++ b/src/examples/net_test_pde_1.cpp @@ -241,8 +241,8 @@ void test_pde(double accuracy, size_t n_inner_neurons, size_t train_size, double solver_01.set_error_function( 1, ErrorFunctionType::ErrorFuncMSE, &ds_t ); solver_01.set_error_function( 2, ErrorFunctionType::ErrorFuncMSE, &ds_x ); - optimize_via_particle_swarm( solver_01, alpha_00, max_iters, n_particles ); - export_solution( n_test_points, te, ts, solver_01 , alpha_00, alpha_01, alpha_20, "particle_" ); +// optimize_via_particle_swarm( solver_01, alpha_00, max_iters, n_particles ); +// export_solution( n_test_points, te, ts, solver_01 , alpha_00, alpha_01, alpha_20, "particle_" ); optimize_via_gradient_descent( solver_01, accuracy ); @@ -261,9 +261,9 @@ int main() { std::cout << "Expressing solution as y(x, t) = sum over [a_i / (1 + exp(bi - wxi*x - wti*t))], i in [1, n], where n is the number of hidden neurons" <<std::endl; std::cout << "********************************************************************************************************************************************" <<std::endl; - unsigned int n_inner_neurons = 4; - unsigned int train_size = 50; - double accuracy = 1e-3; + unsigned int n_inner_neurons = 6; + unsigned int train_size = 20; + double accuracy = 1e-2; double ds = 0.0; double de = 1.0; @@ -271,8 +271,8 @@ int main() { double ts = ds; double te = de + 0; - size_t particle_swarm_max_iters = 1000; - size_t n_particles = 50; + size_t particle_swarm_max_iters = 100; + size_t n_particles = 10; test_pde(accuracy, n_inner_neurons, train_size, ds, de, test_size, ts, te, particle_swarm_max_iters, n_particles); return 0;