Skip to content

Code for Asynchronous Upper Confidence Bound Algorithms for Federated Linear Bandits, AISTATS 2022

Notifications You must be signed in to change notification settings

cyrilli/Async-LinUCB

Repository files navigation

Code for "Asynchronous Upper Confidence Bound Algorithms for Federated Linear Bandits"

This repository contains implementation of the proposed algorithms Async-LinUCB, Async-LinUCB-AM, and baseline algorithm Sync-LinUCB for comparison. For experiments on the synthetic dataset, run:

python SimulationHomogeneousClients.py --T 50000 --N 1000  # simulate homogeneous clients
python SimulationHeterogeneousClients.py --T 50000 --N 1000 --globaldim 16  # simulate heterogeneous clients

Experiment results can be found in "./SimulationResults/" folder, which contains:

  • "regretAndcommCost_[startTime].png": plot of accumulated regret / communication cost over time for each algorithm
  • "AccRegret_[startTime].csv": regret at each iteration for each algorithm
  • "AccCommCost_[startTime].csv": communication cost at each iteration for each algorithm
  • "ParameterEstimation_[startTime].csv": l2 norm between estimated and ground-truth parameter at each iteration for each algorithm

For experiments on realworld dataset, e.g. LastFM, Delicious, MovieLens,

  • First download these publicly available data into Dataset folder
  • Then process the dataset following instructions in the appendix of the paper, which would generate the item feature vector file and the event file. Example scripts for processing data are given in Dataset folder.
  • Run experiments using the provided python script, e.g. python SimulationRealworldData.py --dataset LastFM

About

Code for Asynchronous Upper Confidence Bound Algorithms for Federated Linear Bandits, AISTATS 2022

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages