Comments (4)
Hi, the function loss
just gives you the loss for a given triplet, which in this case is given by the negative log-likelihood according to the BPR model. What you're showing in the image corresponds to gradient updates, which you can find in the BPREngine::update
function (see https://github.com/quora/qmf/blob/master/qmf/bpr/BPREngine.cpp#L178).
Hope this helps,
Alberto
from qmf.
Thanks very much Alberto.
And I just made a mistake, what i want to say is the lossderitive in the training presss,which is
https://github.com/quora/qmf/blob/master/qmf/bpr/BPREngine.cpp#L243
https://github.com/quora/qmf/blob/master/qmf/bpr/BPREngine.cpp#L183
just as you mentioned in the update function.
however the lossDerivative is not the same as the highlight part in the picture:
http://photo27.hexun.com/p/2019/0201/632421/b_vip_11118BF2E45A1C8033DC6DA3576F7A2C.jpg
i wonder whether we should use this expression:
1.0 / (1.0 + exp(scoreDifference))
or this expression:
exp(-scoreDifference) / (1.0 + exp(-scoreDifference)); (and it is the same as: e^(-Xuij) / (1+ e ^(-Xuij) ) )
to calculate the loss deritive?
from qmf.
Those two expressions are in fact equal :)
from qmf.
Got it, Thanks very much Alberto.
from qmf.
Related Issues (20)
- Question - how to get final recommendations for each user? HOT 2
- train/test infinite loss HOT 5
- Install on mac HOT 6
- How to install on Centos7
- Shall I use cosine or dot product to calculate the similarity between user & item? HOT 11
- performance of bpr HOT 7
- MovieLens performance HOT 3
- Filtering train set in `test_avg_metrics` HOT 5
- is the evalset_ and the step of evaluate(epoch); necessary if we dont care the loss rate for the online envitoment ? HOT 6
- Can I combine bpr (for offline long term static behavior) with als (near line for short time (mini batch) incremental dynamic behavior)?
- How can I make bpr to surpport "Time Travelling"
- has anyone met the question about dsytrs_? HOT 5
- is the returan value this function( Matrix WALSEngine::computeXtX(const Matrix& X) ) to get the transpose matrix of the original matrix? HOT 5
- the loss is inf
- when iterating, it always needs to initialize the left factor to 0? HOT 3
- Is there plans to support distribute training by multi-machine?
- error when making HOT 2
- Is eval_num_neg implemented? HOT 5
- Create a Release
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qmf.