  The standard objective in machine learning is to train a single model for all
users. However, in many learning scenarios, such as cloud computing and
federated learning, it is possible to learn a personalized model per user. In
this work, we present a systematic learning-theoretic study of personalization.
We propose and analyze three approaches: user clustering, data interpolation,
and model interpolation. For all three approaches, we provide
learning-theoretic guarantees and efficient algorithms for which we also
demonstrate the performance empirically. All of our algorithms are
model-agnostic and work for any hypothesis class.
