-
Notifications
You must be signed in to change notification settings - Fork 47
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
Hierarchical log space startpoint sampling #1242
Hierarchical log space startpoint sampling #1242
Conversation
Codecov ReportAttention:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## develop #1242 +/- ##
===========================================
- Coverage 88.16% 82.44% -5.73%
===========================================
Files 79 148 +69
Lines 5257 11998 +6741
===========================================
+ Hits 4635 9892 +5257
- Misses 622 2106 +1484 ☔ View full report in Codecov by Sentry. |
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.
Sounds reasonable to me.
Co-authored-by: Daniel Weindl <dweindl@users.noreply.github.com>
Co-authored-by: Daniel Weindl <dweindl@users.noreply.github.com>
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.
Looks good! Fine to merge as-is.
Co-authored-by: Dilan Pathirana <59329744+dilpath@users.noreply.github.com>
Co-authored-by: Dilan Pathirana <59329744+dilpath@users.noreply.github.com>
The numerical inner solver of the scaling+offset parameters has a multi-start option. However, the multi-start sampling was done in linear space. In this version, bounds of scaling and offset are not possible. Because of that [-1e20, 1e20] dummy bounds were introduced. But that resulted in the linear sampling having huge values, mostly in the order of 10^19. These startpoints would never converge, rendering the multi-start approach practically useless.
I've implemented sampling in log space for the numerical solver. The values can be negative, so I couldn't directly use pypesto's log sampling. So I used a symmetric logarithm function
np.sign(x) * np.log10(np.abs(x) + 1)
transformation which supports negative values, sampled in that space, and transformed the values back with its inversenp.sign(x) * (10 ** np.abs(x) - 1)
.