cbx.scheduler.effective_sample_size#
- class cbx.scheduler.effective_sample_size(name='alpha', eta=0.5, maximum=100000.0, solve_max_it=15)[source]#
Bases:
param_update
effective sample size scheduler class
This class implements a scheduler for the \(\alpha\)-parameter based on the effective sample size as inroduced in [1]. In every step we try to find \(\alpha\) such that The \(\alpha\)-parameter is updated according to the rule
\[J_{eff}(\alpha) = \frac{\left(\sum_{i=1}^N w_i(\alpha)\right)^2}{\sum_{i=1}^N w_i(\alpha)^2} = \eta N\]where \(\eta\) is a parameter, \(N\) is the number of particles and \(w_i := \exp(-\alpha f(x_i))\). The above equation is solved via bisection.
- Parameters:
eta (float, optional) – The parameter \(\eta\) of the scheduler. The default is 0.5.
alpha_max (float, optional) – The maximum value of the \(\alpha\)-parameter. The default is 100000.0.
factor (float, optional) – The parameter \(r\) of the scheduler. The default is 1.05.
References