{"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/empirical-risk-minimization-and-stochastic","title":"Empirical Risk Minimization and Stochastic Gradient Descent for Relational Data","arxiv_id":"1806.10701","date":"2018-06-27","proceeding":null,"authors":["Victor Veitch","Morgane Austern","Wenda Zhou","David M. Blei","Peter Orbanz"],"abstract":"Empirical risk minimization is the main tool for prediction problems, but its\nextension to relational data remains unsolved. We solve this problem using\nrecent ideas from graph sampling theory to (i) define an empirical risk for\nrelational data and (ii) obtain stochastic gradients for this empirical risk\nthat are automatically unbiased. This is achieved by considering the method by\nwhich data is sampled from a graph as an explicit component of model design. By\nintegrating fast implementations of graph sampling schemes with standard\nautomatic differentiation tools, we provide an efficient turnkey solver for the\nrisk minimization problem. We establish basic theoretical properties of the\nprocedure. Finally, we demonstrate relational ERM with application to two\nnon-standard problems: one-stage training for semi-supervised node\nclassification, and learning embedding vectors for vertex attributes.\nExperiments confirm that the turnkey inference procedure is effective in\npractice, and that the sampling scheme used for model specification has a\nstrong effect on model performance. Code is available at\nhttps://github.com/wooden-spoon/relational-ERM.","url_abs":"http://arxiv.org/abs/1806.10701v2","url_pdf":"http://arxiv.org/pdf/1806.10701v2.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":"empirical-risk-minimization-and-stochastic","repo_url":"https://github.com/wooden-spoon/relational-ERM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"graph-sampling","task_name":"Graph Sampling"},{"task_slug":"node-classification","task_name":"Node Classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1806.10701","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1806.10701"}},"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/wooden-spoon/relational-ERM","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":23},"by_repo_kind":{"official":{"samples":23,"ran":0,"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":"7c4eae3809a6a5f0","entry":"adapt_random_walk_window","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/sampling/adapters.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/sampling/adapters.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":"7c4eae3809a6a5f0"}},{"code_sha256_prefix":"c92775f5dfcb2ea9","entry":"add_negative_sample","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/sampling/negative_sampling.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/sampling/negative_sampling.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":"c92775f5dfcb2ea9"}},{"code_sha256_prefix":"d6d0baaf4674b45b","entry":"apply_adapter","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/sampling/adapters.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/sampling/adapters.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":"d6d0baaf4674b45b"}},{"code_sha256_prefix":"b89681b6bcc47b09","entry":"compute_edge_logits","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/models/label_clustering.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/models/label_clustering.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":"b89681b6bcc47b09"}},{"code_sha256_prefix":"2653ebdb4adef8ce","entry":"create_packed_adjacency_from_redundant_edge_list","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/graph_ops/representations.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/graph_ops/representations.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":"2653ebdb4adef8ce"}},{"code_sha256_prefix":"2fd19352149c130b","entry":"create_packed_adjacency_list","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/graph_ops/representations.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/graph_ops/representations.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":"2fd19352149c130b"}},{"code_sha256_prefix":"800dd4877fb341b6","entry":"edge_list_to_adj_mat","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/graph_ops/tensorflow.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/graph_ops/tensorflow.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":"800dd4877fb341b6"}},{"code_sha256_prefix":"0439ddb77b64a048","entry":"get_unigram_distribution","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/sampling/factories.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/sampling/factories.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":"0439ddb77b64a048"}},{"code_sha256_prefix":"aaa7c3eb2800a70a","entry":"is_connected","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/graph_ops/structure.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/graph_ops/structure.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":"aaa7c3eb2800a70a"}},{"code_sha256_prefix":"29195ba13112cc60","entry":"macro_f1","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/models/metrics.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/models/metrics.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":"29195ba13112cc60"}},{"code_sha256_prefix":"421a04d324bbda92","entry":"macro_f1_oracle","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/models/metrics.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/models/metrics.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":"421a04d324bbda92"}},{"code_sha256_prefix":"3931742278578086","entry":"make_learned_unigram_logits","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/sampling/negative_sampling.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/sampling/negative_sampling.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":"3931742278578086"}},{"code_sha256_prefix":"01e38183fab627fc","entry":"make_node_classifier","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/models/multilabel_node_classification_template.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/models/multilabel_node_classification_template.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":"01e38183fab627fc"}},{"code_sha256_prefix":"2f819eacfbd7c7bf","entry":"make_simple_skipgram_loss","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/models/skipgram.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/models/skipgram.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":"2f819eacfbd7c7bf"}},{"code_sha256_prefix":"c703de90c21e5f2a","entry":"make_weighted_loss","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/models/skipgram.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/models/skipgram.py","link_basis":"harvester_set","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":"c703de90c21e5f2a"}},{"code_sha256_prefix":"34f77f68c9add49f","entry":"oracle_predictions","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/models/metrics.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/models/metrics.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":"34f77f68c9add49f"}},{"code_sha256_prefix":"d49c54e9119eca26","entry":"parallel_dataset","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/sampling/factories.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/sampling/factories.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":"d49c54e9119eca26"}},{"code_sha256_prefix":"f4e29a9d525179a1","entry":"preprocess_data","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/data_processing/pokec.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/data_processing/pokec.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":"f4e29a9d525179a1"}},{"code_sha256_prefix":"c26027e156fcba64","entry":"preprocess_data","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/data_processing/wikipedia_hyperlink.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/data_processing/wikipedia_hyperlink.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":"c26027e156fcba64"}},{"code_sha256_prefix":"23019e1839641c35","entry":"preprocess_packed_adjacency_list","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/data_processing/pokec.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/data_processing/pokec.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":"23019e1839641c35"}},{"code_sha256_prefix":"e790895dcebdb558","entry":"preprocess_packed_adjacency_list","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/data_processing/wikipedia_hyperlink.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/data_processing/wikipedia_hyperlink.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":"e790895dcebdb558"}},{"code_sha256_prefix":"0f8181e306b9d954","entry":"redundant_edge_list_to_adj_list","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/graph_ops/representations.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/graph_ops/representations.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":"0f8181e306b9d954"}},{"code_sha256_prefix":"984d81b9ef31f1fa","entry":"skipgram_loss","repo":"wooden-spoon/relational-ERM","repo_kind":"official","path":"src/relational_erm/models/label_clustering.py","file_url":"https://github.com/wooden-spoon/relational-ERM/blob/HEAD/src/relational_erm/models/label_clustering.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":"984d81b9ef31f1fa"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}