tensorflow / ranking

Learning to Rank in TensorFlow
Apache License 2.0
2.74k stars 475 forks source link

The EM algorithm #66

Closed vdv1g16 closed 5 years ago

vdv1g16 commented 5 years ago

In the paper The LambdaLoss Framework for Ranking Metric Optimization, the loss is optimized by EM algorithm. However, I don't see the EM algorithm anywhere in the tf ranking code. Please explain. Many thanks

xuanhuiwang commented 5 years ago

In TensorFlow, we have minibatches and the EM is very much approximated in our library.

Before each minibatch we have the old parameter \Theta. It is used to compute the scores and ranks for the minibatch. Then we compute the losses for the minibatch. The optimization of the loss is done by the mini-batch gradient descent and back propagation. After the back propagation, we have a new \Theta.

This is different from the standard EM and in some sense, it is a stochastic version of Generalized EM.