Skip to content

Commit

Permalink
Simple stick breaking (#4129)
Browse files Browse the repository at this point in the history
* simplified StickBreaking

* fix StickBreaking jacobian

* use stable logsumexp in StickBreaking

* Rename n to Km1 to more easily compare patch.

* Drop first dimension when computing determinant of the Jacobian of the transformation.

* Drop newly unused expit import.

* Side-by-side stickbreaking implementations for comparison.

* Use same suffix for alternative stickbreaking transform.

* Add separate tests for new stickbreaking implementation.

* correct jacobain of Stickbreaking2

* use `pymc3.math.logsumexp` in `StickBreakin2`

* remove old deprecated comment in `StickBreaking2`

* remove `distributions.transforms.StickBreaking2.backwards_val`

* include ignored parameter `point` in `StickBreaking2.forwad_val`

* `StickBreaking2` in the release notes

* fix release notes typo

* accuracy test that only `StickBreaking2` would pass

* replace StickBreaking with the new alternative

* cite isometric logration in StickBreaking

* update release notes

* update lda-advi-aevb.ipynb with new stickbreaking

* remove t_stick_breaking reference

* remove unused import

* deprecation warning for `eps` in Stickbreaking

* clarify jacobian implementation

* remove revealing file system reference

* Revert "remove unused import"

This reverts commit 30452db.

* fix stickbreaking accuracy test for 32bit

* remove unused import

* test eps deprecation of StickBreaking

* fix indentation

Co-authored-by: Byron Smith <[email protected]>
  • Loading branch information
katosh and bsmith89 authored Sep 27, 2020
1 parent ce152fa commit fd76e96
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 121 deletions.
1 change: 1 addition & 0 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- Mentioned the way to do any random walk with `theano.tensor.cumsum()` in `GaussianRandomWalk` docstrings (see [#4048](https://github.com/pymc-devs/pymc3/pull/4048)).
- Fixed numerical instability in ExGaussian's logp by preventing `logpow` from returning `-inf` (see [#4050](https://github.com/pymc-devs/pymc3/pull/4050)).
- Use dill to serialize user defined logp functions in `DensityDist`. The previous serialization code fails if it is used in notebooks on Windows and Mac. `dill` is now a required dependency. (see [#3844](https://github.com/pymc-devs/pymc3/issues/3844)).
- Numerically improved stickbreaking transformation - e.g. for the `Dirichlet` distribution. [#4129](https://github.com/pymc-devs/pymc3/pull/4129)

### Documentation

Expand Down
Loading

0 comments on commit fd76e96

Please sign in to comment.