On 22/02/2010 13:49, Sean Owen wrote:
Could you elaborate on your example? It's quite possible for an item
with an average rating of 2.5 to be a better recommendation for a user
than one whose average is 3.5 -- depends on the user of course.

If I take all the items with an average rating of less than 2.5, and calculate the probability that they will be get the highest score for each user (ie ranked first), I get higher probability
than for items that have an average rating of 3.5.

In what sense does the weighted average bias to the mean -- how does
the choice of weights have this effect? You can't use similarity
scores as weights directly since they're possibly negative, so
something must be done, and I don't know of a standard answer to this.
I'm open to a different way of patching this problem, but first want
to understand where the bias is.

I think the reason why it is biased is that in item-based recommendation most of the time you can find some kind of correlation between any given items. and even it is negatively correlated you take it into account towards the score. For example if I take 4 items rated 1,1,5,5 by the user and the correlation between the target item is 1,1,0,0 respectively, I get 2 using
your calculation and 1 using the standard one as follows:

preference += theSimilarity * prefs.getValue(i);
totalSimilarity += Math.abs(theSimilarity);
score = preference / totalSimilarity;

Tamas

Reply via email to