Non-symmetric DPP sampler
See original GitHub issueI’m finding a sampling method that can simulate attractive behaviors of given points (finite) rather than repulsive behaviors as in symmetric DPP. I found some papers studying how to learn a non-symmetric kernel of DPP that can model both repulsive and attractive behaviors.
- Gartrell, Mike, et al. “Learning nonsymmetric determinantal point processes.” arXiv preprint arXiv:1905.12962 (2019).
- Brunel, Victor-Emmanuel. “Learning signed determinantal point processes through the principal minor assignment problem.” Proceedings of the 32nd International Conference on Neural Information Processing Systems. 2018.
It seems that L
need not be symmetric, provided that it is a P0-matrix. Furthermore, if L
is K_ij * K_ji < 0
, then item i
and item j
attract each other ( P({i, j} \in Y) > P(i \in Y)P(j \in Y)
).
How can I implement DPP(L) with L is a skew-symmetric matrix? It seems that I cannot use eigendecomposition since the eigenvalues of a real skew-symmetric matrix are purely imaginary, Could I use the MCMC instead?
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (3 by maintainers)
Top Results From Across the Web
Scalable Sampling for Nonsymmetric Determinantal Point ...
Abstract: A determinantal point process (DPP) on a collection of M items is a model, parameterized by a symmetric kernel matrix, ...
Read more >SCALABLE SAMPLING FOR NONSYMMETRIC ...
A determinantal point process (DPP) on a collection of M items is a model, parameterized by a symmetric kernel matrix, that assigns a...
Read more >insuhan/nonsymmetric-dpp-sampling - GitHub
Experiments for scalable sampling from NDPPs: · To run synthetic dataset, · This will run the Cholesky-based sampling and tree-based rejection sampling.
Read more >Learning Nonsymmetric Determinantal Point ... - NIPS papers
DPP learning [10, 12, 14, 25, 26] and sampling [2, 22, 27] have been reasonably well studied. DPPs are conventionally parameterized by a...
Read more >Scalable MCMC Sampling for Nonsymmetric Determinantal ...
While conventionally a. DPP is parameterized by a symmetric kernel ma- trix, removing this symmetry constraint, resulting in nonsymmetric DPPs (NDPPs), leads to ......
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
The class of DPPs is stable under some set operations and some conditioning, i.e., the resulting say conditioned process is still a DPP with a different kernel. See e.g.,
For now, DPPy indeed allows to define a
FiniteDPP
only with symmetric kernels, K or L.However, core sampling methods can be called to sample from non-symmetric DPPs
To generate exact samples, you can exploit the relation K = L (L + I)^-1 = I − (L + I)^−1 and use
dppy.exact_sampling.dpp_sampler_generic_kernel(K)
https://github.com/guilgautier/DPPy/blob/cb4577f75ca998481ca6f248af10b19f986eca1c/dppy/exact_sampling.py#L322To generate approximate samples (using an MCMC method) have a look at
dppy.mcmc_sampling.dpp_sampler_mcmc(L)
https://github.com/guilgautier/DPPy/blob/cb4577f75ca998481ca6f248af10b19f986eca1c/dppy/mcmc_sampling.py#L24If you provide a more concrete example (even a toy example), I might be able to help you further.