SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2308.00279 · 2023

Robust Positive-Unlabeled Learning via Noise Negative Sample Self-correction

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 10 functions out of this paper's own repositories and ran 8 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
woriazzc/robust-pu canonical 8 of 10
FunctionStatusWhere it lives
b_focal_loss Ran woriazzc/robust-pu/lossFunc.py
pointer only (licence: NONE) · get_code("423880d374113ff2")
calculate_spl_weights Ran woriazzc/robust-pu/spl_utills.py
pointer only (licence: NONE) · get_code("d69100eb16c7d2f1")
export Ran woriazzc/robust-pu/helpers.py
pointer only (licence: NONE) · get_code("2660b9d52e1de712")
get_pu_data Ran woriazzc/robust-pu/utils.py
pointer only (licence: NONE) · get_code("783e10c56217d9fe")
logistic_loss Ran woriazzc/robust-pu/lossFunc.py
pointer only (licence: NONE) · get_code("1c4f69034a53732d")
parameter_count Ran woriazzc/robust-pu/helpers.py
pointer only (licence: NONE) · get_code("fd988895d0a19180")
preprocess_uci_dataset Ran woriazzc/robust-pu/utils.py
pointer only (licence: NONE) · get_code("f2c81cd6c482737d")
sigmoid_loss Ran woriazzc/robust-pu/lossFunc.py
pointer only (licence: NONE) · get_code("cb3faea00e50c270")
get_datasets Not yet run woriazzc/robust-pu/utils.py
pointer only (licence: NONE) · get_code("50359d1b37d86c4a")
get_ordered_dataset_by_prob Not yet run woriazzc/robust-pu/spl_utills.py
pointer only (licence: NONE) · get_code("f0259fb4fd70adb7")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Learning from positive and unlabeled data is known as positive-unlabeled (PU) learning in literature and has attracted much attention in recent years. One common approach in PU learning is to sample a set of pseudo-negatives from the unlabeled data using ad-hoc thresholds so that conventional supervised methods can be applied with both positive and negative samples. Owing to the label uncertainty among the unlabeled data, errors of misclassifying unlabeled positive samples as negative samples inevitably appear and may even accumulate during the training processes. Those errors often lead to performance degradation and model instability. To mitigate the impact of label uncertainty and improve the robustness of learning with positive and unlabeled data, we propose a new robust PU learning method with a training strategy motivated by the nature of human learning: easy cases should be learned first. Similar intuition has been utilized in curriculum learning to only use easier cases in the early stage of training before introducing more complex cases. Specifically, we utilize a novel ``hardness'' measure to distinguish unlabeled samples with a high chance of being negative from unlabeled samples with large label noise. An iterative training strategy is then implemented to fine-tune the selection of negative samples during the training process in an iterative manner to include more ``easy'' samples in the early stage of training. Extensive experimental validations over a wide range of learning tasks show that this approach can effectively improve the accuracy and stability of learning with positive and unlabeled data. Our code is available at https://github.com/woriazzc/Robust-PU

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2308.00279")
get_code_for_paper("2308.00279")
have("2308.00279")

Connect an agent — have() is free.