Decay Schedules¶
Classes for defining decay schedules for simulated annealing.
-
class
GeomDecay
(init_temp=1.0, decay=0.99, min_temp=0.001)[source]¶ Schedule for geometrically decaying the simulated annealing temperature parameter T according to the formula:
where:
is the initial temperature (at time t = 0);
is the rate of geometric decay; and
is the minimum temperature value.
Parameters: - init_temp (float, default: 1.0) – Initial value of temperature parameter T. Must be greater than 0.
- decay (float, default: 0.99) – Temperature decay parameter, r. Must be between 0 and 1.
- min_temp (float, default: 0.001) – Minimum value of temperature parameter. Must be greater than 0.
Example
>>> import mlrose >>> schedule = mlrose.GeomDecay(init_temp=10, decay=0.95, min_temp=1) >>> schedule.evaluate(5) 7.73780...
-
class
ArithDecay
(init_temp=1.0, decay=0.0001, min_temp=0.001)[source]¶ Schedule for arithmetically decaying the simulated annealing temperature parameter T according to the formula:
where:
is the initial temperature (at time t = 0);
is the rate of arithmetic decay; and
is the minimum temperature value.
Parameters: - init_temp (float, default: 1.0) – Initial value of temperature parameter T. Must be greater than 0.
- decay (float, default: 0.0001) – Temperature decay parameter, r. Must be greater than 0.
- min_temp (float, default: 0.001) – Minimum value of temperature parameter. Must be greater than 0.
Example
>>> import mlrose >>> schedule = mlrose.ArithDecay(init_temp=10, decay=0.95, min_temp=1) >>> schedule.evaluate(5) 5.25
-
class
ExpDecay
(init_temp=1.0, exp_const=0.005, min_temp=0.001)[source]¶ Schedule for exponentially decaying the simulated annealing temperature parameter T according to the formula:
where:
is the initial temperature (at time t = 0);
is the rate of exponential decay; and
is the minimum temperature value.
Parameters: - init_temp (float, default: 1.0) – Initial value of temperature parameter T. Must be greater than 0.
- exp_const (float, default: 0.005) – Exponential constant parameter, r. Must be greater than 0.
- min_temp (float, default: 0.001) – Minimum value of temperature parameter. Must be greater than 0.
Example
>>> import mlrose >>> schedule = mlrose.ExpDecay(init_temp=10, exp_const=0.05, min_temp=1) >>> schedule.evaluate(5) 7.78800...
-
class
CustomSchedule
(schedule, **kwargs)[source]¶ Class for generating your own temperature schedule.
Parameters: - schedule (callable) – Function for calculating the temperature at time t with the signature
schedule(t, **kwargs)
. - kwargs (additional arguments) – Additional parameters to be passed to schedule.
Example
>>> import mlrose >>> def custom(t, c): return t + c >>> kwargs = {'c': 10} >>> schedule = mlrose.CustomSchedule(custom, **kwargs) >>> schedule.evaluate(5) 15
- schedule (callable) – Function for calculating the temperature at time t with the signature