Comments (4)
I mostly dealt with VB, so the VariationalBayesProblem, where the prior defines the start values, see e.g. here. The same should generally be true for Bayesian problems. So, technically, this start_vector
is only present in a deterministic inference, right?
The LatentParameters
is really just a mapping for multiple parameter lists to a global name, b
in your example. So a latent['b'].set_value(...)
would rather update all the individual parameter lists linked to that b
(and not fill a start_vector
).
So maybe you could first clarify, what you intend to do.
from bayem.
The start vector is (as you pointed out) for a deterministed problem. But it might also be relevant for testing, where you want to evaluate the model error for a specific set of parameters in the global problem. I agree that the set function would just set all values, we would probably have an extract function again. Or a function that somehow generates the global startvector
startvector = inference_problem.start_vector({'b':0, 'a':100})
The not defined variables will be extracted from the first parameter list that has this entry.
from bayem.
Except for VB (which is part of the lib itself), we decided to not have code to define an algorithm/tool specific prior. So if we interpret the start_vector
as the prior of a deterministic inference, we should not have something like this. But this is really silly and, as you pointed out, also nice for testing.
And I like your code idea! As we strive for total clarity and unambiguousness, I would raise an exception like:
Global parameter "c" has value 42 in listA and value 6174 in listB [and I do not know which one to choose]. Please specify it in the argument dict.
from bayem.
The exception is even better in case there is some discrepancies.
from bayem.
Related Issues (20)
- Noise group parameters as normal latent parameter HOT 3
- Remove sphinx from requirements HOT 2
- Proper VB scaling HOT 2
- Potential bug in our F formula HOT 6
- Prescribed correlation (in noise model) HOT 28
- Remove Gamma.Noninformative()? HOT 1
- Linearity check HOT 3
- Towards `bayem` HOT 6
- Failing visualization test
- Fancy readme
- Docstrings
- pre-commit hooks
- Check ARD implementation HOT 1
- VB `state` variable HOT 1
- VB_postprocess_per_iteration HOT 4
- VB_handle_diverging_ME HOT 4
- Sub-optimal control flow HOT 1
- Visualization of marginalized posteriors HOT 3
- Changes in visualization somehow break the CI HOT 1
- levels are not always computed correctly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bayem.