-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Strange scoring method in LFI #99
Comments
You are right. Here is the intuition behind |
In the parameter learning code (https://github.com/ML-KULeuven/problog/blob/master/problog/learning/lfi.py), I noticed something strange in the method
_update
employed to update the weights. In the first part of the method (lines 849 - 872), ascore
scalar is computed based on the log-probabilities of the evidence. So far, so good, it seems in line with an EM-based learning method.However, further down in the same method, this score is reset to 0 (line 886), and is recomputed based on the sum of the log-probabilities of the weights, meaning that a low score will be achieved if the rule weights are low. Which does not make sense to me: the loss should be computed based on the likelihood of the evidence (as done above), not on the values of the tunable weights. And a ProbLog program that ends up with high weights for its probabilistic facts should not have a higher loss than a one with lower weights.
Or maybe did I misunderstand what this method is doing?
The text was updated successfully, but these errors were encountered: