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.
| Repository | Role | Ran |
|---|---|---|
| woriazzc/robust-pu | canonical | 8 of 10 |
| Function | Status | Where 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") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
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
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.