As for the loss function and updating the latent vector(parameter) ,
i find it is different implementment in the code and in the pater
in code:
Double BPREngine::loss(const Double scoreDifference) const {
return log(1.0 + exp(-scoreDifference));
}
in paper:
i just paste the rule here:
http://photo27.hexun.com/p/2019/0201/632421/b_vip_11118BF2E45A1C8033DC6DA3576F7A2C.jpg
http://photo27.hexun.com/p/2019/0201/632421/b_vip_11118BF2E45A1C8033DC6DA3576F7A2C.jpg
you can get the rule here
Θ = Θ + α( e^(-Xuij) / (1+ e ^(-Xuij) )........)
As for the loss function and updating the latent vector(parameter) ,
i find it is different implementment in the code and in the pater
in code:
Double BPREngine::loss(const Double scoreDifference) const {
return log(1.0 + exp(-scoreDifference));
}
in paper:
i just paste the rule here:
http://photo27.hexun.com/p/2019/0201/632421/b_vip_11118BF2E45A1C8033DC6DA3576F7A2C.jpg
http://photo27.hexun.com/p/2019/0201/632421/b_vip_11118BF2E45A1C8033DC6DA3576F7A2C.jpg
you can get the rule here
Θ = Θ + α( e^(-Xuij) / (1+ e ^(-Xuij) )........)