#include "gnn_line_search.h"#include "gnn_trainer.h"Include dependency graph for gnn_conjugate_gradient.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | _gnn_conjugate_gradient |
Defines | |
| #define | GNN_CONJUGATE_GRADIENT_TOL 0.0001 |
| Default precision for line search procedures. | |
| #define | GNN_CONJUGATE_GRADIENT_STEP 0.1 |
| Default bracketing step taken by the line search procedures. | |
| #define | GNN_CONJUGATE_GRADIENT_RESTART 100 |
| Default restart. | |
| #define | GNN_CONJUGATE_GRADIENT_ALPHA gnn_line_search_brent |
| Default line search procedure. | |
| #define | GNN_CONJUGATE_GRADIENT_BETA gnn_conjugate_gradient_polak_ribiere |
Default
. | |
Typedefs | |
| typedef double(* | gnn_conjugate_gradient_beta )(gnn_trainer *trainer) |
Type for
evaluation procedures. | |
| typedef _gnn_conjugate_gradient | gnn_conjugate_gradient |
| Conjugate gradients trainer structure. | |
Functions | |
| gnn_trainer * | gnn_conjugate_gradient_new (gnn_node *node, gnn_criterion *crit, gnn_dataset *data) |
| Creates a new conjugate gradient descent trainer. | |
| double | gnn_conjugate_gradient_polak_ribiere (gnn_trainer *trainer) |
The Polak-Ribière form for the
coefficient. | |
| double | gnn_conjugate_gradient_hestenes_stiefel (gnn_trainer *trainer) |
The Hestenes-Stiefel form for the
coefficient. | |
| double | gnn_conjugate_gradient_fletcher_reeves (gnn_trainer *trainer) |
The Fletcher-Reeves form for the
coefficient. | |
| int | gnn_conjugate_gradient_set_tol (gnn_trainer *trainer, double tol) |
| Sets the precision tolerance for the line search procedure. | |
| double | gnn_conjugate_gradient_get_tol (gnn_trainer *trainer) |
| Gets the tolerance for the line search procedure. | |
| int | gnn_conjugate_gradient_set_step (gnn_trainer *trainer, double step) |
| Sets the initial step for the interval bracketing procedure. | |
| double | gnn_conjugate_gradient_get_step (gnn_trainer *trainer) |
| Gets the initial step for the interval bracketing procedure. | |
| int | gnn_conjugate_gradient_set_restart (gnn_trainer *trainer, size_t restart) |
| Sets the number of iterations before restarting. | |
| size_t | gnn_conjugate_gradient_get_restart (gnn_trainer *trainer) |
| Gets the number of iterations before reinitializing the direction. | |
| int | gnn_conjugate_gradient_set_line_search (gnn_trainer *trainer, gnn_line_search_type lsearch) |
| Sets the line search procedure. | |
| gnn_line_search_type | gnn_conjugate_gradient_get_alpha (gnn_trainer *trainer) |
| Gets the installed line search procedure. | |
| int | gnn_conjugate_gradient_set_beta (gnn_trainer *trainer, gnn_conjugate_gradient_beta beta) |
Sets the form of the
coefficient. | |
| gnn_conjugate_gradient_beta | gnn_conjugate_gradient_get_beta (gnn_trainer *trainer) |
Gets the
evaluation function. | |
|
|
This function returns the Fletcher-Reeves form of the
where
Definition at line 404 of file gnn_conjugate_gradient.c. |
|
|
Definition at line 613 of file gnn_conjugate_gradient.c. |
|
|
This function returns a pointer to the installed
Definition at line 671 of file gnn_conjugate_gradient.c. |
|
|
This function returns the number of iterations executed by the conjugate gradients trainer before reinitializing the search direction.
Definition at line 556 of file gnn_conjugate_gradient.c. |
|
|
Definition at line 505 of file gnn_conjugate_gradient.c. |
|
|
Definition at line 457 of file gnn_conjugate_gradient.c. |
|
|
This function returns the Hestenes-Stiefel form of the
where
Definition at line 368 of file gnn_conjugate_gradient.c. |
|
||||||||||||||||
|
This function creates a new conjugate gradients trainer (gnn_conjugate_gradient : Conjugate Gradient Descent Algorithm.).
Definition at line 251 of file gnn_conjugate_gradient.c. |
|
|
This function returns the Polak-Ribière form of the
where
Definition at line 333 of file gnn_conjugate_gradient.c. |
|
||||||||||||
|
This function sets a new form for evaluating the
gnn_trainer *trainer; trainer = gnn_conjugate_gradient_new (node, crit, data); // use the Fletcher-Reeves form gnn_conjugate_gradient_set_beta (trainer, gnn_conjugate_gradient_fletcher_reeves);
Definition at line 645 of file gnn_conjugate_gradient.c. |
|
||||||||||||
|
This function sets a new line search procedure used by the conjugate gradients trainer.
gnn_trainer *trainer; trainer = gnn_conjugate_gradient_new (node, crit, data); // use the Golden-Section line search gnn_conjugate_gradient_set_line_search (trainer, gnn_line_search_golden); Please refer to (Line Search Procedures for Nodes.) for the available line search procedures.
Definition at line 590 of file gnn_conjugate_gradient.c. |
|
||||||||||||
|
Definition at line 525 of file gnn_conjugate_gradient.c. |
|
||||||||||||
|
Definition at line 477 of file gnn_conjugate_gradient.c. |
|
||||||||||||
|
Definition at line 429 of file gnn_conjugate_gradient.c. |
1.2.18