  Prior works in designing caching policy do not distinguish content popularity
with user preference. In this paper, we illustrate the caching gain by
exploiting individual user behavior in sending requests. After showing the
connection between the two concepts, we provide a model for synthesizing user
preference from content popularity. We then optimize the caching policy with
the knowledge of user preference and active level to maximize the offloading
probability for cache-enabled device-to-device communications, and develop a
low-complexity algorithm to find the solution. In order to learn user
preference, we model the user request behavior resorting to probabilistic
latent semantic analysis, and learn the model parameters by expectation
maximization algorithm. By analyzing a Movielens dataset, we find that the user
preferences are less similar, and the active level and topic preference of each
user change slowly over time. Based on this observation, we introduce a prior
knowledge based learning algorithm for user preference, which can shorten the
learning time. Simulation results show remarkable performance gain of the
caching policy with user preference over existing policy with content
popularity, both with realistic dataset and synthetic data validated by the
real dataset.
