mirror of
https://github.com/boostorg/math.git
synced 2026-02-24 16:12:15 +00:00
remove boost::random dependency. update docs
This commit is contained in:
@@ -1022,9 +1022,9 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/complements.html" title="Complements are supported too - and when to use them"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation"><span class="index-entry-level-1">Confidence Intervals on the Standard Deviation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/autodiff0.html" title="Reverse Mode Automatic Differentiation"><span class="index-entry-level-1">Reverse Mode Automatic Differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html" title="Testing a sample mean for difference from a "true" mean"><span class="index-entry-level-1">Testing a sample mean for difference from a "true" mean</span></a></p></li>
|
||||
</ul></div>
|
||||
@@ -1616,7 +1616,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/airy_root.html" title="Finding Zeros of Airy Functions"><span class="index-entry-level-1">Finding Zeros of Airy Functions</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/heuman_lambda.html" title="Heuman Lambda Function"><span class="index-entry-level-1">Heuman Lambda Function</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
|
||||
@@ -2759,7 +2759,7 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">make_gradient_descent</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">make_lbfgs</span></p>
|
||||
@@ -2767,7 +2767,7 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">make_nag</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">mapairy_distribution</span></p>
|
||||
@@ -2987,7 +2987,7 @@
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">norm</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
|
||||
@@ -3660,7 +3660,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/differential_evolution.html" title="Differential Evolution"><span class="index-entry-level-1">Differential Evolution</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/estrin.html" title="Estrin's method for polynomial evaluation"><span class="index-entry-level-1">Estrin's method for polynomial evaluation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
@@ -3800,11 +3800,11 @@
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">step</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lambert_w.html" title="Lambert W function"><span class="index-entry-level-1">Lambert W function</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/minimize.html" title="minimize"><span class="index-entry-level-1">minimize</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/students_t_dist.html" title="Students t Distribution"><span class="index-entry-level-0">students_t_distribution</span></a></p></li>
|
||||
@@ -4042,9 +4042,9 @@
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">unif01</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
@@ -4135,7 +4135,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/empirical_cdf.html" title="Empirical Cumulative Distribution Function"><span class="index-entry-level-1">Empirical Cumulative Distribution Function</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/diff0.html" title="Lanczos Smoothing Derivatives"><span class="index-entry-level-1">Lanczos Smoothing Derivatives</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/t_test.html" title="t-tests"><span class="index-entry-level-1">t -tests</span></a></p></li>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<dd><div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">abstract_optimizer</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/arcine_dist.html" title="Arcsine Distribution"><span class="index-entry-level-0">arcsine_distribution</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
@@ -266,10 +266,7 @@
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gauss_kronrod.html" title="Gauss-Kronrod Quadrature"><span class="index-entry-level-1">Gauss-Kronrod Quadrature</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/geometric_dist.html" title="Geometric Distribution"><span class="index-entry-level-0">geometric_distribution</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">gradient_descent</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-0">gradient_descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">gradient_norm_convergence_policy</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/minimize.html" title="minimize"><span class="index-entry-level-1">minimize</span></a></p></li></ul></div>
|
||||
@@ -377,11 +374,11 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-0">negative_binomial_distribution</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">nesterov_accelerated_gradient</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">nesterov_update_policy</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">nonfinite_num_get</span></p>
|
||||
@@ -513,9 +510,9 @@
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">rvar</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/autodiff0.html" title="Reverse Mode Automatic Differentiation"><span class="index-entry-level-1">Reverse Mode Automatic Differentiation</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">abstract_optimizer</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">accuracy</span></p>
|
||||
@@ -696,6 +696,10 @@
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_intro.html" title="About the Math Toolkit"><span class="index-entry-level-1">About the Math Toolkit</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/autodiff.html" title="Automatic Differentiation"><span class="index-entry-level-1">Automatic Differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/introduction.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/policies.html" title="Reverse Mode autodiff policies"><span class="index-entry-level-1">Reverse Mode autodiff policies</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/autodiff0.html" title="Reverse Mode Automatic Differentiation"><span class="index-entry-level-1">Reverse Mode Automatic Differentiation</span></a></p></li>
|
||||
</ul></div>
|
||||
@@ -3317,13 +3321,13 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/credits.html" title="Credits and Acknowledgements"><span class="index-entry-level-1">Credits and Acknowledgements</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/f_dist.html" title="F Distribution"><span class="index-entry-level-1">F Distribution</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/root_finding_examples/nth_root.html" title="Generalizing to Compute the nth root"><span class="index-entry-level-1">Generalizing to Compute the nth root</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/introduction.html" title="Introduction"><span class="index-entry-level-1">Introduction</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/issues.html" title="Known Issues, and TODO List"><span class="index-entry-level-1">Known Issues, and TODO List</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/diff0.html" title="Lanczos Smoothing Derivatives"><span class="index-entry-level-1">Lanczos Smoothing Derivatives</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/diff.html" title="Numerical Differentiation"><span class="index-entry-level-1">Numerical Differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../quadrature.html" title="Chapter 14. Quadrature and Differentiation"><span class="index-entry-level-1">Quadrature and Differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/policies.html" title="Reverse Mode autodiff policies"><span class="index-entry-level-1">Reverse Mode autodiff policies</span></a></p></li>
|
||||
@@ -3411,9 +3415,9 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/complements.html" title="Complements are supported too - and when to use them"><span class="index-entry-level-1">Complements are supported too - and when to use them</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/cs_eg/chi_sq_intervals.html" title="Confidence Intervals on the Standard Deviation"><span class="index-entry-level-1">Confidence Intervals on the Standard Deviation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/error_eg.html" title="Error Handling Example"><span class="index-entry-level-1">Error Handling Example</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/autodiff0.html" title="Reverse Mode Automatic Differentiation"><span class="index-entry-level-1">Reverse Mode Automatic Differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/st_eg/tut_mean_test.html" title="Testing a sample mean for difference from a "true" mean"><span class="index-entry-level-1">Testing a sample mean for difference from a "true" mean</span></a></p></li>
|
||||
</ul></div>
|
||||
@@ -4723,6 +4727,8 @@
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/directories.html" title="Directory and File Structure"><span class="index-entry-level-1">Directory and File Structure</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/weg/dist_construct_eg.html" title="Distribution Construction Examples"><span class="index-entry-level-1">Distribution Construction Examples</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_mem_fun.html" title="Octonion Member Functions"><span class="index-entry-level-1">Octonion Member Functions</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/quat_overview.html" title="Overview"><span class="index-entry-level-1">Overview</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/double_exponential/de_tanh_sinh.html" title="tanh_sinh"><span class="index-entry-level-1">tanh_sinh</span></a></p></li>
|
||||
@@ -5107,7 +5113,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/sf_erf/error_inv.html" title="Error Function Inverses"><span class="index-entry-level-1">Error Function Inverses</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/airy/airy_root.html" title="Finding Zeros of Airy Functions"><span class="index-entry-level-1">Finding Zeros of Airy Functions</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/stat_tut/overview/generic.html" title="Generic operations common to all distributions are non-member functions"><span class="index-entry-level-1">Generic operations common to all distributions are non-member functions</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/ellint/heuman_lambda.html" title="Heuman Lambda Function"><span class="index-entry-level-1">Heuman Lambda Function</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/special_tut/special_tut_impl.html" title="Implementation"><span class="index-entry-level-1">Implementation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/inverse_chi_squared_dist.html" title="Inverse Chi Squared Distribution"><span class="index-entry-level-1">Inverse Chi Squared Distribution</span></a></p></li>
|
||||
@@ -5393,7 +5399,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/main_faq.html" title="Boost.Math Frequently Asked Questions (FAQs)"><span class="index-entry-level-1">Boost.Math Frequently Asked Questions (FAQs)</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/contact.html" title="Contact Info and Support"><span class="index-entry-level-1">Contact Info and Support</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/history1.html" title="History and What's New"><span class="index-entry-level-1">History and What's New</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/hints.html" title="Other Hints and tips"><span class="index-entry-level-1">Other Hints and tips</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/signal_statistics.html" title="Signal Statistics"><span class="index-entry-level-1">Signal Statistics</span></a></p></li>
|
||||
</ul></div>
|
||||
@@ -5410,23 +5416,21 @@
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/autodiff0.html" title="Reverse Mode Automatic Differentiation"><span class="index-entry-level-1">Reverse Mode Automatic Differentiation</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">Gradient Desccent</span></p>
|
||||
<p><span class="index-entry-level-0">Gradient Descent</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">dist</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">function</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">gradient_descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">make_gradient_descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">norm</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">rvar</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">step</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">unif01</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">autodiff</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">dist</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">function</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><span class="bold"><strong><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">gradient_descent</span></a></strong></span></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">make_gradient_descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">norm</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">rvar</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">step</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">unif01</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">gradient_descent</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-0">gradient_descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">gradient_norm_convergence_policy</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/minimize.html" title="minimize"><span class="index-entry-level-1">minimize</span></a></p></li></ul></div>
|
||||
@@ -6158,6 +6162,7 @@
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_intro.html" title="Introduction"><span class="index-entry-level-1">accuracy</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets/facets_intro.html" title="Introduction"><span class="index-entry-level-1">assert</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/introduction.html" title="Introduction"><span class="index-entry-level-1">autodiff</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets/facets_intro.html" title="Introduction"><span class="index-entry-level-1">BOOST_MATH_ASSERT</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/fp_facets/facets_intro.html" title="Introduction"><span class="index-entry-level-1">case</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/constants_intro.html" title="Introduction"><span class="index-entry-level-1">constants</span></a></p></li>
|
||||
@@ -6677,8 +6682,10 @@
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">L-BFGS</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">autodiff</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">dist</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">file</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">lbfgs</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">make_lbfgs</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">rvar</span></a></p></li>
|
||||
@@ -7397,7 +7404,7 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">make_gradient_descent</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">make_lbfgs</span></p>
|
||||
@@ -7405,7 +7412,7 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">make_nag</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">makima</span></p>
|
||||
@@ -7801,29 +7808,31 @@
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution"><span class="index-entry-level-0">negative_binomial_distribution</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">Nesterov Accelerated Gradient Desccent</span></p>
|
||||
<p><span class="index-entry-level-0">Nesterov Accelerated Gradient Descent</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">abstract_optimizer</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">dist</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">GIT</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">make_nag</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">nesterov_accelerated_gradient</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">nesterov_update_policy</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">rvar</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">size</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">step</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">unif01</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">v</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">abstract_optimizer</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">autodiff</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">differentiation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">dist</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">file</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">GIT</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">make_nag</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">nesterov_accelerated_gradient</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">nesterov_update_policy</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">rvar</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">size</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">step</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">unif01</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">v</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">nesterov_accelerated_gradient</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">nesterov_update_policy</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li></ul></div>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li></ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">newton_raphson_iterate</span></p>
|
||||
@@ -8009,7 +8018,7 @@
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">norm</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/oct_value_ops.html" title="Octonion Value Operations"><span class="index-entry-level-1">Octonion Value Operations</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/value_op.html" title="Quaternion Value Operations"><span class="index-entry-level-1">Quaternion Value Operations</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/pol_tutorial/namespace_policies.html" title="Setting Policies at Namespace or Translation Unit Scope"><span class="index-entry-level-1">Setting Policies at Namespace or Translation Unit Scope</span></a></p></li>
|
||||
@@ -9401,9 +9410,9 @@
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">rvar</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/autodiff0.html" title="Reverse Mode Automatic Differentiation"><span class="index-entry-level-1">Reverse Mode Automatic Differentiation</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
@@ -9701,7 +9710,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/differential_evolution.html" title="Differential Evolution"><span class="index-entry-level-1">Differential Evolution</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/estrin.html" title="Estrin's method for polynomial evaluation"><span class="index-entry-level-1">Estrin's method for polynomial evaluation</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/internals/test_data.html" title="Graphing, Profiling, and Generating Test Data for Special Functions"><span class="index-entry-level-1">Graphing, Profiling, and Generating Test Data for Special Functions</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/polynomials.html" title="Polynomials"><span class="index-entry-level-1">Polynomials</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
@@ -9914,11 +9923,11 @@
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">step</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/lambert_w.html" title="Lambert W function"><span class="index-entry-level-1">Lambert W function</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/minimize.html" title="minimize"><span class="index-entry-level-1">minimize</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
@@ -10527,9 +10536,9 @@
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
<p><span class="index-entry-level-0">unif01</span></p>
|
||||
<div class="index"><ul class="index" style="list-style-type: none; ">
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Desccent"><span class="index-entry-level-1">Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/gradient_descent.html" title="Gradient Descent"><span class="index-entry-level-1">Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/lbfgs.html" title="L-BFGS"><span class="index-entry-level-1">L-BFGS</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li class="listitem" style="list-style-type: none">
|
||||
@@ -10783,7 +10792,7 @@
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/empirical_cdf.html" title="Empirical Cumulative Distribution Function"><span class="index-entry-level-1">Empirical Cumulative Distribution Function</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/diff0.html" title="Lanczos Smoothing Derivatives"><span class="index-entry-level-1">Lanczos Smoothing Derivatives</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Modified Bessel Functions of the First and Second Kinds</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Desccent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Desccent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/gd_opt/nesterov.html" title="Nesterov Accelerated Gradient Descent"><span class="index-entry-level-1">Nesterov Accelerated Gradient Descent</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution"><span class="index-entry-level-1">Noncentral Chi-Squared Distribution</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds"><span class="index-entry-level-1">Spherical Bessel Functions of the First and Second Kinds</span></a></p></li>
|
||||
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../math_toolkit/t_test.html" title="t-tests"><span class="index-entry-level-1">t -tests</span></a></p></li>
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="gd_opt/introduction.html">Introduction</a></span></dt>
|
||||
<dt><span class="section"><a href="gd_opt/gradient_descent.html">Gradient Desccent</a></span></dt>
|
||||
<dt><span class="section"><a href="gd_opt/gradient_descent.html">Gradient Descent</a></span></dt>
|
||||
<dt><span class="section"><a href="gd_opt/nesterov.html">Nesterov Accelerated Gradient
|
||||
Desccent</a></span></dt>
|
||||
Descent</a></span></dt>
|
||||
<dt><span class="section"><a href="gd_opt/lbfgs.html">L-BFGS</a></span></dt>
|
||||
<dt><span class="section"><a href="gd_opt/minimize.html">minimize</a></span></dt>
|
||||
<dt><span class="section"><a href="gd_opt/policies.html">Reverse Mode autodiff policies</a></span></dt>
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Gradient Desccent</title>
|
||||
<title>Gradient Descent</title>
|
||||
<link rel="stylesheet" href="../../math.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||||
<link rel="home" href="../../index.html" title="Math Toolkit 4.2.1">
|
||||
<link rel="up" href="../gd_opt.html" title="Gradient Based Optimizers">
|
||||
<link rel="prev" href="introduction.html" title="Introduction">
|
||||
<link rel="next" href="nesterov.html" title="Nesterov Accelerated Gradient Desccent">
|
||||
<link rel="next" href="nesterov.html" title="Nesterov Accelerated Gradient Descent">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@@ -25,7 +25,7 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="math_toolkit.gd_opt.gradient_descent"></a><a class="link" href="gradient_descent.html" title="Gradient Desccent">Gradient Desccent</a>
|
||||
<a name="math_toolkit.gd_opt.gradient_descent"></a><a class="link" href="gradient_descent.html" title="Gradient Descent">Gradient Descent</a>
|
||||
</h3></div></div></div>
|
||||
<h5>
|
||||
<a name="math_toolkit.gd_opt.gradient_descent.h0"></a>
|
||||
@@ -101,7 +101,7 @@
|
||||
</pre>
|
||||
<p>
|
||||
where <code class="computeroutput"><span class="identifier">lr</span></code> is a user defined
|
||||
learning rate. For a more complete decription of the theoretical principle
|
||||
learning rate. For a more complete description of the theoretical principle
|
||||
check <a href="https://en.wikipedia.org/wiki/Gradient_descent" target="_top">the wikipedia
|
||||
page</a>
|
||||
</p>
|
||||
@@ -123,7 +123,7 @@
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">Objective</span><span class="special">&&</span>
|
||||
<span class="identifier">obj</span></code> : objective funciton to
|
||||
<span class="identifier">obj</span></code> : objective function to
|
||||
minimize
|
||||
</li>
|
||||
<li class="listitem">
|
||||
@@ -134,15 +134,21 @@
|
||||
<code class="computeroutput"><span class="identifier">RealType</span><span class="special">&</span>
|
||||
<span class="identifier">lr</span></code> : learning rate. A larger
|
||||
value takes larger steps during descent, leading to faster, but more
|
||||
unstable convergence. Conversely, small vaues are more stable but take
|
||||
unstable convergence. Conversely, small values are more stable but take
|
||||
longer to converge.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">InitializationPolicy</span><span class="special">&&</span> <span class="identifier">ip</span></code>
|
||||
: Initialization policy for <code class="computeroutput"><span class="identifier">ArgumentContainer</span></code>,
|
||||
or the initial guess. By default it is set to <code class="computeroutput"><span class="identifier">tape_initializer_rvar</span><span class="special"><</span><span class="identifier">RealType</span><span class="special">></span></code> which lets the user provide the "initial
|
||||
guess" by setting the values of <code class="computeroutput"><span class="identifier">x</span></code>
|
||||
manually. For more info check the Policies section.
|
||||
: Initialization policy for optimizer state and variables. Users may
|
||||
supply a custom initialization policy to control how the argument container
|
||||
and any AD specific runtime state : i.e. reverse-mode tape attachment/reset
|
||||
are initialized. By default, the optimizer uses the user-provided initial
|
||||
values in x and performs the standard reverse mode AD initialization
|
||||
required for gradient evaluation. Custom initialization policies are
|
||||
useful for randomized starts, non rvar AD types, or when gradients are
|
||||
supplied externally. See the reverse-mode autodiff policy documentation
|
||||
for the required initialization policy interface when writing custom
|
||||
policies.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">ObjectiveEvalPolicy</span><span class="special">&&</span>
|
||||
@@ -151,7 +157,7 @@
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">GradEvalPolicy</span><span class="special">&&</span>
|
||||
<span class="identifier">gep</span></code> : tells the optimzier how
|
||||
<span class="identifier">gep</span></code> : tells the optimizer how
|
||||
to evaluate the gradient of the objective function. By default <code class="computeroutput"><span class="identifier">reverse_mode_gradient_evaluation_policy</span><span class="special"><</span><span class="identifier">RealType</span><span class="special">></span></code>
|
||||
</li>
|
||||
</ul></div>
|
||||
@@ -173,8 +179,8 @@
|
||||
<span class="inlinemediaobject"><img src="../../../equations/autodiff/thomson_potential.svg"></span>
|
||||
</p></blockquote></div></blockquote></div>
|
||||
<p>
|
||||
The code below manually minimizes the abover potential energy function for
|
||||
N particles over their two angular pozitions.
|
||||
The code below manually minimizes the above potential energy function for
|
||||
N particles over their two angular positions.
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">differentiation</span><span class="special">/</span><span class="identifier">autodiff_reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">optimization</span><span class="special">/</span><span class="identifier">gradient_descent</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
@@ -319,7 +325,7 @@
|
||||
<pre class="programlisting"><span class="keyword">const</span> <span class="keyword">double</span> <span class="identifier">lr</span> <span class="special">=</span> <span class="number">1e-3</span><span class="special">;</span></pre>
|
||||
<p>
|
||||
is the optimizer learning rate. Using the code the way its written, the optimizer
|
||||
runs for 100000 steps. Running tthe program with
|
||||
runs for 100000 steps. Running the program with
|
||||
</p>
|
||||
<pre class="programlisting"><span class="special">./</span><span class="identifier">thomson_sphere</span> <span class="identifier">N</span>
|
||||
</pre>
|
||||
@@ -332,7 +338,7 @@
|
||||
</p></blockquote></div></blockquote></div>
|
||||
<p>
|
||||
Below is a plot of the final energy of the system, and its deviation from
|
||||
the theoretically predicted values. The table of theorical energy values
|
||||
the theoretically predicted values. The table of theoretical energy values
|
||||
for the problem is from <a href="https://en.wikipedia.org/wiki/Thomson_problem" target="_top">wikipedia</a>.
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote"><div class="blockquote"><blockquote class="blockquote"><p>
|
||||
@@ -346,7 +352,7 @@
|
||||
<p>
|
||||
Often, we don't want to actually implement our own stepping function, i.e.
|
||||
we care about certain convergence criteria. In the above example, we need
|
||||
to include the minimier.hpp header:
|
||||
to include the minimizer.hpp header:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">optimization</span><span class="special">/</span><span class="identifier">minimizer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<link rel="home" href="../../index.html" title="Math Toolkit 4.2.1">
|
||||
<link rel="up" href="../gd_opt.html" title="Gradient Based Optimizers">
|
||||
<link rel="prev" href="../gd_opt.html" title="Gradient Based Optimizers">
|
||||
<link rel="next" href="gradient_descent.html" title="Gradient Desccent">
|
||||
<link rel="next" href="gradient_descent.html" title="Gradient Descent">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@@ -28,13 +28,713 @@
|
||||
<a name="math_toolkit.gd_opt.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
Gradient based optimizers are algorithms that use the gradient of a funciton
|
||||
Gradient based optimizers are algorithms that use the gradient of a function
|
||||
to iteratively find locally extreme points of functions over a set of parameters.
|
||||
This sections provides a description of a set of gradient optimizers. The
|
||||
optimizers are written with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">differentiation</span><span class="special">::</span><span class="identifier">reverse_mode</span><span class="special">::</span><span class="identifier">rvar</span></code>
|
||||
in mind, however if a way to evaluate the funciton and its gradient is provided,
|
||||
the optimizers should work in exactly the same way.
|
||||
</p>
|
||||
<p>
|
||||
Below is a table that summarizes the intended usage patterns of the provided
|
||||
optimizers and policies, and is meant as a practical guide rather than a
|
||||
strict prescription:
|
||||
</p>
|
||||
<h2>
|
||||
<a name="math_toolkit.gd_opt.introduction.h0"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.introduction.table-optimizers"></a></span><a class="link" href="introduction.html#math_toolkit.gd_opt.introduction.table-optimizers">List
|
||||
of Optimizers</a>
|
||||
</h2>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Optimizer
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Order
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Uses Curvature
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Memory Cost
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Intended Problem Class
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
When to Use
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
gradient descent
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
first
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
no
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
low
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Smooth, well-scaled objectives
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Baseline method; debugging; when behavior transparency matters
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
nesterov accelerated gradient
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
first
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
no
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
low
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Ill-conditioned or narrow-valley problems
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
When plain gradient descent converges slowly or oscillates
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
L-BFGS
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
quasi second order
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
approximate
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
medium
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Smooth, deterministic objectives
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
When gradients are reliable and faster convergence is needed
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<h2>
|
||||
<a name="math_toolkit.gd_opt.introduction.h1"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.introduction.table-optimizer-policies"></a></span><a class="link" href="introduction.html#math_toolkit.gd_opt.introduction.table-optimizer-policies">Optimizer
|
||||
Policies</a>
|
||||
</h2>
|
||||
<h5>
|
||||
<a name="math_toolkit.gd_opt.introduction.h2"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.introduction.initialization_policies"></a></span><a class="link" href="introduction.html#math_toolkit.gd_opt.introduction.initialization_policies">Initialization
|
||||
Policies</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Policy
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Use case
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Responsibilities
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
tape_initializer_rvar
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
User initialzes all varibles manually
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
initializes tape
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
random_uniform_initializer_rvar
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initializes all variables with a random number between a min and
|
||||
max value
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initializes variables. Initializes tape.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
costant_initializer_rvar
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initializes all variables with a constant
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Initializes variables. Initializes tape.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<h5>
|
||||
<a name="math_toolkit.gd_opt.introduction.h3"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.introduction.evaluation_policies"></a></span><a class="link" href="introduction.html#math_toolkit.gd_opt.introduction.evaluation_policies">Evaluation
|
||||
Policies</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Policy
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Use case
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Responsibilities
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
reverse_mode_function_eval_policy
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Default. User with boost reverse mode autodiff
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
tells the optimizer how to evaluate the objective
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
reverse_mode_gradient_evaluation_policy
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Default. User with boost reverse mode autodiff
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
tells the optimizer how to evaluate the gradients of an objective
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<p>
|
||||
These policies are intended to use with boost reverse mode autodiff. If you
|
||||
need to use the optimizers with a custom AD variable, or by providing the
|
||||
gradient of an objective manually, check the docs for policies to see how
|
||||
the policies are implemented.
|
||||
</p>
|
||||
<h2>
|
||||
<a name="math_toolkit.gd_opt.introduction.h4"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.introduction.line-search-policies"></a></span><a class="link" href="introduction.html#math_toolkit.gd_opt.introduction.line-search-policies">LBFGS line
|
||||
search policies</a>
|
||||
</h2>
|
||||
<p>
|
||||
the table below summarizes the two line search policies provided for use
|
||||
with LBFGS.
|
||||
</p>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Policy
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Enforced Conditions
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Per iteration cost
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Convergence
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Use case
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
Strong Wolfe
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
function decrease. curvature condition
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
higher
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
faster
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
most of the time
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
Armijo
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
function decrease only
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
lower
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
slower
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
you know what you're doing
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<h2>
|
||||
<a name="math_toolkit.gd_opt.introduction.h5"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.introduction.minimizer-policies"></a></span><a class="link" href="introduction.html#math_toolkit.gd_opt.introduction.minimizer-policies">Minimizer
|
||||
Policies</a>
|
||||
</h2>
|
||||
<h5>
|
||||
<a name="math_toolkit.gd_opt.introduction.h6"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.introduction.convergence_policies"></a></span><a class="link" href="introduction.html#math_toolkit.gd_opt.introduction.convergence_policies">Convergence
|
||||
Policies</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Policy
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Criterion
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
When to Use
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
gradient_norm_convergence_policy
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
gradient norm < tol
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Default. Stationarity based condition
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
objective_tol_convergence_policy
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
absolute difference between objective steps is small
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Well-scaled objectives
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
relative_objective_tol_policy
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
relative difference between objective steps is small
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Scale-invariant convergence
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
combined_convergence_policy
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
logical combination OR
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
you need a combination of convergence conditions
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<h5>
|
||||
<a name="math_toolkit.gd_opt.introduction.h7"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.introduction.termination_policies"></a></span><a class="link" href="introduction.html#math_toolkit.gd_opt.introduction.termination_policies">Termination
|
||||
Policies</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Policy
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Controls
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
When to Use
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
max_iter_termination_policy
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
iteration count
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Hard safety bound (almost always recommended)
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
wallclock_termination_policy
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
wall clock time
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
benchmarking, real-time constraints
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<h5>
|
||||
<a name="math_toolkit.gd_opt.introduction.h8"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.introduction.constraint_and_projection_polici"></a></span><a class="link" href="introduction.html#math_toolkit.gd_opt.introduction.constraint_and_projection_polici">Constraint
|
||||
and Projection Policies</a>
|
||||
</h5>
|
||||
<div class="informaltable"><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Policy
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Constraint Type
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
unconstrained_policy
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
No constraint
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
box_constraints
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
upper/lower bound clip
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
nonnegativity_constraint
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
set everything below 0, to 0
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
l2_ball_constraint
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
2-norm(x) < r
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
l1_ball_constraint
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
1-norm(x) < r
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
simplex_constraint
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Probability simplex
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
function_constraint
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
custom user provided function wrapper
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
unit_sphere_constraint
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
2-norm(x) = 1
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="copyright-footer">Copyright © 2006-2021 Nikhar Agrawal, Anton Bikineev, Matthew Borland,
|
||||
Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert Holin, Bruno
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||||
<link rel="home" href="../../index.html" title="Math Toolkit 4.2.1">
|
||||
<link rel="up" href="../gd_opt.html" title="Gradient Based Optimizers">
|
||||
<link rel="prev" href="nesterov.html" title="Nesterov Accelerated Gradient Desccent">
|
||||
<link rel="prev" href="nesterov.html" title="Nesterov Accelerated Gradient Descent">
|
||||
<link rel="next" href="minimize.html" title="minimize">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
@@ -190,9 +190,15 @@
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">InitializationPolicy</span><span class="special">&&</span> <span class="identifier">ip</span></code>
|
||||
: initialization policy for ArgumentContainer and optimizer state. For
|
||||
reverse-mode AD, the default typically initializes/attaches the tape
|
||||
and uses the user-provided initial values in x.
|
||||
: Initialization policy for optimizer state and variables. Users may
|
||||
supply a custom initialization policy to control how the argument container
|
||||
and any AD-specific runtime state : i.e. reverse-mode tape attachment/reset
|
||||
are initialized. By default, the optimizer uses the same initialization
|
||||
as gradient descent, taking the user provided initial values in x and
|
||||
initializing the internal momentum/velocity state to zero. Custom initialization
|
||||
policies are useful for randomized starts, non rvar AD types, or when
|
||||
gradients are supplied externally. Check the docs for Reverse Mode autodiff
|
||||
policies for initialization policy structure to write custom policies.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">ObjectiveEvalPolicy</span><span class="special">&&</span>
|
||||
@@ -207,16 +213,21 @@
|
||||
evaluation policy when using <code class="computeroutput"><span class="identifier">rvar</span></code>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<p class="simpara">
|
||||
<code class="computeroutput"><span class="identifier">LineSearchPolicy</span><span class="special">&&</span>
|
||||
<span class="identifier">lsp</span></code> : policy for selecting
|
||||
the step length alpha. Default is Strong Wolfe, but Armijo is an option.
|
||||
</li>
|
||||
</ul></div>
|
||||
the step length alpha along a search direction. Determines the acceptance
|
||||
criteria and how many function/gradient evaluations may be performed
|
||||
during a step Default is Strong Wolfe, but Armijo is an option. Strong
|
||||
Wolfe uses both function and gradient information to ensure good curvature
|
||||
conditions, while Armijo relies only on function decrease and is simpler
|
||||
but less robust for quasi-Newton methods.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="math_toolkit.gd_opt.lbfgs.h3"></a>
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.lbfgs.notes"></a></span><a class="link" href="lbfgs.html#math_toolkit.gd_opt.lbfgs.notes">Notes</a>
|
||||
</h5>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<span class="phrase"><a name="math_toolkit.gd_opt.lbfgs.notes"></a></span><a class="link" href="lbfgs.html#math_toolkit.gd_opt.lbfgs.notes">Notes</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
LBFGS assumes the objective is sufficiently smooth for gradients to be
|
||||
informative. It is typically most effective on unconstrained smooth problems.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Nesterov Accelerated Gradient Desccent</title>
|
||||
<title>Nesterov Accelerated Gradient Descent</title>
|
||||
<link rel="stylesheet" href="../../math.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||||
<link rel="home" href="../../index.html" title="Math Toolkit 4.2.1">
|
||||
<link rel="up" href="../gd_opt.html" title="Gradient Based Optimizers">
|
||||
<link rel="prev" href="gradient_descent.html" title="Gradient Desccent">
|
||||
<link rel="prev" href="gradient_descent.html" title="Gradient Descent">
|
||||
<link rel="next" href="lbfgs.html" title="L-BFGS">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
@@ -25,8 +25,8 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="math_toolkit.gd_opt.nesterov"></a><a class="link" href="nesterov.html" title="Nesterov Accelerated Gradient Desccent">Nesterov Accelerated Gradient
|
||||
Desccent</a>
|
||||
<a name="math_toolkit.gd_opt.nesterov"></a><a class="link" href="nesterov.html" title="Nesterov Accelerated Gradient Descent">Nesterov Accelerated Gradient
|
||||
Descent</a>
|
||||
</h3></div></div></div>
|
||||
<h5>
|
||||
<a name="math_toolkit.gd_opt.nesterov.h0"></a>
|
||||
@@ -78,7 +78,7 @@
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="comment">/* Convenience overloads */</span>
|
||||
<span class="comment">/* make nesterov acelerated gradient descent by providing
|
||||
<span class="comment">/* make nesterov accelerated gradient descent by providing
|
||||
** objective function
|
||||
** variables to optimize over
|
||||
** Optionally
|
||||
@@ -106,7 +106,7 @@
|
||||
<span class="identifier">InitializationPolicy</span><span class="special">&&</span> <span class="identifier">ip</span><span class="special">);</span>
|
||||
|
||||
<span class="comment">/* provide
|
||||
* initilaization policy
|
||||
* initialization policy
|
||||
* objective evaluation policy
|
||||
* gradient evaluation policy
|
||||
*/</span>
|
||||
@@ -175,7 +175,7 @@
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">RealType</span> <span class="identifier">lr</span></code>
|
||||
: learning rate. Larger values take larger steps (faster but potentially
|
||||
unsable). Smaller values are more stable but converge more slowly.
|
||||
unstable). Smaller values are more stable but converge more slowly.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">RealType</span> <span class="identifier">mu</span></code>
|
||||
@@ -184,10 +184,15 @@
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">InitializationPolicy</span><span class="special">&&</span> <span class="identifier">ip</span></code>
|
||||
: initialization policy for the optimizer state and variables. For NAG,
|
||||
this also initializes the internal momentum/velocity state. By default
|
||||
the optimizer uses the same initializer as gradient descent and initializes
|
||||
velocity to zero.
|
||||
: Initialization policy for optimizer state and variables. Users may
|
||||
supply a custom initialization policy to control how the argument container
|
||||
and any AD-specific runtime state : i.e. reverse-mode tape attachment/reset
|
||||
are initialized. By default, the optimizer uses the same initialization
|
||||
as gradient descent, taking the user provided initial values in x and
|
||||
initializing the internal momentum/velocity state to zero. Custom initialization
|
||||
policies are useful for randomized starts, non rvar AD types, or when
|
||||
gradients are supplied externally. Check the docs for Reverse Mode autodiff
|
||||
policies for initialization policy structure to write custom policies.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">ObjectiveEvalPolicy</span><span class="special">&&</span>
|
||||
|
||||
@@ -37,9 +37,9 @@
|
||||
<dt><span class="section"><a href="math_toolkit/gd_opt.html">Gradient Based Optimizers</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="math_toolkit/gd_opt/introduction.html">Introduction</a></span></dt>
|
||||
<dt><span class="section"><a href="math_toolkit/gd_opt/gradient_descent.html">Gradient Desccent</a></span></dt>
|
||||
<dt><span class="section"><a href="math_toolkit/gd_opt/gradient_descent.html">Gradient Descent</a></span></dt>
|
||||
<dt><span class="section"><a href="math_toolkit/gd_opt/nesterov.html">Nesterov Accelerated Gradient
|
||||
Desccent</a></span></dt>
|
||||
Descent</a></span></dt>
|
||||
<dt><span class="section"><a href="math_toolkit/gd_opt/lbfgs.html">L-BFGS</a></span></dt>
|
||||
<dt><span class="section"><a href="math_toolkit/gd_opt/minimize.html">minimize</a></span></dt>
|
||||
<dt><span class="section"><a href="math_toolkit/gd_opt/policies.html">Reverse Mode autodiff policies</a></span></dt>
|
||||
|
||||
@@ -13,6 +13,70 @@ LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
[section:introduction Introduction]
|
||||
Gradient based optimizers are algorithms that use the gradient of a function to iteratively find locally extreme points of functions over a set of parameters. This sections provides a description of a set of gradient optimizers. The optimizers are written with `boost::math::differentiation::reverse_mode::rvar` in mind, however if a way to evaluate the funciton and its gradient is provided, the optimizers should work in exactly the same way.
|
||||
|
||||
Below is a table that summarizes the intended usage patterns of the provided optimizers and policies, and is meant as a practical guide rather than a strict prescription:
|
||||
|
||||
[h1:table-optimizers List of Optimizers]
|
||||
[table
|
||||
[[Optimizer] [Order] [Uses Curvature] [Memory Cost] [Intended Problem Class] [When to Use]]
|
||||
[[gradient descent] [first] [no] [low] [Smooth, well-scaled objectives] [Baseline method; debugging; when behavior transparency matters]]
|
||||
[[nesterov accelerated gradient] [first] [no] [low] [Ill-conditioned or narrow-valley problems] [When plain gradient descent converges slowly or oscillates]]
|
||||
[[L-BFGS] [quasi second order] [approximate] [medium] [Smooth, deterministic objectives] [When gradients are reliable and faster convergence is needed]]
|
||||
]
|
||||
|
||||
[h1:table-optimizer-policies Optimizer Policies]
|
||||
[heading Initialization Policies]
|
||||
[table
|
||||
[[Policy] [Use case] [Responsibilities]]
|
||||
[[tape_initializer_rvar] [User initialzes all varibles manually] [initializes tape]]
|
||||
[[random_uniform_initializer_rvar] [Initializes all variables with a random number between a min and max value] [Initializes variables. Initializes tape.]]
|
||||
[[costant_initializer_rvar] [Initializes all variables with a constant] [Initializes variables. Initializes tape.]]
|
||||
]
|
||||
|
||||
[heading Evaluation Policies]
|
||||
[table
|
||||
[[Policy] [Use case] [Responsibilities]]
|
||||
[[reverse_mode_function_eval_policy] [Default. User with boost reverse mode autodiff] [tells the optimizer how to evaluate the objective]]
|
||||
[[reverse_mode_gradient_evaluation_policy] [Default. User with boost reverse mode autodiff] [tells the optimizer how to evaluate the gradients of an objective]]
|
||||
]
|
||||
|
||||
These policies are intended to use with boost reverse mode autodiff. If you need to use the optimizers with a custom AD variable, or by providing the gradient of an objective manually, check the docs for policies to see how the policies are implemented.
|
||||
|
||||
[h1:line-search-policies LBFGS line search policies]
|
||||
the table below summarizes the two line search policies provided for use with LBFGS.
|
||||
[table
|
||||
[[Policy] [Enforced Conditions] [Per iteration cost] [Convergence] [Use case]]
|
||||
[[Strong Wolfe] [function decrease. curvature condition] [higher] [faster] [most of the time]]
|
||||
[[Armijo] [function decrease only] [lower] [slower] [you know what you're doing]]
|
||||
]
|
||||
[h1:minimizer-policies Minimizer Policies]
|
||||
[heading Convergence Policies]
|
||||
[table
|
||||
[[Policy] [Criterion] [When to Use]]
|
||||
[[gradient_norm_convergence_policy] [gradient norm < tol] [Default. Stationarity based condition]]
|
||||
[[objective_tol_convergence_policy] [absolute difference between objective steps is small] [Well-scaled objectives]]
|
||||
[[relative_objective_tol_policy] [relative difference between objective steps is small] [Scale-invariant convergence]]
|
||||
[[combined_convergence_policy] [logical combination OR] [you need a combination of convergence conditions]]
|
||||
]
|
||||
|
||||
[heading Termination Policies]
|
||||
[table
|
||||
[[Policy] [Controls] [When to Use]]
|
||||
[[max_iter_termination_policy] [iteration count] [Hard safety bound (almost always recommended)]]
|
||||
[[wallclock_termination_policy] [wall clock time] [benchmarking, real-time constraints]]
|
||||
]
|
||||
|
||||
[heading Constraint and Projection Policies]
|
||||
[table
|
||||
[[Policy] [Constraint Type]]
|
||||
[[unconstrained_policy] [No constraint]]
|
||||
[[box_constraints] [upper/lower bound clip]]
|
||||
[[nonnegativity_constraint] [set everything below 0, to 0]]
|
||||
[[l2_ball_constraint] [ 2-norm(x) < r]]
|
||||
[[l1_ball_constraint] [ 1-norm(x) < r]]
|
||||
[[simplex_constraint] [Probability simplex]]
|
||||
[[function_constraint] [custom user provided function wrapper]]
|
||||
[[unit_sphere_constraint] [2-norm(x) = 1]]
|
||||
]
|
||||
[endsect] [/section:introduction]
|
||||
|
||||
[section:gradient_descent Gradient Descent]
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#ifndef BOOST_MATH_OPTIMIZATION_DETAIL_DIFFERENTIABLE_OPT_UTILITIES_HPP
|
||||
#define BOOST_MATH_OPTIMIZATION_DETAIL_DIFFERENTIABLE_OPT_UTILITIES_HPP
|
||||
#include <boost/math/differentiation/autodiff_reverse.hpp>
|
||||
#include <boost/random.hpp>
|
||||
#include <cmath>
|
||||
#include <random>
|
||||
#include <type_traits>
|
||||
@@ -144,11 +143,11 @@ random_vector(size_t n)
|
||||
/** @brief> generates a random std::vector<RealType> of size n
|
||||
* using mt19937 algorithm
|
||||
*/
|
||||
static boost::random::mt19937 rng{ std::random_device{}() };
|
||||
static boost::random::uniform_real_distribution<RealType> dist(0.0, 1.0);
|
||||
static std::mt19937 rng{ std::random_device{}() };
|
||||
static std::uniform_real_distribution<double> dist(0.0, 1.0);
|
||||
|
||||
std::vector<RealType> result(n);
|
||||
std::generate(result.begin(), result.end(), [&] { return dist(rng); });
|
||||
std::generate(result.begin(), result.end(), [&] { return static_cast<RealType>(dist(rng)); });
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include <boost/math/differentiation/autodiff_reverse.hpp>
|
||||
#include <random>
|
||||
#include <type_traits>
|
||||
#include <boost/random.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace math {
|
||||
@@ -102,10 +101,10 @@ struct random_uniform_initializer_rvar
|
||||
template<class ArgumentContainer>
|
||||
void operator()(ArgumentContainer& x) const
|
||||
{
|
||||
static boost::random::mt19937 gen{ std::random_device{}() };
|
||||
static boost::random::uniform_real_distribution<RealType> dist(0.0, 1.0);
|
||||
static std::mt19937 gen{ std::random_device{}() };
|
||||
static std::uniform_real_distribution<double> dist(0.0, 1.0);
|
||||
for (auto& xi : x) {
|
||||
xi = rdiff::rvar<RealType, 1>(dist(gen));
|
||||
xi = rdiff::rvar<RealType, 1>(static_cast<RealType>(dist(gen)));
|
||||
}
|
||||
auto& tape = rdiff::get_active_tape<RealType, 1>();
|
||||
tape.add_checkpoint();
|
||||
|
||||
Reference in New Issue
Block a user