Firing Bandits: Optimizing Crowdfunding

Authors: Lalit Jain, Kevin Jamieson

ICML 2018 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental Finally, we present both synthetic experiments and real-world scenarios derived from data on the Kiva platform.
Researcher Affiliation Academia Lalit Jain 1 Kevin Jamieson 1 1Computer Science and Engineering, University of Washington, Seattle, USA. Correspondence to: Lalit Jain <lalitj@cs.washington.edu>, Kevin Jamieson <jamieson@cs.washington.edu>.
Pseudocode Yes Our algorithm FIRINGUCB is presented below. Note that we assume FIRINGUCB and PULL both have access to a global history over all flips. We now describe it at a high level. FIRINGUCB Input: τ, α, K Create brackets {(bk 1, bk]}K k=1 Global Variables: mk : number of coins allocated to bracket k Ak: the set of active policies in (bk 1, bk] Subroutine INITIALIZE(k): Run PULL (k), U 1(α/4, δ) times (see 1 for definition of U). Remove any B with b C(B, U 1(α/4, δ)) > 1 3α/4. UCB Algorithm: for k K: INITIALIZE(k) while True bk argmaxk S max B Ak UCB(B, Tk) Call PULL(k) if max B b K UCB(B, mk) < 2 αb K K K + 1 allocate new bracket (b K 1, b K] Call INITIALIZE(k) PULL Input: bracket k Draw a new coin with mean µ F. B := max{Ak} Execute πB: Let {Xi}m i=1 be a sequence of m B flips, where the flipping is stopped early if there are τ success and the coin fires. mk mk + 1 Update: for each active policy B in Ak Evaluate policy B using {Xi}B i=1. Update b C(B , mk), b N(B , mk), bρ(B , mk) Eliminate: Let LCB = max B Ak LCB(B, mk, δ) for B Ak if UCB(B, mk, δ) < LCB Ak Ak {B}
Open Source Code No The paper does not include any explicit statement about releasing source code or a link to a code repository.
Open Datasets No The paper mentions using a 'synthetic example using F1 = Beta(1/20, 1) as the reservoir distribution' and a distribution 'derived from actual page click data arising from the search page of the microloan crowdfunding site Kiva (www.kiva.org)'. However, it does not provide concrete access information (link, DOI, formal citation with authors/year) for the specific derived Kiva dataset used in the experiments, only the source website.
Dataset Splits No The paper describes running experiments with a budget and repetitions, but it does not specify explicit training, validation, or test dataset splits.
Hardware Specification No The paper does not provide any specific details about the hardware (e.g., CPU, GPU models, memory) used for running the experiments.
Software Dependencies No The paper mentions 'UCB (we used the anytime formulation given in (Abbasi-Yadkori et al., 2011))' which is a reference to an algorithm, not a specific software library or dependency with a version number. No other software versions are mentioned.
Experiment Setup Yes In both cases, we supplied each algorithm with a budget of 5 × 10^6 total flips over all coins considered, and we considered 50 repetitions of each algorithm with 95% confidence intervals plotted using a normal approximation. ... For a fixed value of k, NAIVEUCB-k maintains a pool of k coins. ... For F1 = Beta(1/20, 1) as the reservoir distribution, and τ1 = 10. ... We used this empirical distribution as our reservoir distribution and took τ = 25. ... The first is a natural modification of FIRINGUCB we call FIRINGBANDITSTHRESHOLD: instead of waiting for a budget B before rejecting a coin that does not convert, we monitor the empirical mean bµk after k flips and stop sampling at flip min{k ≤ B : k d(bµk, τ/B) log(1/δ)} (marking it as not converting in B flips) where d( , ) is the KL divergence of two Bernoullis and δ = .05.