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