-
Notifications
You must be signed in to change notification settings - Fork 153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev4.1 new chain #669
Merged
Merged
Dev4.1 new chain #669
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
minor SFI changes.
MPE VE added to SFI. Various other changes to support that, and other
1. Added log convertible Semirings. A log convertible semiring states whether it is in log or normal space, and can convert itself to the log inverse. 2. BP now automatically converts any factors into the log space of the indicated semiring, whether the semiring is in log space or not 3. All internal operations of BP use the log version of the passed in semiring (if not already in log space) 4. MPE BP for SFI added
interface to support that.
Added sampling jointly from posterior for MH and Importance. Added new
Removed private on SFI solvers
VariableOrdering to get the total cost of eliminiation, and make the iterations in BP a def instead of a val
Minor changes in VE/BP to support optimization. In particular, overload
Minor changes to Gibbs for optimization
updates to ComponentCollection.scala
Trainable model pattern
Adding univariate kernel density estimator element and test
Without this change, MPE algorithms crash when attempting to run them more than once on a universe with temporary elements.
Two implementations of Marginal MAP algorithms that MAP permanent elements and marginalize temporary elements. Includes unit tests.
...for now; may add back later if interface for structured marginal MAP permits
On a non-sparse factor, the previous code does not have the desired behavior, since it will just return List(-1). This is to say that just calling head on the indices will not make the needed call to hasNext.
Mostly just more comments. I switched the order of parameters in the constructor because I thought it made more sense this way. Also upped the time on one of the tests that was consistently failing.
Normal proposals only apply to atomic elements.
Mostly explaining the subleties related to densities of randomness and value.
To avoid confusion with observing values of elements, particularly in ProvEvidenceMarginalMAP.
Only use normal proposal if a >= 1 or b >= 1.
These are just copied from ContinuousTest and applied to the new atomic elements in the normalproposals package. The tests pass, but they run about 4-5 times slower! We should evaluate performance more carefully before integrating into the library.
Clarified that the density function must be finite over the bounded range. Additionally, we no longer use normal proposals for Gamma variables with small shape parameter.
Before, we were creating an Apache Commons NormalDistribution each time we wanted to compute the proposal probability. This ended up being painfully slow because of overhead associated with instantiating a random generator for this purpose. We really just want the ability to compute density and cumulative probability for an arbitrary normal distribution. Utilities for this were added in the Normal object. Also added more tests.
Marginal MAP and normal proposals
Without this change, this method exclusively throws RuntimeException.
Tests for Gibbs sampling using new Chain
sampling during factored algorithms. Also updated particle generator with more informative variable names, deprecated old names, and updated related files.
necessitated removing the ValueMaker trait from Beta and Dirchilet, which is fine since they are currently not used.
1. Minor changes for the single chain factor method (moved factor creation to factory) 2. Removed some warnings 3. Moved Collapsed Gibbs test to experimental package 4. Updated tutorial
Changed warning in particle generator to be more informative when
Fixed a typing issue in ParImportance that caused slowdowns in tests.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.