  Session based recommendation provides an attractive alternative to the
traditional feature engineering approach to recommendation. Feature engineering
approaches require hand tuned features of the users history to be created to
produce a context vector. In contrast a session based approach is able to
dynamically model the users state as they act. We present a probabilistic
framework for session based recommendation. A latent variable for the user
state is updated as the user views more items and we learn more about their
interests. The latent variable model is conceptually simple and elegant; yet
requires sophisticated computational technique to approximate the integral over
the latent variable. We provide computational solutions using both the
re-parameterization trick and also using the Bouchard bound for the softmax
function, we further explore employing a variational auto-encoder and a
variational Expectation-Maximization algorithm for tightening the variational
bound. The model performs well against a number of baselines. The intuitive
nature of the model allows an elegant formulation combining correlations
between items and their popularity and that sheds light on other popular
recommendation methods. An attractive feature of the latent variable approach
is that, as the user continues to act, the posterior on the user's state
tightens reflecting the recommender system's increased knowledge about that
user.
