{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/scalable-learning-and-map-inference-for","title":"Scalable Learning and MAP Inference for Nonsymmetric Determinantal Point Processes","arxiv_id":"2006.09862","date":"2020-06-17","proceeding":"ICLR 2021 1","authors":["Mike Gartrell","Insu Han","Elvis Dohmatob","Jennifer Gillenwater","Victor-Emmanuel Brunel"],"abstract":"Determinantal point processes (DPPs) have attracted significant attention in machine learning for their ability to model subsets drawn from a large item collection. Recent work shows that nonsymmetric DPP (NDPP) kernels have significant advantages over symmetric kernels in terms of modeling power and predictive performance. However, for an item collection of size $M$, existing NDPP learning and inference algorithms require memory quadratic in $M$ and runtime cubic (for learning) or quadratic (for inference) in $M$, making them impractical for many typical subset selection tasks. In this work, we develop a learning algorithm with space and time requirements linear in $M$ by introducing a new NDPP kernel decomposition. We also derive a linear-complexity NDPP maximum a posteriori (MAP) inference algorithm that applies not only to our new kernel but also to that of prior work. Through evaluation on real-world datasets, we show that our algorithms scale significantly better, and can match the predictive performance of prior work.","url_abs":"https://arxiv.org/abs/2006.09862v2","url_pdf":"https://arxiv.org/pdf/2006.09862v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"scalable-learning-and-map-inference-for","repo_url":"https://github.com/cgartrel/nonsymmetric-DPP-learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"scalable-learning-and-map-inference-for","repo_url":"https://github.com/cgartrel/scalable-nonsymmetric-dpps","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"point-processes","task_name":"Point Processes"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.09862","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.09862"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/cgartrel/scalable-nonsymmetric-DPPs","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cgartrel/scalable-nonsymmetric-dpps","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cgartrel/nonsymmetric-DPP-learning","reach":null}],"summary":{"ran_fixture":1,"unverified":8},"by_repo_kind":{"official":{"samples":4,"ran":0,"repositories":1},"listed":{"samples":5,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"4a585ade11ef1b63","entry":"get_auc_from_logliks","repo":"cgartrel/scalable-nonsymmetric-dpps","repo_kind":"listed","path":"src/nonsymmetric_dpp_learning.py","file_url":"https://github.com/cgartrel/scalable-nonsymmetric-dpps/blob/HEAD/src/nonsymmetric_dpp_learning.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4a585ade11ef1b63"}},{"code_sha256_prefix":"10951689b68bf886","entry":"LogLikelihood","repo":"cgartrel/scalable-nonsymmetric-dpps","repo_kind":"listed","path":"src/nonsymmetric_dpp_learning.py","file_url":"https://github.com/cgartrel/scalable-nonsymmetric-dpps/blob/HEAD/src/nonsymmetric_dpp_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"10951689b68bf886"}},{"code_sha256_prefix":"df603a783c0f44f7","entry":"LogLikelihood","repo":"cgartrel/nonsymmetric-DPP-learning","repo_kind":"official","path":"src/nonsymmetric_dpp_learning.py","file_url":"https://github.com/cgartrel/nonsymmetric-DPP-learning/blob/HEAD/src/nonsymmetric_dpp_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"df603a783c0f44f7"}},{"code_sha256_prefix":"243550726c2ddeb3","entry":"NonSymmetricDPP","repo":"cgartrel/scalable-nonsymmetric-dpps","repo_kind":"listed","path":"src/nonsymmetric_dpp_learning.py","file_url":"https://github.com/cgartrel/scalable-nonsymmetric-dpps/blob/HEAD/src/nonsymmetric_dpp_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"243550726c2ddeb3"}},{"code_sha256_prefix":"997ff34f703ec124","entry":"NonSymmetricDPP","repo":"cgartrel/nonsymmetric-DPP-learning","repo_kind":"official","path":"src/nonsymmetric_dpp_learning.py","file_url":"https://github.com/cgartrel/nonsymmetric-DPP-learning/blob/HEAD/src/nonsymmetric_dpp_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"997ff34f703ec124"}},{"code_sha256_prefix":"46293e3cdb1b5afb","entry":"NonSymmetricDPPPrediction","repo":"cgartrel/scalable-nonsymmetric-dpps","repo_kind":"listed","path":"src/nonsymmetric_dpp_learning.py","file_url":"https://github.com/cgartrel/scalable-nonsymmetric-dpps/blob/HEAD/src/nonsymmetric_dpp_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"46293e3cdb1b5afb"}},{"code_sha256_prefix":"5a9cd91309fe0537","entry":"NonSymmetricDPPPrediction","repo":"cgartrel/nonsymmetric-DPP-learning","repo_kind":"official","path":"src/nonsymmetric_dpp_learning.py","file_url":"https://github.com/cgartrel/nonsymmetric-DPP-learning/blob/HEAD/src/nonsymmetric_dpp_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5a9cd91309fe0537"}},{"code_sha256_prefix":"521470639db4701e","entry":"NonSymmetricDPPSampler","repo":"cgartrel/scalable-nonsymmetric-dpps","repo_kind":"listed","path":"src/nonsymmetric_dpp_learning.py","file_url":"https://github.com/cgartrel/scalable-nonsymmetric-dpps/blob/HEAD/src/nonsymmetric_dpp_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"521470639db4701e"}},{"code_sha256_prefix":"dded816c8f54f50b","entry":"NonSymmetricDPPSampler","repo":"cgartrel/nonsymmetric-DPP-learning","repo_kind":"official","path":"src/nonsymmetric_dpp_learning.py","file_url":"https://github.com/cgartrel/nonsymmetric-DPP-learning/blob/HEAD/src/nonsymmetric_dpp_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dded816c8f54f50b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}