class documentation

Restricted Gaussian Sampler for VkD-CMA O(N*k^2 + k^3) Time/Space Variant of CMA-ES with C = D * (I + V * V^T) * D

References

[1] Youhei Akimoto and Nikolaus Hansen. Online Model Selection for Restricted Covariance Matrix Adaptation. In Proc. of PPSN 2016, pp. 3--13 (2016) [2] Youhei Akimoto and Nikolaus Hansen. Projection-Based Restricted Covariance Matrix Adaptation for High Dimension. In Proc. of GECCO 2016, pp. 197--204 (2016)

Static Method extend_cma_options return correct options to run cma.fmin or initialize cma.CMAEvolutionStrategy using the GaussVkDSampler AKA VkD-CMA-ES
Method __imul__ Undocumented
Method __init__ pass dimension of the underlying sample space
Method get_condition_numbers get the condition numbers of D**2 and (I + VV')
Method inverse_hessian_scalar_correction return scalar correction alpha such that X and f fit to f(x) = (x-mean) (alpha * C)**-1 (x-mean)
Method norm return Mahalanobis norm of x w.r.t. the statistical model
Method parameters return dict with (default) parameters, e.g., c1 and cmu.
Method parameters_old return dict with (default) parameters, e.g., c1 and cmu.
Method sample return list of i.i.d. samples.
Method to_linear_transformation return associated linear transformation
Method to_linear_transformation_inverse return inverse of associated linear transformation
Method transform transform x as implied from the distribution parameters
Method transform_inverse Undocumented
Method update vectors is a list of samples, weights a corrsponding list of learning rates
Instance Variable accepted_slowdown Undocumented
Instance Variable cs Undocumented
Instance Variable D Undocumented
Instance Variable ds Undocumented
Instance Variable dx Undocumented
Instance Variable ema_log_d Undocumented
Instance Variable ema_log_s Undocumented
Instance Variable ema_log_sigma Undocumented
Instance Variable factor_diag_slope Undocumented
Instance Variable factor_sigma_slope Undocumented
Instance Variable flg_injection Undocumented
Instance Variable itr_after_k_inc Undocumented
Instance Variable k Undocumented
Instance Variable k_active Undocumented
Instance Variable k_adapt_decay Undocumented
Instance Variable k_adapt_factor Undocumented
Instance Variable k_adapt_wait Undocumented
Instance Variable k_dec_cond Undocumented
Instance Variable k_inc_cond Undocumented
Instance Variable kadapt Undocumented
Instance Variable kmax Undocumented
Instance Variable kmin Undocumented
Instance Variable last_log_cond_corr Undocumented
Instance Variable last_log_d Undocumented
Instance Variable last_log_sigma Undocumented
Instance Variable lndiag_change Undocumented
Instance Variable lnlambda_change Undocumented
Instance Variable lnsigma_change Undocumented
Instance Variable N Undocumented
Instance Variable opt_conv Undocumented
Instance Variable pc Undocumented
Instance Variable ps Undocumented
Instance Variable randn Undocumented
Instance Variable S Undocumented
Instance Variable sigma Undocumented
Instance Variable sigma_fac Undocumented
Instance Variable U Undocumented
Instance Variable V Undocumented
Instance Variable weights Undocumented
Property condition_number Undocumented
Property correlation_matrix Undocumented
Property covariance_matrix Undocumented
Property variances vector of coordinate-wise (marginal) variances
Method _get_log_determinant_of_cov Undocumented
Method _get_params Return the learning rate cone, cmu, cc depending on k
Method _get_params2 Undocumented
Instance Variable _debug Undocumented
Instance Variable _mueff Undocumented
Instance Variable _parameters Undocumented

Inherited from StatisticalModelSamplerWithZeroMeanBaseClass:

Instance Variable _lam Undocumented
@staticmethod
def extend_cma_options(opts=None):

return correct options to run cma.fmin or initialize cma.CMAEvolutionStrategy using the GaussVkDSampler AKA VkD-CMA-ES

def __imul__(self, factor):
def __init__(self, dimension, randn=np.random.randn, kadapt=True, **kwargs):

pass dimension of the underlying sample space

def get_condition_numbers(self):

get the condition numbers of D**2 and (I + VV')

Theoretically, the condition number of the covariance matrix can be at most the product of the return values. It might be safe to stop a run if the product of the return values reaches 1e14.

Returns

float
condition number of D
float
condition number of I + VV'
def inverse_hessian_scalar_correction(self, mean, X, f):

return scalar correction alpha such that X and f fit to f(x) = (x-mean) (alpha * C)**-1 (x-mean)

def norm(self, x):

return Mahalanobis norm of x w.r.t. the statistical model

def parameters(self, mueff=None, **kwargs):

return dict with (default) parameters, e.g., c1 and cmu.

See Also
RecombinationWeights
def parameters_old(self, weights):

return dict with (default) parameters, e.g., c1 and cmu.

See Also
RecombinationWeights
def sample(self, number, update=None):

return list of i.i.d. samples.

Parameters
numberis the number of samples.
updatecontrols a possibly lazy update of the sampler.
def to_linear_transformation(self, reset=False):
def to_linear_transformation_inverse(self, reset=False):

return inverse of associated linear transformation

def transform(self, x):

transform x as implied from the distribution parameters

def update(self, vectors, weights):

vectors is a list of samples, weights a corrsponding list of learning rates

accepted_slowdown =

Undocumented

cs =

Undocumented

D =

Undocumented

ds =

Undocumented

dx =

Undocumented

ema_log_d =

Undocumented

ema_log_s =

Undocumented

ema_log_sigma =

Undocumented

factor_diag_slope =

Undocumented

factor_sigma_slope =

Undocumented

flg_injection: bool =

Undocumented

itr_after_k_inc: int =

Undocumented

k =

Undocumented

k_active =

Undocumented

k_adapt_decay =

Undocumented

k_adapt_factor =

Undocumented

k_adapt_wait =

Undocumented

k_dec_cond =

Undocumented

k_inc_cond =

Undocumented

kadapt =

Undocumented

kmax =

Undocumented

kmin =

Undocumented

last_log_cond_corr =

Undocumented

last_log_d =

Undocumented

last_log_sigma =

Undocumented

lndiag_change =

Undocumented

lnlambda_change =

Undocumented

lnsigma_change =

Undocumented

N =

Undocumented

opt_conv =

Undocumented

pc =

Undocumented

ps: float =

Undocumented

randn =

Undocumented

S =

Undocumented

sigma: float =

Undocumented

sigma_fac: float =

Undocumented

U =

Undocumented

V =

Undocumented

weights =

Undocumented

@property
correlation_matrix =

Undocumented

@property
variances =

vector of coordinate-wise (marginal) variances

def _get_log_determinant_of_cov(self):

Undocumented

def _get_params(self, weights, k):

Return the learning rate cone, cmu, cc depending on k

Parameters

weights : list of float
the weight values for vectors used to update the distribution
k : int
the number of vectors for covariance matrix

Returns

cone, cmu, cc : float in [0, 1]. Learning rates for rank-one, rank-mu,
and the cumulation factor for rank-one.
def _get_params2(self, mueff, k):

Undocumented

_debug =

Undocumented