Competitive caching with machine learned advice
  Traditional online algorithms encapsulate decision making under uncertainty,
and give ways to hedge against all possible future events, while guaranteeing a
nearly optimal solution as compared to an offline optimum. On the other hand,
machine learning algorithms are in the business of extrapolating patterns found
in the data to predict the future, and usually come with strong guarantees on
the expected generalization error.
  In this work we develop a framework for augmenting online algorithms with a
machine learned oracle to achieve competitive ratios that provably improve upon
unconditional worst case lower bounds when the oracle has low error. Our
approach treats the oracle as a complete black box, and is not dependent on its
inner workings, or the exact distribution of its errors.
  We apply this framework to the traditional caching problem -- creating an
eviction strategy for a cache of size $k$. We demonstrate that naively
following the oracle's recommendations may lead to very poor performance, even
when the average error is quite low. Instead we show how to modify the Marker
algorithm to take into account the oracle's predictions, and prove that this
combined approach achieves a competitive ratio that both (i) decreases as the
oracle's error decreases, and (ii) is always capped by $O(\log k)$, which can
be achieved without any oracle input. We complement our results with an
empirical evaluation of our algorithm on real world datasets, and show that it
performs well empirically even using simple off-the-shelf predictions.
