Replies: 2 comments
-
One observation is that you can think of |
Beta Was this translation helpful? Give feedback.
0 replies
-
Two issues:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
One thing that might be useful is to be able to define random variables by defining a density or energy (unnormalized density).
Sometimes this is the information we have or it's the most natural way to express a random variable. For instance, in #190, it might be best to define an action relative to its expected utility.
There seem to be some hairy implications:
Improper priors
If we give people free reign to define their own densities, there's nothing to stop them from constructing improper priors, which don't integrate to 1 or even to a finite value.
This seems undesirable, and makes the semantics more messy.
One approach is to only allow a special class of functions. That is, construct some DSL which preserves densities. I believe there is work in this area.
Another stance is that if a user constructs a model with an improper prior, then it's a modeling error. It's already possible to construct invalid models, e.g. by having a program error (e.g. divide by zero) or by conditioning on mutually inconsistent things (e.g. x<0 and x>0). Omega doesn't, and couldn't, prevent you from doing these, so maybe we should treat improper priors the same.
Non-generative
Densities don't specify how to actually generate values. It is true that in the normal case when we have a normal random variable, the generative model it defines once conditioned becomes in some sense wrong. But in another sense it remains generative, in the sense that there's a procedure we can use to construct values. In contrast if I had something like
which defines an energy function where more nodes are more probable (oops, here's an example of how easy it is to construct improper priors, but let's ignore that for the moment). But it doesn't provide us with any means to actually create graphs.
One solution then is to say that we can add densities to parametric variables. Parametric variables are still generative, in the sense there is an algorithmic process to construct values, but hey have no probability interpretation. We only allow parametric variables in combination with a density to construct density defines random variables. For example:
Beta Was this translation helpful? Give feedback.
All reactions