probcomp / hierarchical-irm

Probabilistic structure discovery for rich relational systems
Apache License 2.0
1 stars 1 forks source link

Finalize the design for `Attribute` (or propose/decide on an alternative) and implement it #54

Open emilyfertig opened 2 weeks ago

emilyfertig commented 2 weeks ago

From the doc:

Uncorrupted values x may be observed, but may also be unobserved, in which case they are now possible targets of inference. The system will need to track which uncorrupted values are targets of inference, and include updates to them as a part of inference. One possible design (not fully thought out, may have holes!) is to create an Attribute base class, whose subclasses (e.g. BetaBernoulliAttribute) are asso- ciated with both a Distribution subclass (e.g., BetaBernoulli) and an EmissionDistribution subclass (e.g., BetaBernoulliEmission). An in- stance of an Attribute subclass would store a true value x of an attribute, a Boolean recording whether x is observed or must be inferred, and all noisy observations ̃x of this value. It would also track the Distribution into which x is currently incorporated, and the EmissionDistributions into which the ̃x’s are incorporated. A key method of each Attribute subclass would be transition x, which updates the current hypothesis of x’s value (if it is not directly observed)

emilyfertig commented 2 weeks ago

This class is expanded upon in Model 6, where it must track multiple corrupted versions and EmissionsDistributions.