Skip to content
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

Implement riemannian geometric median #3

Open
lkorczowski opened this issue Nov 29, 2019 · 2 comments
Open

Implement riemannian geometric median #3

lkorczowski opened this issue Nov 29, 2019 · 2 comments
Labels
enhancement New feature or request

Comments

@lkorczowski
Copy link
Collaborator

In the rASR matlab implementation, the geometric median is euclidean.
For now, python RASR uses also the euclidean geometric median (with the different optimization method though).

We might want to implement a riemannian Geometric Median.

Advantage:

  • Fisher metric instead of euclidean metric is better suited for covariance matrices
  • therefore we might expect better overall performance of the rASR

Disadvantage:

  • doesn't handle non-positive definite matrices (but we could compensate by using robust cov estimator or regularization)
  • slower (but it should be a problem as the median is only required during calibration)
  • we need to find a way to optimize the cost function (e.g. we can compute analytically the gradien, use pymanopt or with a handmade gradien descent)

Right-now, the advantage is not clear so it is not a priority.

@lkorczowski lkorczowski added the enhancement New feature or request label Nov 29, 2019
@lkorczowski lkorczowski mentioned this issue Dec 12, 2019
9 tasks
@lkorczowski
Copy link
Collaborator Author

Florent Bouchard proposed us to give the gradien and hessian so we can find the riemannian geometric median using pymanopt TrustRegions() and/or we can simply ask autograd to find them (the cost function is very simple).

@qbarthelemy
Copy link

The Riemannian geometric median is available in pyRiemann since v0.4
https://pyriemann.readthedocs.io/en/latest/generated/pyriemann.utils.median_riemann.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants