Learning to Cache: Federated Caching in a Cellular Network with Correlated Demands