This algorithm does a gradient descent by feeling a small distance out in each dimension to measure the gradient. For efficiency reasons, it only measures the gradient in one dimension (which it cycles round-robin style) per iteration and uses the remembered gradient in the other dimensions.
More...
#include <GHillClimber.h>
This algorithm does a gradient descent by feeling a small distance out in each dimension to measure the gradient. For efficiency reasons, it only measures the gradient in one dimension (which it cycles round-robin style) per iteration and uses the remembered gradient in the other dimensions.
| GClasses::GEmpiricalGradientDescent::GEmpiricalGradientDescent |
( |
GTargetFunction * |
pCritic, |
|
|
GRand * |
pRand |
|
) |
| |
| virtual GClasses::GEmpiricalGradientDescent::~GEmpiricalGradientDescent |
( |
| ) |
|
|
virtual |
| virtual double* GClasses::GEmpiricalGradientDescent::currentVector |
( |
| ) |
|
|
inlinevirtual |
| virtual double GClasses::GEmpiricalGradientDescent::iterate |
( |
| ) |
|
|
virtual |
Performs a little more optimization. (Call this in a loop until acceptable results are found.)
Implements GClasses::GOptimizer.
| void GClasses::GEmpiricalGradientDescent::reset |
( |
| ) |
|
|
protected |
| void GClasses::GEmpiricalGradientDescent::setLearningRate |
( |
double |
d | ) |
|
|
inline |
| void GClasses::GEmpiricalGradientDescent::setMomentum |
( |
double |
d | ) |
|
|
inline |
| double GClasses::GEmpiricalGradientDescent::m_dFeelDistance |
|
protected |
| double GClasses::GEmpiricalGradientDescent::m_dLearningRate |
|
protected |
| double GClasses::GEmpiricalGradientDescent::m_dMomentum |
|
protected |
| size_t GClasses::GEmpiricalGradientDescent::m_nDimensions |
|
protected |
| double* GClasses::GEmpiricalGradientDescent::m_pDelta |
|
protected |
| double* GClasses::GEmpiricalGradientDescent::m_pGradient |
|
protected |
| GRand* GClasses::GEmpiricalGradientDescent::m_pRand |
|
protected |
| double* GClasses::GEmpiricalGradientDescent::m_pVector |
|
protected |