Expand description
Continuous-Gaussian dependency-chain model (MIMIC-style EDA) for continuous search spaces.
Unlike super::univariate_gaussian, this model captures pairwise
dependencies. fit estimates per-dimension Gaussians and builds a
dimension ordering (chain c₀ → c₁ → … → c_{D-1}) that maximises captured
mutual information, then represents the joint as a first-order chain: each
dimension is conditionally Gaussian given its predecessor. sample walks
the chain, drawing each gene from the conditional Gaussian of its parent’s
sampled value.
The chain is built greedily à la MIMIC (De Bonet et al., 1997): the root is the dimension with the smallest marginal standard deviation (lowest marginal entropy), and each subsequent link is the unvisited dimension with the highest mutual information to the last chosen one.
The fitness tensor is accepted by the ProbabilityModel interface but
always ignored; the fit is unweighted.
§Estimator regularisation
Sample Pearson correlations from k selected rows have a standard error
of approximately 1/√k under the null hypothesis of independence. Treating
those spurious correlations as real dependency injects noise into every
conditional mean — a penalty the univariate model never pays. To suppress
this effect, any Pearson |r| < 2/√k is zeroed before the chain is built,
causing the affected link to degenerate to independent marginal sampling
exactly where no statistically detectable dependency exists. Correlations
that survive this threshold are clamped to [−0.9999, 0.9999] to keep
conditional variances positive.
§Complexity
fit is O(k · D²): it forms the full D × D mutual-information matrix
from the k selected rows and greedily orders the D dimensions.
sample is O(D) per individual: one conditional Gaussian draw per
chain link.
§References
- De Bonet, Isbell & Viola (1997), MIMIC: Finding optima by estimating probability densities.
Structs§
- Dependency
Chain - MIMIC-style dependency-chain model for continuous spaces.
- Dependency
Chain Params - Per-run configuration for the
DependencyChainmodel. - Dependency
Chain State - Fitted state for the
DependencyChainmodel after one call toProbabilityModel::fit.