-
Notifications
You must be signed in to change notification settings - Fork 33
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
Natural parameter distributions #189
Conversation
Codecov Report
@@ Coverage Diff @@
## master #189 +/- ##
==========================================
+ Coverage 86.50% 86.72% +0.22%
==========================================
Files 95 95
Lines 4395 4461 +66
==========================================
+ Hits 3802 3869 +67
+ Misses 593 592 -1
Continue to review full report at Codecov.
|
Looks good. But why do we add this to FL? EDIT: for PR#188 |
Great, thanks; it's some prep work for natural gradient descent. I tried to refactor Semih's work (#183) in smaller chunks that fit my head. |
Thanks @ThijsvdLaar for your contribution! I liked how you implemented StandardDist function directly with distribution and variate types rather than their instances. For the logpdf function of exponential family (EF) of distributions, how about implementing just one function: log(h(x)) + transpose(ϕ(x))*η - logNormalizer(dist,η) in probability_distributions.jl file instead of defining them separately for the distributions? We can then implement components of logpdf separately for each distribution, as it has been done for logNormalizer, so as to use them in other applications when necessary. For example, I can imagine that sufficient statistics is useful in many applications and would be nice to have this function in FL. |
I agree that implementing a single log-pdf function is more beautiful from a mathematical point of view, but from a coding point-of view it would add complexity. We would have to define |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Thijs! Ready to be merged, in my opinion.
Implement natural parameter definitions from https://github.com/semihakbayrak/ForneyLab.jl/tree/CVI Additionaly: