Skip to content

Commit

Permalink
add caution subsection in finite dpps exact sampling
Browse files Browse the repository at this point in the history
  • Loading branch information
guilgautier committed Sep 12, 2018
1 parent 649c5d9 commit 3da6d17
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 2,146 deletions.
2 changes: 1 addition & 1 deletion docs/bibliography/biblio_new.bib
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ @inproceedings{GaBaVa17
author = {Gautier, Guillaume and Bardenet, R{\'{e}}mi and Valko, Michal},
booktitle = {International Conference on Machine Learning (ICML)},
archivePrefix = {arXiv},
arxivId = {1502.04931},
arxivId = {1705.10498},
title = {{Zonotope Hit-and-run for Efficient Sampling from Projection DPPs}},
url = {http://proceedings.mlr.press/v70/gautier17a},
year = {2017}
Expand Down
19 changes: 12 additions & 7 deletions docs/finite_dpps/exact_sampling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,10 @@ Projection DPPs

Finally, we will see that the chain rule is akin to Gram-Schmidt orthogonalization of these somewhat artificial feature vectors.

**Chain rule**
.. _finite_dpps_exact_sampling_chain_rule:

Chain rule
----------

Let :math:`S=\{s_1, \dots, s_r\}` with :math:`r=\operatorname{rank}(\mathbf{K})`, equation :eq:`number_points_projection_K` yields

Expand Down Expand Up @@ -158,14 +161,18 @@ Projection DPPs
- :cite:`LaGaDe18` for a different perspective on exact sampling using Cholesky decomposition instead of the spectral decomposition
- :ref:`UST`

.. _finite_dpps_exact_sampling_caution:

Caution
-------

.. attention::

The fact that :math:`\mathbf{K}` is a *projection* kernel is **crucial**.
It is the very reason why the normalization constants of the conditionals in :eq:`chain_rule` are independent of the previous points and that :math:`S=\{s_1, \dots, s_r\}` is a sample of :math:`\operatorname{DPP}(\mathbf{K})`.
For the chain rule as described in :eq:`chain_rule_K` to be valid, it is **crucial** that :math:`\mathbf{K}` is a *projection* kernel.
It is the very reason why the normalization constants of the conditionals are independent of the previous points and that :math:`S=\{s_1, \dots, s_r\}` is a valid sample of :math:`\operatorname{DPP}(\mathbf{K})`.

Consider :math:`\mathbf{K}` satisfying :eq:`suff_cond_K` with Gram factorization :math:`\mathbf{K} = VV^{\dagger}` and set :math:`Y=\{s_1, \dots, s_{j-1}\}`.
Without prior asumption on :math:`V`, the Schur complement formula allows to express the conditionals in :eq:`chain_rule_K` as
To see this, consider :math:`\mathbf{K}` satisfying :eq:`suff_cond_K` with Gram factorization :math:`\mathbf{K} = VV^{\dagger}` and denote :math:`Y=\{s_1, \dots, s_{j-1}\}`.
Without prior asumption on :math:`V`, the Schur complement formula allows to express the ratio of determinants appearing in the conditionals as

.. math::
Expand Down Expand Up @@ -226,8 +233,6 @@ Projection DPPs
Generic DPPs
============

**Generic DPPs are mixtures of projection DPPs**

When considering non-projection DPPs, the eigendecomposition of the underlying kernel is required; adding an initial extra :math:`\mathcal{O}(N^3)` cost to sampling a *projection DPP*

.. tip::
Expand Down
Loading

0 comments on commit 3da6d17

Please sign in to comment.