Skip to content

kargibora/regression-uncertainty

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

 
 
 

Contributors