{"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/efficiently-learning-the-graph-for-semi","title":"Efficiently Learning the Graph for Semi-supervised Learning","arxiv_id":"2306.07098","date":"2023-06-12","proceeding":null,"authors":["Dravyansh Sharma","Maxwell Jones"],"abstract":"Computational efficiency is a major bottleneck in using classic graph-based approaches for semi-supervised learning on datasets with a large number of unlabeled examples. Known techniques to improve efficiency typically involve an approximation of the graph regularization objective, but suffer two major drawbacks - first the graph is assumed to be known or constructed with heuristic hyperparameter values, second they do not provide a principled approximation guarantee for learning over the full unlabeled dataset. Building on recent work on learning graphs for semi-supervised learning from multiple datasets for problems from the same domain, and leveraging techniques for fast approximations for solving linear systems in the graph Laplacian matrix, we propose algorithms that overcome both the above limitations. We show a formal separation in the learning-theoretic complexity of sparse and dense graph families. We further show how to approximately learn the best graphs from the sparse families efficiently using the conjugate gradient method. Our approach can also be used to learn the graph efficiently online with sub-linear regret, under mild smoothness assumptions. Our online learning results are stated generally, and may be useful for approximate and efficient parameter tuning in other problems. We implement our approach and demonstrate significant ($\\sim$10-100x) speedups over prior work on semi-supervised learning with learned graphs on benchmark datasets.","url_abs":"https://arxiv.org/abs/2306.07098v1","url_pdf":"https://arxiv.org/pdf/2306.07098v1.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":"efficiently-learning-the-graph-for-semi","repo_url":"https://github.com/maxwelljones14/efficient-ssl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2306.07098","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.07098"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/maxwelljones14/efficient-ssl","reach":null}],"summary":{"ran_fixture":2,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"2ab49fec8feaa9ab","entry":"extend_non_parametric_labels","repo":"maxwelljones14/efficient-ssl","repo_kind":"official","path":"non_parametric_approx.py","file_url":"https://github.com/maxwelljones14/efficient-ssl/blob/HEAD/non_parametric_approx.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2ab49fec8feaa9ab"}},{"code_sha256_prefix":"623a80f3874ea9bd","entry":"find_all_approx_feedback_sets","repo":"maxwelljones14/efficient-ssl","repo_kind":"official","path":"harmonic_approx.py","file_url":"https://github.com/maxwelljones14/efficient-ssl/blob/HEAD/harmonic_approx.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"none","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"623a80f3874ea9bd"}},{"code_sha256_prefix":"2070608b2790c672","entry":"find_non_parametric_labels","repo":"maxwelljones14/efficient-ssl","repo_kind":"official","path":"non_parametric_approx.py","file_url":"https://github.com/maxwelljones14/efficient-ssl/blob/HEAD/non_parametric_approx.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2070608b2790c672"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}