Fix bugs with gradient, negative sampling
test bpr