class AdaptiveDecoding(object):
Known subclasses: cma.transformations.DiagonalDecoding
Constructor: AdaptiveDecoding(scaling)
base class for adaptive decoding.
The adaptive decoding class is "dual" to the StasticalModel class, in that for linear transformations adapting either one or the other is equivalent.
TODO: this is a stump
| Method | __init__ |
len(scaling) determines the dimension. |
| Method | __mul__ |
A linear transformation expressed by multiplication |
| Method | norm |
return norm of x prior to the transformation |
| Method | transform |
apply the transformation / decoding AKA geno-pheno tf |
| Method | transform |
inverse transformation (encoding), might return None |
| Method | update |
AKA update. |
| Method | update |
update model here, if lazy update is implemented |
| Property | condition |
return condition number of the squared transformation matrix |
| Property | correlation |
return correlation matrix or None |
cma.transformations.DiagonalDecodinglen(scaling) determines the dimension.
The initial transformation is (typically) np.diag(scaling).
cma.transformations.DiagonalDecodingA linear transformation expressed by multiplication
cma.transformations.DiagonalDecodingapply the transformation / decoding AKA geno-pheno tf
cma.transformations.DiagonalDecodinginverse transformation (encoding), might return None
cma.transformations.DiagonalDecodingAKA update.
vectors are "isotropic", e.g.:
sm = StatisticalModel...() ad = AdaptiveDecoding...() z = sm.sample(1)[0] y = ad * z # decoding applied x = m + y # candidate solution ad.tell([sm.transform_inverse(z)], [0.1]) sm.update([y / ad], [0.01]) # remark that y / ad != z
where the symmetric transformation sm.transform_inverse(z) makes z isotropic.
TODO: what exactly does this mean, is this a generic construction, is this even the right construction?
| Parameters | |
| vectors | is a list of samples. |
| weights | define a learning rate for each vector. |
cma.transformations.DiagonalDecodingreturn condition number of the squared transformation matrix