In each dimension, tries 5 candidate adjustments: a lot smaller, a little smaller, same spot, a little bigger, and a lot bigger. If it picks a smaller adjustment, the step size in that dimension is made smaller. If it picks a bigger adjustment, the step size in that dimension is made bigger.
|
| GHillClimber (GTargetFunction *pCritic) |
|
virtual | ~GHillClimber () |
|
double | anneal (double dev, GRand *pRand) |
| You can call this method to simulate one annealing jump with the specified deviation in all dimensions. More...
|
|
double | currentError () |
| Returns the error for the current vector. More...
|
|
virtual const GVec & | currentVector () |
| Returns a pointer to the current vector. More...
|
|
virtual double | iterate () |
| Makes another attempt to find a better vector. Returns the heuristic error. (Usually you will call this method in a loop until your stopping criteria has been met.) More...
|
|
void | setChangeFactor (double d) |
| d should be a value between 0 and 1 More...
|
|
void | setStepSizes (double size) |
| Set all the current step sizes to this value. More...
|
|
GVec & | stepSizes () |
| Returns the vector of step sizes. More...
|
|
| GOptimizer (GTargetFunction *pCritic) |
|
virtual | ~GOptimizer () |
|
void | basicTest (double minAccuracy, double warnRange=0.001) |
| This is a helper method used by the unit tests of several model learners. More...
|
|
double | searchUntil (size_t nBurnInIterations, size_t nIterations, double dImprovement) |
| This will first call iterate() nBurnInIterations times, then it will repeatedly call iterate() in blocks of nIterations times. If the error heuristic has not improved by the specified ratio after a block of iterations, it will stop. (For example, if the error before the block of iterations was 50, and the error after is 49, then training will stop if dImprovement is > 0.02.) If the error heuristic is not stable, then the value of nIterations should be large. More...
|
|