Dealing With Misspecification In Fixed-Confidence Linear Top-m Identification

Overview

Dealing With Misspecification In Fixed-Confidence Linear Top-m Identification

This repository is the official implementation of [Dealing With Misspecification In Fixed-Confidence Linear Top-m Identification] (to appear in the proceedings of NIPS'21).

Requirements

To install requirements (Python 3.6.9):

python3 -m pip install -r requirements.txt

Getting started

Reproduce results from the paper

In order to run ExperimentXXX in the paper, do as follows

  • Run command
cd experiments_scripts/
./ExperimentXXX.sh
  • That starts the computation, when it is done, the following files are present in the results/ folder

    • ExperimentXXX/method=[algorithm]_[list of options = values].csv

      Contains a matrix of 3 columns ("complexity": number of sampled arms, "regret": error in identification, "linearity": 1 if the algorithm considers data as linear, 0 otherwise, "running time": time in seconds for running the iteration) and XXX rows (controlled by parameter n_simu in the command) corresponding to each iteration of the algorithm.

    • ExperimentXXX/method=[algorithm]_[list of options = values]-emp_rec.csv

      Contains a matrix of XXX columns (number of arms in the experiment, controlled by parameter K in the command), and two rows, first row being the names of the arms, and the second one being the percentage of the time a given arm was returned in the set of good arms across iterations.

    • ExperimentXXX/params.json

      Saves in a JSON file the parameters set in the call to the code.

  • PNG file ExperimentXXX/boxplot.png is created in folder boxplots/

You can only run the code to plot the boxplot from a previously run ExperimentXXX

  • Run command
cd experiments_scripts
./ExperimentXXX.sh boxplot

ExperimentXXX won't be run, but if the corresponding results folder is present, then it creates the boxplot in folder boxplots/ExperimentXXX

Run

Have a look at file code/main.py to see the arguments needed.

Add new elements of code

  • Add a new bandit by creating a new instance of class Misspecified in file code/misspecified.py
  • Add a new dataset by adding a few lines of code to file code/data.py
  • Add new types of rewards by creating a new instance of class problem in file code/problems.py
  • Add new types of online learners by creating a new instance of class Learner in file code/learners.py

Results

Please refer to the paper.

Contributing

All of the code is under MIT license. Everyone is most welcome to submit pull requests.

A benchmark framework for Tensorflow

TensorFlow benchmarks This repository contains various TensorFlow benchmarks. Currently, it consists of two projects: PerfZero: A benchmark framework

1.1k Dec 30, 2022
Merlion: A Machine Learning Framework for Time Series Intelligence

Merlion: A Machine Learning Library for Time Series Table of Contents Introduction Installation Documentation Getting Started Anomaly Detection Foreca

Salesforce 2.8k Dec 30, 2022
Self-supervised learning algorithms provide a way to train Deep Neural Networks in an unsupervised way using contrastive losses

Self-supervised learning Self-supervised learning algorithms provide a way to train Deep Neural Networks in an unsupervised way using contrastive loss

Arijit Das 2 Mar 26, 2022
Official repository for ABC-GAN

ABC-GAN The work represented in this repository is the result of a 14 week semesterthesis on photo-realistic image generation using generative adversa

IgorSusmelj 10 Jun 23, 2022
Object-aware Contrastive Learning for Debiased Scene Representation

Object-aware Contrastive Learning Official PyTorch implementation of "Object-aware Contrastive Learning for Debiased Scene Representation" by Sangwoo

43 Dec 14, 2022
Powerful and efficient Computer Vision Annotation Tool (CVAT)

Computer Vision Annotation Tool (CVAT) CVAT is free, online, interactive video and image annotation tool for computer vision. It is being used by our

OpenVINO Toolkit 8.6k Jan 01, 2023
Jigsaw Rate Severity of Toxic Comments

Jigsaw Rate Severity of Toxic Comments

Guanshuo Xu 66 Nov 30, 2022
A multi-mode modulator for multi-domain few-shot classification (ICCV)

A multi-mode modulator for multi-domain few-shot classification (ICCV)

Yanbin Liu 8 Apr 28, 2022
code for "AttentiveNAS Improving Neural Architecture Search via Attentive Sampling"

code for "AttentiveNAS Improving Neural Architecture Search via Attentive Sampling"

Facebook Research 94 Oct 26, 2022
Modeling CNN layers activity with Gaussian mixture model

GMM-CNN This code package implements the modeling of CNN layers activity with Gaussian mixture model and Inference Graphs visualization technique from

3 Aug 05, 2022
PAWS 🐾 Predicting View-Assignments with Support Samples

This repo provides a PyTorch implementation of PAWS (predicting view assignments with support samples), as described in the paper Semi-Supervised Learning of Visual Features by Non-Parametrically Pre

Facebook Research 437 Dec 23, 2022
PyTorch wrapper for Taichi data-oriented class

Stannum PyTorch wrapper for Taichi data-oriented class PRs are welcomed, please see TODOs. Usage from stannum import Tin import torch data_oriented =

86 Dec 23, 2022
Fuse radar and camera for detection

SAF-FCOS: Spatial Attention Fusion for Obstacle Detection using MmWave Radar and Vision Sensor This project hosts the code for implementing the SAF-FC

ChangShuo 18 Jan 01, 2023
Code for paper: Group-CAM: Group Score-Weighted Visual Explanations for Deep Convolutional Networks

Group-CAM By Zhang, Qinglong and Rao, Lu and Yang, Yubin [State Key Laboratory for Novel Software Technology at Nanjing University] This repo is the o

zhql 98 Nov 16, 2022
Bayesian Generative Adversarial Networks in Tensorflow

Bayesian Generative Adversarial Networks in Tensorflow This repository contains the Tensorflow implementation of the Bayesian GAN by Yunus Saatchi and

Andrew Gordon Wilson 1k Nov 29, 2022
Code Release for the paper "TriBERT: Full-body Human-centric Audio-visual Representation Learning for Visual Sound Separation"

TriBERT This repository contains the code for the NeurIPS 2021 paper titled "TriBERT: Full-body Human-centric Audio-visual Representation Learning for

UBC Computer Vision Group 8 Aug 31, 2022
Arxiv harvester - Poor man's simple harvester for arXiv resources

Poor man's simple harvester for arXiv resources This modest Python script takes

Patrice Lopez 5 Oct 18, 2022
Inverse Optimal Control Adapted to the Noise Characteristics of the Human Sensorimotor System

Inverse Optimal Control Adapted to the Noise Characteristics of the Human Sensorimotor System This repository contains code for the paper Schultheis,

2 Oct 28, 2022
Classification of Long Sequential Data using Circular Dilated Convolutional Neural Networks

Classification of Long Sequential Data using Circular Dilated Convolutional Neural Networks arXiv preprint: https://arxiv.org/abs/2201.02143. Architec

19 Nov 30, 2022
A flexible and extensible framework for gait recognition.

A flexible and extensible framework for gait recognition. You can focus on designing your own models and comparing with state-of-the-arts easily with the help of OpenGait.

Shiqi Yu 335 Dec 22, 2022