-
Notifications
You must be signed in to change notification settings - Fork 232
Description
Hi everyone,
I've been looking for where message 7 (m⁎->s as labelled in the Matchbox paper [1] factor graph) is implemented in the infer.net code, but I can't seem to find it. As a study excercise, me and @glandfried have been trying to implement the collaborative filtering version of the Matchbox recommender algorithm, as described in the Matchbox paper. We have been able to implement almost everything. However, our implementation of approximate message 7 differs greatly from the exact version of the message, the bimodal one. In contrast, we had no issues with the approximate message 2.
If anyone could help me find the infer.net implementation of the message so we can compare I would appreciate it. So far I could only find approximate message 2 (m⁎->z) at
infer/src/Runtime/Factors/Product.cs#ProductAverageLogarithm
.
As a reminder, I copy here the factor graph,
and the approximation equations (approximate messages 2 and 7 respectively),
From the original Matchbox paper. I interpret this as,
(μt and σ2t denote the mean and variance of the (Gaussian) marginal distribution p(t). μz ->⁎ σ2z ->⁎ denote the mean and variance of message 6).
It would also be nice to get a hint to derive the approximations for 2 and 7 on our own (or a reference).
Thanks in advance!
[1] Matchbox Paper: https://www.microsoft.com/en-us/research/publication/matchbox-large-scale-bayesian-recommendations/