Git Product home page Git Product logo

pauci's Introduction

PAUCI

An implement of the NeurIPS 2022 paper: [Asymptotically Unbiased Instance-wise Regularized Partial AUC Optimization: Theory and Algorithm].

Environments

  • Ubuntu 16.04
  • CUDA 10.2
  • Python 3.7.3
  • Pytorch 1.12.1+cu10
  • Numpy 1.21.4
  • pandas 1.3.5
  • scikit-learn 1.0.1

Data preparation

Download cifar-10-long-tail, cifar-100-long-tail, and tiny-imagenet-200. Unzip these files and place then in ./data/[dataset]/.

Training & Testing

Using the pretrained models in ./pretrained_models_back.

Run the following command for training & validation

python3 train_SPAUCI.py

Example

With augmentations.
train set has 10415 images
class number:  [9511  904]
test set has 2236 images
class number:  [2042  194]
val set has 2233 images
class number:  [2039  194]
--------------------------------------------------
To balance ratio, add 1474 pos imgs (with replace = True)
--------------------------------------------------
--------------------------------------------------
after complementary the ratio, having 11889 images
--------------------------------------------------
epoch:0 val pauc:0.9366215047631786
epoch:1 val pauc:0.9495861038852849
...
epoch:48 val pauc:0.9628886839452894
epoch:49 val pauc:0.9652434893251374
test pauc:0.7721479724874244

Losses

The following methods are provided in this repository (see section 3 in our paper):

  • OPAUC Losses, An implement of the loss function in section 3.1.
  • TPAUC Losses, An implement of the loss function in section 3.2.

See ./losses/SPAUCI.py for usage.

Optimizer

An implement of the training algorithm in section 4.

See ./optimizer/MinMax.py for usage.

References

If this code is helpful to you, please consider citing our paper:

@inproceedings{shao2022pauci,
  title={Asymptotically Unbiased Instance-wise Regularized Partial AUC Optimization: Theory and Algorithm},
  author={Shao, Huiyang and Xu, Qianqian and Yang, Zhiyong and Bao, Shilong and Huang, Qingming},
  booktitle={Annual Conference on Neural Information Processing Systems},
  year={2022}
}

pauci's People

Contributors

shaocr avatar joshuaas avatar

Stargazers

YT avatar  avatar  avatar Jiachang Liu avatar Ye Canming 叶璨铭 avatar

Watchers

Kostas Georgiou avatar  avatar

Forkers

qqgroup66666

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.