Skip to content

A framework for measuring and using uncertainity on regression tasks.

License

Notifications You must be signed in to change notification settings

kargibora/regression-uncertainty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dd5b6b1 · Mar 28, 2023

History

61 Commits
Mar 28, 2023
Mar 28, 2023
Mar 28, 2023
Feb 16, 2023
Mar 28, 2023
Feb 16, 2023
Mar 28, 2023
Mar 28, 2023
Mar 28, 2023
Mar 18, 2023
Feb 8, 2023
Mar 6, 2023
Mar 6, 2023
Mar 28, 2023

Repository files navigation

Uncertainty & Regression

1. Usage

Configs

To specify the parameters and training strategies of the model, yaml file format is being used.

estimator: # basic MLP layer configuration
  class: 'ensemble'
  num_networks : 5
  network:
    estimator_network:
      - fc1 : {class : Linear, in_features : 8, out_features : 50}
      - projection : {class : LinearVarianceNetworkHead, in_features : 50, out_features : 1}
    predictor_network: 
      - fc1 : {class : Linear, in_features : 8, out_features : 50}
      - projection : {class : Linear, in_features : 50, out_features : 1}
  optimizer:
    class : 'QHAdam'
    lr : 0.01
dataset:
  class: 'xls'
  path: "regression_datasets/Concrete_Data.xls"
  batch_size : 512  
  cv_split_num: 10
  test_ratio: 0.10
transforms:
  x :
    - {class : Standardize}
  y :
    - {class : Standardize}
train:
  train_type : epoch
  num_iter : 40
  weight_type : both
logger:
  type: 'wandb'
  project: 'uncertainty-estimation'
  entity: 'kbora'
  name: 'Toy Dataset Complex Weighted'

Example config file for Concrete dataset.

Similar to mmdetection, we allow anyone to define & use their own classes in any of the blocks. Simply, define your own class under the folder that your object belongs to and add corresponding class to the *REGISTRY dictionaries defined under each sub-modules init.py file.

2. File Structure

.
└── regression-uncertainty
    ├── LICENSE
    ├── README.md
    ├── configs
    │   ├── toy_dataset.yaml
    │   └── xls_dataset.yaml
    ├── datasets
    │   ├── __init__.py
    │   ├── toydata.py
    │   ├── toyfunc.py
    │   └── xlsdata.py
    ├── estimations
    │   ├── __init__.py
    │   └── ensemble.py
    ├── figures
    │   ├── non-weight.png
    │   ├── regression-uncertainty.png
    │   ├── weighted-ru.png
    │   └── weighted.png
    ├── tools
    │   └── train.py
    ├── utils
    │   ├── __init__.py
    │   ├── device.py
    │   └── logger.py

Papers:

This section covers some of the well-known paper for imbalanced learning and uncertainity estimation for regression tasks.

Imbalanced Regression:

Imbalanced regression are the collection of method that try to increase model performances for the areas where model in unsure due to the lack of training data.

Uncertainity Estimation:

Uncertainity of the models and the data can be estimated with various methods which are usually classified as (i) bayesian and (ii) non-bayesian methods.

(i) Bayesian Methods

(ii) Non-bayesian Methods

About

A framework for measuring and using uncertainity on regression tasks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published