https://lipixun.github.io/posts/bpr/
BPR: Bayesian Personalized Ranking from Implicit Feedback - Simon